Swift : Object Storage Service (오브젝트 스토리지 서비스)
✋ Prerequisties .
스토리지 노드 생성 후
오픈스택 기본 환경설정 구성 필요 (or swift 패키지 다운로드 불가능)
스토리지 노드 생성 절차 (feat. VM workstation)
1. 가상머신 생성 (1 CPU, HDD 40GB, RAM 2GB)
2. NIC 은 외부용(yum install 하기 위해 일시적), 내부용 총 2개
3. 생성 후 POWER OFF
4. EDIT 를 통해 가상머신에 NEW HDD(20GB) 새로 붙이기
(사족: 두 개 붙인채로 만들면 모두 파티션된 상태로 추가되어 손 쓰기 어려웠음, MKFS.XFS busy 오류만..)
5. 가상 머신 RESUME
🟢 스토리지 노드 초기 구성
# yum -y install xfsprogs
# fdisk -l // 추가된 새 디스크 확인
# mkfs.xfs /dev/sdb // 디스크 포맷
# mkdir -p /srv/node/sdb // 마운트 포인터 생성
# blkid // 디바이스 UUID 번호 확인
# vi /etc/fstab // 아래 내용을 추가하여 마운트 정보 영구 적용하기
UUID="[확인한 디바이스 uuid 번호]" /srv/node/sdb xfs noatime 0 2
# mount /srv/node/sdb
# vi /etc/rsyncd.conf // 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
🟢 rsyncd.service 활성화 및 실행 :
# systemctl enable rsyncd.service
# systemctl start rsyncd.service
🟢 스토리지 노드의 오픈스택 초기 구성 :
# yum -y install chrony
# echo "server [컨트롤러 노드의 관리용 ip] iburst" >> /etc/chrony.conf
# systemctl enable chronyd.service
# systemctl start chronyd.service
# yum -y install centos-release-openstack-rocky
# yum -y install python-openstackclient
# yum -y install openstack-selinux
# yum -y upgrade
# vi /etc/hosts 수정 // 스토리지 노드명 추가
🔨 구성요소 설치
🟢 관련 패키지 설치 :
# yum -y install openstack-swift-account openstack-swift-container openstack-swift-object
🟢 각 소스 저장소로부터 설정 파일 다운 :
# curl -o /etc/swift/account-server.conf https://opendev.org/openstack/swift/raw/branch/master/etc/account-server.conf-sample
# curl -o /etc/swift/container-server.conf https://opendev.org/openstack/swift/raw/branch/master/etc/container-server.conf-sample
# curl -o /etc/swift/object-server.conf https://opendev.org/openstack/swift/raw/branch/master/etc/object-server.conf-sample
🟢 account-server 설정 파일 수정 :
# vi /etc/swift/account-server.conf
[DEFAULT]
bind_ip = [스토리지 노드의 관리용 IP]
bind_port = 6202
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = True
[pipeline:main] //모듈 활성화
pipeline = healthcheck recon account-server
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
🟢 container-server 설정 파일 수정 :
# vi /etc/swift/container-server.conf
[DEFAULT]
bind_ip = [스토리지 노드의 관리용 IP]
bind_port = 6201
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = True
[pipeline:main]
pipeline = healthcheck recon container-server
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
🟢 object-server 설정 파일 수정 :
# vi /etc/swift/object-server.conf
[DEFAULT]
bind_ip = [스토리지 노드의 관리용 IP]
bind_port = 62020
user = swift
swift_dir = /etc/swift
devices = /srv/node
mount_check = True
[pipeline:main]
pipeline = healthcheck recon object-server
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock
🟢 마운트 포인터 디렉토리에 대한 소유권 설정 :
# 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
'자기발전소 > # Manually Install OpenStack' 카테고리의 다른 글
Openstack Cinder on Centos (Rocky) 1 [Controller Node] (0) | 2020.09.25 |
---|---|
Openstack Swift on Centos (Rocky) 3 [Ring] (1) | 2020.08.23 |
Openstack Swift on Centos (Rocky) 1 [Controller Node] (0) | 2020.08.22 |
Openstack Horizon on Centos (Rocky) (0) | 2020.08.22 |
Openstack Neutron on Centos (Rocky) 2 [Compute Node] (0) | 2020.08.22 |