오브젝트 스토리지 서비스 ( swift ) 3. 스토리지 노드 설치 및 구성
페이지 정보
작성자 jkchoi 작성일 21-11-18 11:06 조회 4,826 댓글 0본문
전제 조건
- 스토리지 노드에 Object Storage 서비스를 설치 및 구성하기 전에 스토리지 장치를 준비해야 합니다.
1. 지원 유틸리티 패키지를 설치합니다.
# yum 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
- MANAGEMENT_INTERFACE_IP_ADDRESS를 스토리지 노드에 있는 관리 네트워크의 IP 주소로 바꿉니다.
- rsync 서비스는 인증이 필요하지 않으므로 프로덕션 환경의 사설 네트워크에서 실행하는 것이 좋습니다.
7. rsyncd 서비스를 시작하고 시스템이 부팅될 때 시작하도록 구성합니다.
# systemctl enable rsyncd.service
# systemctl start rsyncd.service
구성 요소 설치 및 구성
- 각 스토리지 노드에서 다음 단계를 수행합니다.
1. 패키지 설치
# yum install openstack-swift-account openstack-swift-container \
openstack-swift-object
2. Object Storage 소스 리포지토리에서 계정, 컨테이너 및 개체 서비스 구성 파일을 가져옵니다.
# curl -o /etc/swift/account-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/newton
# curl -o /etc/swift/container-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/newton
# curl -o /etc/swift/object-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/newton
3. /etc/swift/account-server.conf파일을 편집하고 다음 작업을 완료합니다.
1) [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 주소로 바꿉니다.
2) [pipeline:main] 섹션에서 적절한 모듈을 활성화합니다.
[pipeline:main]
pipeline = healthcheck recon account-server
3) [filter:recon] 섹션에서 recon(meters) 캐시 디렉터리를 구성합니다.
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
4. /etc/swift/container-server.conf파일을 편집하고 다음 작업을 완료합니다.
1) [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 주소로 바꿉니다.
2) [pipeline:main] 섹션에서 적절한 모듈을 활성화합니다.
[pipeline:main]
pipeline = healthcheck recon container-server
3) [filter:recon] 섹션에서 recon(meters) 캐시 디렉터리를 구성합니다.
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
5. /etc/swift/object-server.conf파일을 편집하고 다음 작업을 완료합니다.
1) [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 주소로 바꿉니다.
2) [pipeline:main] 섹션에서 적절한 모듈을 활성화합니다.
[pipeline:main]
pipeline = healthcheck recon object-server
3) [filter:recon] 섹션에서 recon(meters) 캐시 및 잠금 디렉터리를 구성합니다.
[filter:recon]
use = egg:swift#recon
...
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock
6. 마운트 지점 디렉토리 구조의 적절한 소유권을 확인하십시오.
# chown -R swift:swift /srv/node
7. recon 디렉터리를 만들고 적절한 소유권을 확인합니다.
# mkdir -p /var/cache/swift
# chown -R root:swift /var/cache/swift
# chmod -R 775 /var/cache/swift
댓글목록 0
등록된 댓글이 없습니다.