3.3. Red Hat Enterprise Linux용 스토리지 노드 설치 및 구성
외부 스토리지 노드에서 Red Hat OpenStack Platform Object Storage 서비스(swift)를 사용하려면 계정, 컨테이너 및 오브젝트 서비스 프로세스를 작동하는 스토리지 노드를 설치하고 구성해야 합니다. 이 구성은 두 개의 스토리지 노드를 참조하며, 각각 두 개의 빈 로컬 블록 스토리지 장치가 포함되어 있습니다.
오브젝트 스토리지 서비스의 내부 네트워크는 인증되지 않습니다. 보안상의 이유로 전용 네트워크 또는 VLAN에 스토리지 노드를 유지하는 것이 좋습니다.
지침에서는 /dev/sdb
및 /dev/sdc
를 장치 이름으로 사용하지만 해당 환경의 특정 노드의 값을 대체할 수 있습니다.
3.3.1. 스토리지 장치 준비
스토리지 노드에 오브젝트 스토리지 서비스를 설치하고 구성하기 전에 스토리지 장치를 준비해야 합니다.
각 스토리지 노드에서 다음 단계를 모두 수행합니다.
절차
지원 유틸리티 패키지를 설치합니다.
# yum install xfsprogs rsync
/dev/sdb
및/dev/sdc
장치를 XFS로 포맷합니다.# mkfs.xfs /dev/sdb # mkfs.xfs /dev/sdc
마운트 지점 디렉토리 구조를 생성합니다.
# mkdir -p /srv/node/sdb # mkdir -p /srv/node/sdc
/etc/fstab
파일을 편집하여 다음 데이터를 추가합니다./dev/sdb /srv/node/sdb xfs defaults 0 2 /dev/sdc /srv/node/sdc xfs defaults 0 2
장치를 마운트합니다.
# mount /srv/node/sdb # mount /srv/node/sdc
다음 데이터를 포함하도록
/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
MANAGEMENT_INTERFACE_IP_ADDRESS 를 스토리지 노드에 있는 관리 네트워크의 IP 주소로 바꿉니다.
rsyncd
서비스를 시작하고 시스템이 부팅될 때 시작되도록 구성합니다.# systemctl enable rsyncd.service # systemctl start rsyncd.service
3.3.2. 구성 요소 구성
계정, 컨테이너 및 오브젝트 스토리지 서버를 구성합니다.
절차
패키지를 설치합니다.
# yum install openstack-swift-account openstack-swift-container \ openstack-swift-object
/etc/swift/account-server.conf
파일을 편집하고 다음 작업을 완료합니다.[DEFAULT]
섹션에서 바인딩 IP 주소, 바인드 포트, 사용자, 구성 디렉터리, 마운트 지점 디렉터리를 구성합니다.[DEFAULT] ... bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS bind_port = 6202 user = swift swift_dir = /etc/swift devices = /srv/node mount_check = True
MANAGEMENT_INTERFACE_IP_ADDRESS 를 스토리지 노드에 있는 관리 네트워크의 IP 주소로 바꿉니다.
[pipeline:main]
섹션에서healthcheck
및recon
모듈을 활성화합니다.[pipeline:main] pipeline = healthcheck recon account-server
[filter:recon]
섹션에서 Recon cache 디렉터리를 구성합니다.[filter:recon] use = egg:swift#recon ... recon_cache_path = /var/cache/swift
계정 서비스의 기본 방화벽 포트를 엽니다.
# firewall-cmd --permanent --add-port=6202/tcp
/etc/swift/container-server.conf
파일을 편집하고 다음 작업을 완료합니다.[DEFAULT]
섹션에서 바인딩 IP 주소, 바인드 포트, 사용자, 구성 디렉터리, 마운트 지점 디렉터리를 구성합니다.[DEFAULT] ... bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS bind_port = 6201 user = swift swift_dir = /etc/swift devices = /srv/node mount_check = True
MANAGEMENT_INTERFACE_IP_ADDRESS 를 스토리지 노드에 있는 관리 네트워크의 IP 주소로 바꿉니다.
[pipeline:main]
섹션에서healthcheck
및recon
모듈을 활성화합니다.[pipeline:main] pipeline = healthcheck recon container-server
[filter:recon]
섹션에서 Recon cache 디렉터리를 구성합니다.[filter:recon] use = egg:swift#recon ... recon_cache_path = /var/cache/swift
컨테이너 서비스의 기본 방화벽 포트를 엽니다.
# firewall-cmd --permanent --add-port=6201/tcp
/etc/swift/object-server.conf
파일을 편집하고 다음 작업을 완료합니다.[DEFAULT]
섹션에서 바인딩 IP 주소, 바인드 포트, 사용자, 구성 디렉터리, 마운트 지점 디렉터리를 구성합니다.[DEFAULT] ... bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS bind_port = 6200 user = swift swift_dir = /etc/swift devices = /srv/node mount_check = True
MANAGEMENT_INTERFACE_IP_ADDRESS 를 스토리지 노드에 있는 관리 네트워크의 IP 주소로 바꿉니다.
[pipeline:main]
섹션에서healthcheck
및recon
모듈을 활성화합니다.[pipeline:main] pipeline = healthcheck recon object-server
[filter:recon]
섹션에서recon_cache_path
및recon_lock_path
디렉터리를 구성합니다.[filter:recon] use = egg:swift#recon ... recon_cache_path = /var/cache/swift recon_lock_path = /var/lock
오브젝트 서비스의 기본 방화벽 포트를 엽니다.
# firewall-cmd --permanent --add-port=6200/tcp
마운트 지점 디렉터리 구조의 소유권이 올바른지 확인합니다.
# chown -R swift:swift /srv/node
recon
디렉토리를 만들고 적절한 소유권을 확인합니다.# mkdir -p /var/cache/swift # chown -R root:swift /var/cache/swift # chmod -R 775 /var/cache/swift