Storage 노드 설치와 구성

Storage 노드 설치와 구성

이 섹션에서는 계정, 컨테이너, 오브젝트 서비스를 운영하는 스토리지 노드를 설치dhk 구성하는 방법을 설명합니다. 간략화하여 이 구성에서는 두 개의 스토리지를 가리키며, 각각은 두 개의 비어있는 로컬 블록 스토리지 장치를 포함합니다. 이 안내에서는 /dev/sdb/dev/sdc 를 사용하지만, 특정 노드에서는 다른 값으로 대체할 수 있습니다.

비록 오브젝트 스토리지가 extended attributes (xattr) 에 기반한 파일 시스템을 지원하지만, 테스팅 및 벤치마킹에 따르면 XFS 에서 최상의 성능rhk 안정성을 발휘한다고 알려져 있습니다. 대상 환경에서의 수평적 확장에 대한 자세한 정보는 Deployment Guide 를 참고합니다.

선행조건

스토리지 로드에서 서비스될 오브젝트 스토리지를 설치하고 설정하기 전에 반드시 스토리지 디바이스를 준비해야 합니다.

주석

이 절차를 각 스토리지 노드에서 수행하세요.

  1. 지원 유틸리티 패키지을 설치합니다:

    # zypper install xfsprogs rsync
    
  2. /dev/sdb/dev/sdc 장비를 XFS로 포맷:

    # mkfs.xfs /dev/sdb
    # mkfs.xfs /dev/sdc
    
  3. 마운트 포인트 디렉토리 구조 생성:

    # mkdir -p /srv/node/sdb
    # mkdir -p /srv/node/sdc
    
  4. /etc/fstab 파일을 수정하고 다음 내용을 추가합니다:

    /dev/sdb /srv/node/sdb xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
    /dev/sdc /srv/node/sdc xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
    
  5. 장치를 마운트합니다:

    # mount /srv/node/sdb
    # mount /srv/node/sdc
    
  6. /etc/rsyncd.conf 파일을 수정하고 다음 내용을 추가합니다:

    uid = swift
    gid = swift
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    address = MANAGEMENT_INTERFACE_IP_ADDRESS
    
    [account]
    max connections = 2
    path = /srv/node/
    read only = false
    lock file = /var/lock/account.lock
    
    [container]
    max connections = 2
    path = /srv/node/
    read only = false
    lock file = /var/lock/container.lock
    
    [object]
    max connections = 2
    path = /srv/node/
    read only = false
    lock file = /var/lock/object.lock
    

    스토리지 노드상의 관리 네트워크 IP 주소를 MANAGEMENT_INTERFACE_IP_ADDRESS 에 작성합니다.

    주석

    rsync 서비스는 인증을 필요로 하지 않습니다. 따라서 Production 환경에서는 사설 네트워크 상에서 실행하는 것을 고려하십시오.

  1. rsyncd 서비스 시작하고 시스템 부팅시 시작하도록 구성합니다:

    # systemctl enable rsyncd.service
    # systemctl start rsyncd.service
    

구성요소 설치와 구성

주석

디폴트 구성 파일을 배포판에 따라 달라집니다. 기존 섹션 및 옵션을 변경하는 것 보다는 해당 섹션과 옵션을 추가해야 할 수도 있습니다. 또한 구성 내용 조각 중 생략 (...) 부분은 유지될 필요성이 있는 디폴트 구성 옵션을 가리킵니다.

주석

이 절차를 각 스토리지 노드에서 수행하세요.

  1. 패키지를 설치하십시오:

    # zypper install openstack-swift-account \
      openstack-swift-container openstack-swift-object python-xml
    
  1. /etc/swift/account-server.conf 파일을 수정하고 다음 작업을 완료합니다:

    • [DEFAULT] 섹션에서 bind IP 주소, bind 포트, 사용자, 구성 디렉토리, 마운트 포인트 디렉토리를 구성합니다:

      [DEFAULT]
      ...
      bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      bind_port = 6002
      user = swift
      swift_dir = /etc/swift
      devices = /srv/node
      mount_check = true
      

      스토리지 노드상의 관리 네트워크 IP 주소를 MANAGEMENT_INTERFACE_IP_ADDRESS 에 작성합니다.

    • [pipeline:mail] 섹션에서 적절한 모듈을 활성화 시킵니다:

      [pipeline:main]
      pipeline = healthcheck recon account-server
      

      주석

      다른 모듈에 대한 자세한 정보와 추가 기능에 대해서는 Deployment Guide 를 확인하면 됩니다.

    • [filter:recon] 섹션에서 recon (meters) 캐시 디렉토리 구성:

      [filter:recon]
      use = egg:swift#recon
      ...
      recon_cache_path = /var/cache/swift
      
  2. /etc/swift/container-server.conf 파일 수정하고 다음 행동 진행:

    • [DEFAULT] 섹션에서 bind IP 주소, bind 포트, 사용자, 구성 디렉토리, 마운트 포인트 디렉토리를 구성합니다:

      [DEFAULT]
      ...
      bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      bind_port = 6001
      user = swift
      swift_dir = /etc/swift
      devices = /srv/node
      mount_check = true
      

      스토리지 노드상의 관리 네트워크 IP 주소를 MANAGEMENT_INTERFACE_IP_ADDRESS 에 작성합니다.

    • [pipeline:mail] 섹션에서 적절한 모듈을 활성화 시킵니다:

      [pipeline:main]
      pipeline = healthcheck recon container-server
      

      주석

      다른 모듈에 대한 자세한 정보와 추가 기능에 대해서는 Deployment Guide 를 확인하면 됩니다.

    • [filter:recon] 섹션에서 recon (meters) 캐시 디렉토리 구성:

      [filter:recon]
      use = egg:swift#recon
      ...
      recon_cache_path = /var/cache/swift
      
  3. /etc/swift/object-server.conf 파일을 수정하고 다음 행동 진행:

    • [DEFAULT] 섹션에서 bind IP 주소, bind 포트, 사용자, 구성 디렉토리, 마운트 포인트 디렉토리를 구성합니다:

      [DEFAULT]
      ...
      bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      bind_port = 6000
      user = swift
      swift_dir = /etc/swift
      devices = /srv/node
      mount_check = true
      

      스토리지 노드상의 관리 네트워크 IP 주소를 MANAGEMENT_INTERFACE_IP_ADDRESS 에 작성합니다.

    • [pipeline:mail] 섹션에서 적절한 모듈을 활성화 시킵니다:

      [pipeline:main]
      pipeline = healthcheck recon object-server
      

      주석

      다른 모듈에 대한 자세한 정보와 추가 기능에 대해서는 Deployment Guide 를 확인하면 됩니다.

    • [filter:recon] 섹션에서 recon (meters) 캐시와 lock 디렉토리 구성:

      [filter:recon]
      use = egg:swift#recon
      ...
      recon_cache_path = /var/cache/swift
      recon_lock_path = /var/lock
      
  4. 마운트 지점 디렉토리 구조에 대해 적절한 소유권을 부여합니다:

    # chown -R root:swift /srv/node
    
  5. recon 디렉토리를 생성한 후 적절한 소유권을 부여합니다:

    # mkdir -p /var/cache/swift
    # chown -R root:swift /var/cache/swift
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.