ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 서비스가 가능한 오픈스택 설치12편 - 컴퓨트 노드 설치3
    openstack 2014. 12. 23. 09:16
    728x90

    안녕하세요~!!


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

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


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


    Swift Storage 서버 설치

    Swift는 Nova와 함께 설치할 수도 있지만 별로도 분리하여 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에서 오픈스택을 설치해 보도록 하겠습니다. 그럼, 다음시간에 다시 만나요~!! 


    출처 - http://naleejang.tistory.com/143

Designed by Tistory.