티스토리 뷰

안녕하세요~!!


오늘로 서비스가 가능한 오픈스택 설치편을 마무리하였습니다. 

이번 포스팅에서 준비한 내용은 오브젝트 스토리지 서비스인 Swift의 스토리지 서버를 설치와 텔레미터 서비스인 Ceilometer의 컴퓨트 노드 에이전트 설치 부분입니다.


그럼, 지금부터 시작해 보겠습니다.


Swift Storage 서버 설치

SwiftNova와 함께 설치할 수도 있지만 별로도 분리하여 Swift만 설치할 수도 있습니다. 그러나 여기서는 컴퓨트 노드에 함께 설치해서 테스트하겠습니다.

 

1.     우선 /etc 밑에 swift 디렉터리를 생성합니다.

$ sudo mkdir -p /etc/swift

 

2.     컨트롤러 노드의 /etc/swift/swift.conf의 랜덤 문자열을 복사해서 똑같이 /etc/swift/swift.conf 파일에 붙여 넣습니다.

$ sudo vi /etc/swift/swift.conf
[swift-hash]
# random unique string that can never change (DO NOT LOSE)
swift_hash_path_suffix = fLIbertYgibbitZ

 

3.     Swift Account 서버, Container 서버, Object 서버, 파일 포맷을 위한 xfsprogs, swift 연결을 위한 swiftclient, Keystone 인증을 위한 keystoneclient를 설치합니다.

$ sudo apt-get install swift swift-account swift-container swift-object xfsprogs python-swiftclient \n

python-keystoneclient

 

4.     xfs 볼륨을 다음과 같이 생성합니다.

$ sudo fdisk /dev/sdb

 

Command (m for help): n

Partition type:

   p   primary (1 primary, 1 extended, 2 free)

   l   logical (numbered from 5)

Select (default p): p

Partition number (1-4, default 3):

Using default value 3

First sector (0-488397167, default 0):

Using default value 0

Last sector, +sectors or +size{K,M,G} (488397167-488397167, default 488397167):

Using default value 488397167

 

Command (m for help): w


5.     xfs 볼륨 생성이 완료되면 다음과 같이 볼륨을 마운트합니다.

$ sudo mkfs.xfs /dev/sdb1
$ sudo echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab
$ sudo mkdir -p /srv/node/sdb1
$ sudo mount /srv/node/sdb1
$ sudo chown -R swift:swift /srv/node

 

6.     이번에는 /etc/rsyncd.conf 파일을 생성하고 다음과 같이 입력해서 저장합니다.

$ sudo vi /etc/rsyncd.conf
uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = 10.10.15.31
 
[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


7.     /etc/default/rsync 파일을 다음과 같이 수정합니다.

$ sudo vi /etc/default/rsync
RSYNC_ENABLE=true

 

8.     Rsync 데몬을 시작합니다.

$ sudo service rsync start

 

9.     Swift recon 디렉토리를 생성하고 권한을 부여합니다.

$ sudo mkdir -p /var/swift/recon
$ sudo chown -R swift:swift /var/swift/recon

 

10.  Swift Proxy 서버에 만들어 놓은 ring.gz 파일을 /etc/swift 디렉터리로 복사해 옵니다.

$ scp swift@10.10.15.11:/etc/swift/*.ring.gz /etc/swift

 

11.  마지막으로 swift 서비스들을 시작합니다.

$ for service in \
  swift-object swift-object-replicator swift-object-updater swift-object-auditor \
  swift-container swift-container-replicator swift-container-updater \
  swift-container-auditor swift-account swift-account-replicator 
  swift-account-reaper swift-account-auditor; do \
service $service start; done



Ceilometer 컴퓨트 에이전트 설치

컨트롤러 노드에 Ceilometer 서버를 설치했다면 컴퓨트 노드에 Ceilometer 컴퓨트 에이전트를 설치해야 합니다.

 

1.     Ceilometer-agent-compute를 설치합니다.

$ sudo apt-get install ceilometer-agent-compute

 

2.     Ceilometer가 설치되면 /etc/nova/nova.conf를 열어 다음과 같이 ceilometer를 사용할 것이라고 설정합니다. 설정 내용은 시간 단위로 인스턴스의 상태를 체크해서 상태 값이 변경되었을 때 알려준다는 뜻입니다.

$ sudo vi /etc/nova/nova.conf
[DEFAULT]
...
instance_usage_audit = True
instance_usage_audit_period = hour
notify_on_state_change = vm_and_task_state
notification_driver = nova.openstack.common.notifier.rpc_notifier
notification_driver = ceilometer.compute.nova_notifier

 

3.     Nova.conf 파일 설정이 끝났으면 nova-compute를 재시작합니다.

$ sudo service nova-compute restart
nova-compute stop/waiting
nova-compute start/running, process 24447

 

4.     이번에는 /etc/ceilometer/ceilometer.conf 파일을 다음과 같이 수정합니다. Ceilometer.conf 파일에 RabbitMQ 정보, Keystone 정보가 포함됩니다.

$ sudo vi /etc/ceilometer/ceilometer.conf
[publisher]
# Secret value for signing metering messages (string value)
metering_secret = 115ca7336ad88e5c64a8 #CEILOMETER_TOKEN
[DEFAULT]
rabbit_host = 10.10.15.11
rabbit_password = rabbitpass
log_dir = /var/log/ceilometer
[keystone_authtoken]
auth_host =10.10.15.11
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = ceilometer
admin_password = ceilometerpass
[service_credentials]
os_auth_url = http://10.10.15.11:5000/v2.0
os_username = ceilometer
os_tenant_name = service
os_password = ceilometerpass

 

5.     이제 ceilometer 서비스를 재시작합니다.

$ sudo service ceilometer-agent-compute restart
ceilometer-agent-compute stop/waiting
ceilometer-agent-compute start/running, process 24490



이렇게해서 서비스가 가능한 한마디로 말해서 시스템이 재부팅되어도 서비스의 재시작 없이 계속 오픈스택 서비스를 사용할 수 있는 오픈스택 설치를 해 보았습니다.


다음 포스팅에서부터는 레드햇 계열인 CentOS에서 오픈스택을 설치해 보도록 하겠습니다. 그럼, 다음시간에 다시 만나요~!! 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함