Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Openstack live migration

2,762 views

Published on

NFS를 이용한 OpenStack Live Migration

Published in: Technology
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { https://urlzs.com/UABbn }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Openstack live migration

  1. 1. ㈜유미테크 Openstack Live Migration
  2. 2. 목차 •NFS를 이용한 Live Migration •NFS 설치 및 설정 •Live Migration •기타1. CPU 관련 오류 •기타2. screen 사용법 •기타3. Shared Storage 설정 후 인스턴스 생성 문제 2
  3. 3. NFS를 이용한 Live Migration •NFS (Network File System) : 네트워크 상의 Shared Storage를, 실제 스토리지 처럼 사용할 수 있도록 지원하는 클라이언트/서버형 응용프로그램 •Live Migration : 실행중인 가상 시스템을 시스템 또는 시스템에서 실행중인 서비스를 중지하지 않고 다른 실제 호스트로 옮기는 기술 3 NFS Server (Controller node) Shared Storage Instance NFS Client #1 (Compute node #1) Shared Storage NFS Client #2 (Compute node #2) Shared Storage Memory Information NFS Server (Controller node) Shared Storage Instance NFS Client #1 (Compute node #1) Shared Storage NFS Client #2 (Compute node #2) Shared Storage Memory Information Live Migration (Memory Sync)
  4. 4. NFS 설치 및 설정 •/etc/hosts 파일에 각 호스트의 정보를 설정한 후, ping 명령어를 통해 통신이 되는지 확인한다. 4 ~$ sudo vi /etc/hosts 127.0.0.1 localhost controller 127.0.1.1 controller 100.100.100.100 controller 100.100.100.111 compute1 100.100.100.112 compute2 … ~$ ping controller PING controller (100.100.100.100) 56(84) bytes of data. 64 bytes from controller (100.100.100.100): icmp_req=1 ttl=64 time=0.241 ms … ~$ ping compute1 PING compute1 (100.100.100.111) 56(84) bytes of data. 64 bytes from compute1 (100.100.100.111): icmp_req=1 ttl=64 time=0.199 ms … ~$ ping compute2 PING compute2 (100.100.100.112) 56(84) bytes of data. 64 bytes from compute2 (100.100.100.112): icmp_req=1 ttl=64 time=0.135 ms …
  5. 5. NFS 설치 및 설정 (계속) •id명령을 통해 각 노드의 stack과 libvirt의 UID와 GID가 같은지 확인한다. –UID와 GID가 다른 경우, usermod, groupmod 명령을 통해 통일 시킨다. •Controller node에 NFS Server를 설치한다. •/etc/exports 파일에 아래와 같이 Shared Storage 설정을 추가한다. 5 ~$ id uid=1001(stack) gid=1001(stack) groups=1001(stack),27(sudo),128(libvirtd) ~$ sudo apt-get install nfs-kernel-server ~$ sudo vi /etc/exports … #/srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) /opt/stack/data/nova/instances 100.100.100.100/255.255.0.0(rw,sync,fsid=0,no_root_squash) instance data가 저장되는 Shared Storage 경로 NFS Server IP ※ ‘0’과 ‘(‘사이에 공백없이 작성한다.
  6. 6. NFS 설치 및 설정 (계속) •IDMAPD 설정을 한다. •Ubuntu 11.10 이전 버전의 환경이라면 아래의 설정을 한다. •Shared Storage 실행과 검색 권한을 추가한다. 6 ~$ sudo vi /etc/idmapd.conf … [Mapping] Nobody-User = nobody Nobody-Group = nogroup ~$ sudo /etc/default/nfs-kernel-server … NEED_IDMAPD=yes ~$ sudo chmod o+x /opt/stack/data/nova/instances
  7. 7. NFS 설치 및 설정 (계속) •NFS Server를 재구동 한다. –nfs-kernel-server시 no_subtree_check 관련 warning이 발생하지만 무시한다. •Compute node에 NFS client 설치를 한다. •Ubuntu 11.10 이전 버전의 환경이라면 아래의 설정을 한다. 7 ~$ sudo service nfs-kernel-server restart ~$ sudo service idmapd restart ~$ sudo apt-get install nfs-common ~$ sudo /etc/default/nfs-common … NEED_IDMAPD=yes
  8. 8. NFS 설치 및 설정 (계속) •각 Compute node에 NFS server 정보를 추가한다. •각 Compute node에서 NFS Server를 mount 한다. 8 ~$ sudo vi /etc/fstab # /etc/fstab: static file system information … UUID=e2118062-2ff7-41f5-aa28-0500761244da none swap sw 0 0 100.100.100.100:/ /opt/stack/data/nova/instances nfs4 defaults 0 0 instance data가 저장되는 Shared Storage 경로 NFS Server IP ~$ sudo mount -a -v mount: proc already mounted on /proc mount.nfs4: timeout set for Fri Jul 11 14:43:57 2014 mount.nfs4: trying text-based options ‘addr=100.100.100.100,clientaddr=100.100.100.111’ 100.100.100.100:/ on /opt/stack/data/nova/instances type nfs4 (rw) nothing was mounted ~$
  9. 9. NFS 설치 및 설정 (계속) •모든 노드에서 Shared Storage의 권한설정을 확인한다. •각 Compute node에서 Shared Storage가 정상적으로 마운트 되었는지 확인한다. 9 ~$ ls -ld /opt/stack/data/nova/instances drwxr-xr-x 11 stack root 4094 Jul 11 10:36 /opt/stack/data/nova/instances/ ~$ dh -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 920G 7.1G 849G 1% / udev 7.8G 4.0K 7.8G 1% /dev tmpfs 3.2G 836K 3.2G 1% /run none 5.0M 0 5.0M 0% /run/lock none 7.9G 200K 7.9G 1% /run/shm cgroup 7.9G 0 7.9G 0% /sys/fs/cgroup 100.100.100.100:/ 910G 78G 786G 9% /opt/stack/data/nova/instances
  10. 10. NFS 설치 및 설정 (계속) •각 Compute node의 libvirt 설정을 수정한다. 10 ~$ vi /etc/libvirt/libvirtd.conf … # This is enabled by default, uncomment this to disable it listen_tls = 0 … # This is disabled bt default, uncomment this to enable it listen_tcp = 1 … # mechanism in /etc/sasl2/libvirt.conf auth_tcp = “none” … ~$ vi /etc/init/libvirt-bin.conf … env libvirtd_opts=“-d -l” … ~$ vi /etc/default/libvirt-bin … libvirtd_opts=“-d -l” … -l 은 listen 설정이다. -l 은 listen 설정이다.
  11. 11. NFS 설치 및 설정 (계속) •libvirt를 재 구동 시킨다. •프로세스상태를 확인하여 libvirt가 listen 옵션이 추가되어 구동 중인지 확인한다. •nova 설정에 libvirt의 live migration 설정을 추가한다. –NFS가 아닌, glusterFS를 사용한다면, ‘VIR_MIGRATE_UNSAFE’ flag도 추가한다. 11 ~$ sudo service libvirt-bin stop && sudo service libvirt-bin start libvirt-bin stop/waiting libvirt-bin start/running, process 17719 ~$ sudo ps -ef | grep libvirt … root 17719 1 0 15:45 ? 00:00:00 /usr/sbin/libvirtd -d -l … ~$ sudo vi /etc/nova/nova.conf … live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE
  12. 12. Live Migration •Horizon에서 인스턴스와, 해당 인스턴스가 위치한 node를 확인한다 •compute node1의 인스턴스를 compute node2로 Live Migration (CLI환경) 12 ~$ cd ~/devstack/ ~/devstack$ source .openrc admin demo ~/devstack$ nova live-migration cirros_compute1 compute2
  13. 13. Live Migration (계속) •해당 인스턴스가 Migrating를 진행한다. 13
  14. 14. Live Migration (계속) •compute node1의 인스턴스를 compute node2로 Live Migration (UI환경) –Migration하려는 인스턴스에서 ‘More->Live Migration Instance’를 선택한다. 14
  15. 15. Live Migration (계속) •Migration 하려는 node를 선택한다. Block Migration : shared storage에 인스턴스를 저장하고 메모리만 이동하는 live migration과는 달리, 메모리 뿐 아니라 블록 디바이스(인스턴스 스토리지, 볼륨 스토리지) 도 같이 대상 호스트로 이동하는 migration 방법으로, live migration에 비해 속도는 느리지만 shared storage를 두지 않아도 되는 장점이 있다. 15 인스턴스가 위치한 현재 node Migration하려는 node
  16. 16. Live Migration (계속) •해당 인스턴스가 Migrating를 진행한다. 16
  17. 17. 기타1. CPU 관련 오류 •Live Migration시 CPU 관련 오류 –Live Migration시 아래와 같은 오류가 발생할 수 있다. –screen으로 log를 확인한다. –virCPUCompareResult의 결과값이 ‘0’인 경우는, 두 CPU가 INCOMPATIBLE 할 때이다. 17 ~/devstack$ nova live-migration cirros_compute2 compute1 ERROR (BadRequest): Live Migration of instance cirros_compute2 to host compute1 failed (HTTP 400) (Request-ID: req-41e1744d-1b48-4918-8d09-7867cad61a6b) ~/devstack$ screen -r stack … [req-41e1744d-1b48-4918-8d09-7867cad61a6b ac90b7751f7f4da78f238916f3d01788 0173fc0a9e3d42caa34659f84ee7cb7c] Live migration of instance cirros_compute2 to host compute1 failed … RemoteError: Remote error: InvalidCPUInfo_Remote Unacceptable CPU info: CPU doesn't have compatibility. … 2014-07-11 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions 0 2014-07-11 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions Refer to http://libvirt.org/html/libvirt- libvirt.html#virCPUCompareResult …
  18. 18. 기타1. CPU 관련 오류 (계속) •각 Compute node의 CPU를 확인한다. –상위버전인 Westmere에서 Nehalem의 인스턴스를 수용할 수 있지만, Nehalem에서 Westmere의 인스턴스를 수용할 수 없기에 Live Migration이 진행되지 않았다. 18 ~/devstack$ nova hypervisor-show compute1 +----------------+-------------+ | Property | Value | +----------------+-------------+ | cpu_info_arch | x86_64 | … | cpu_info_model | Nehalem | … +----------------+-------------+ ~/devstack$ nova hypervisor-show compute2 +----------------+--------------+ | Property | Value | +----------------+--------------+ | cpu_info_arch | x86_64 | … | cpu_info_model | Westmere | … +----------------+--------------+
  19. 19. 기타2. screen 사용법 •screen : openstack의 log들을 한번에 볼 수 있는 서비스 •screen 사용법 –screen 시작 : screen -r stack –service log이동 : ctrl+a, n –현재 log의 스크롤 : ctrl+a, esc, down or up –screen 종료 : ctrl+a+d 19
  20. 20. 기타3. Shared Storage 설정 후 인스턴스 생성 문제 •Shared Storage로 ‘instances’폴더를 공유한 후, 인스턴스 생성을 할때 권한이 없다는 오류 또는, Scheduling 오류가 발생한다면 /etc/libvirt/qemu.conf파일을 다음과 같이 수정한다. 20 ~$ sudo vi /etc/libvirt/qemu.conf … # The user ID for QEMU processes run by the system instance. # user = “root” # The group ID for QEMU processes run by the system instance. # group = “root” … ~$ sudo vi /etc/libvirt/qemu.conf … # The user ID for QEMU processes run by the system instance. user = “stack” # The group ID for QEMU processes run by the system instance. group = “stack” …

×