SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
㈜유미테크 
Openstack Live Migration
목차 
•NFS를 이용한 Live Migration 
•NFS 설치 및 설정 
•Live Migration 
•기타1. CPU 관련 오류 
•기타2. screen 사용법 
•기타3. Shared Storage 설정 후 인스턴스 생성 문제 
2
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)
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 …
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’과 ‘(‘사이에 공백없이 작성한다.
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
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
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 
~$
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
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 설정이다.
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
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
Live Migration (계속) 
•해당 인스턴스가 Migrating를 진행한다. 
13
Live Migration (계속) 
•compute node1의 인스턴스를 compute node2로 Live Migration (UI환경) 
–Migration하려는 인스턴스에서 ‘More->Live Migration Instance’를 선택한다. 
14
Live Migration (계속) 
•Migration 하려는 node를 선택한다. 
Block Migration : shared storage에 인스턴스를 저장하고 메모리만 이동하는 live migration과는 달리, 메모리 뿐 아니라 블록 디바이스(인스턴스 스토리지, 볼륨 스토리지) 도 같이 대상 호스트로 이동하는 migration 방법으로, live migration에 비해 속도는 느리지만 shared storage를 두지 않아도 되는 장점이 있다. 
15 
인스턴스가 위치한 현재 node 
Migration하려는 node
Live Migration (계속) 
•해당 인스턴스가 Migrating를 진행한다. 
16
기타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 
…
기타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 | 
… 
+----------------+--------------+
기타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
기타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” …

Contenu connexe

Tendances

[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링OpenStack Korea Community
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep diveTrinath Somanchi
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트OpenStack Korea Community
 
Red Hat OpenShift Container Storage
Red Hat OpenShift Container StorageRed Hat OpenShift Container Storage
Red Hat OpenShift Container StorageTakuya Utsunomiya
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요Jo Hoon
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법Open Source Consulting
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch IntroductionHungWei Chiu
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~Masaya Aoyama
 
PowerDNS-Admin vs DNS-UI
PowerDNS-Admin vs DNS-UIPowerDNS-Admin vs DNS-UI
PowerDNS-Admin vs DNS-UIbarbarousisk
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方Toru Makabe
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?OpenStack Korea Community
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27Kentaro Ebisawa
 
Red Hat OpenStack 17 저자직강+스터디그룹_4주차
Red Hat OpenStack 17 저자직강+스터디그룹_4주차Red Hat OpenStack 17 저자직강+스터디그룹_4주차
Red Hat OpenStack 17 저자직강+스터디그룹_4주차Nalee Jang
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
Namespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containersNamespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containersKernel TLV
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 VirtualTech Japan Inc.
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...VirtualTech Japan Inc.
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Diverajdeep
 

Tendances (20)

Community Openstack 구축 사례
Community Openstack 구축 사례Community Openstack 구축 사례
Community Openstack 구축 사례
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
OVN - Basics and deep dive
OVN - Basics and deep diveOVN - Basics and deep dive
OVN - Basics and deep dive
 
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
[OpenStack Days Korea 2016] Track3 - 오픈스택 환경에서 공유 파일 시스템 구현하기: 마닐라(Manila) 프로젝트
 
Red Hat OpenShift Container Storage
Red Hat OpenShift Container StorageRed Hat OpenShift Container Storage
Red Hat OpenShift Container Storage
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~OpenStack概要 ~仮想ネットワーク~
OpenStack概要 ~仮想ネットワーク~
 
PowerDNS-Admin vs DNS-UI
PowerDNS-Admin vs DNS-UIPowerDNS-Admin vs DNS-UI
PowerDNS-Admin vs DNS-UI
 
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
OpenStack超入門シリーズ いまさら聞けないNeutronの使い方
 
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
[OpenStack Days Korea 2016] Track1 - 카카오는 오픈스택 기반으로 어떻게 5000VM을 운영하고 있을까?
 
OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27OVN 設定サンプル | OVN config example 2015/12/27
OVN 設定サンプル | OVN config example 2015/12/27
 
Red Hat OpenStack 17 저자직강+스터디그룹_4주차
Red Hat OpenStack 17 저자직강+스터디그룹_4주차Red Hat OpenStack 17 저자직강+스터디그룹_4주차
Red Hat OpenStack 17 저자직강+스터디그룹_4주차
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Namespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containersNamespaces and cgroups - the basis of Linux containers
Namespaces and cgroups - the basis of Linux containers
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月 知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
 
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~  - ...
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
 
OpenvSwitch Deep Dive
OpenvSwitch Deep DiveOpenvSwitch Deep Dive
OpenvSwitch Deep Dive
 

En vedette

RHEVM - Live Storage Migration
RHEVM - Live Storage MigrationRHEVM - Live Storage Migration
RHEVM - Live Storage MigrationRaz Tamir
 
Power systems virtualization with power kvm
Power systems virtualization with power kvmPower systems virtualization with power kvm
Power systems virtualization with power kvmsolarisyougood
 
Cinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinCinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinEd Balduf
 
RedHat Linux, IBM Power Event
RedHat Linux, IBM Power EventRedHat Linux, IBM Power Event
RedHat Linux, IBM Power EventIBM Danmark
 
Red Hat for IBM Power Systems (System p) Update v6
Red Hat for IBM Power Systems (System p) Update v6Red Hat for IBM Power Systems (System p) Update v6
Red Hat for IBM Power Systems (System p) Update v6Filipe Miranda
 
Redhat Virualization Technology: A Detailed Manual.
Redhat Virualization Technology: A Detailed Manual.Redhat Virualization Technology: A Detailed Manual.
Redhat Virualization Technology: A Detailed Manual.Ankur Verma
 

En vedette (6)

RHEVM - Live Storage Migration
RHEVM - Live Storage MigrationRHEVM - Live Storage Migration
RHEVM - Live Storage Migration
 
Power systems virtualization with power kvm
Power systems virtualization with power kvmPower systems virtualization with power kvm
Power systems virtualization with power kvm
 
Cinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit AustinCinder Live Migration and Replication - OpenStack Summit Austin
Cinder Live Migration and Replication - OpenStack Summit Austin
 
RedHat Linux, IBM Power Event
RedHat Linux, IBM Power EventRedHat Linux, IBM Power Event
RedHat Linux, IBM Power Event
 
Red Hat for IBM Power Systems (System p) Update v6
Red Hat for IBM Power Systems (System p) Update v6Red Hat for IBM Power Systems (System p) Update v6
Red Hat for IBM Power Systems (System p) Update v6
 
Redhat Virualization Technology: A Detailed Manual.
Redhat Virualization Technology: A Detailed Manual.Redhat Virualization Technology: A Detailed Manual.
Redhat Virualization Technology: A Detailed Manual.
 

Similaire à Openstack live migration

Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHousejieun kim
 
Apache ZooKeeper 소개
Apache ZooKeeper 소개Apache ZooKeeper 소개
Apache ZooKeeper 소개중선 곽
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxwonyong hwang
 
caanoo Ernice
caanoo Ernicecaanoo Ernice
caanoo Ernicejumiss
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-uploadDong-Hwa jung
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurationsJohn Kim
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine
 
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기Jinuk Kim
 
resource on openstack
 resource on openstack resource on openstack
resource on openstackjieun kim
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)Ian Choi
 
Mininet
MininetMininet
Mininetymtech
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoMario Cho
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS충섭 김
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제Tae Young Lee
 
오픈스택: 구석구석 파헤쳐보기
오픈스택: 구석구석 파헤쳐보기오픈스택: 구석구석 파헤쳐보기
오픈스택: 구석구석 파헤쳐보기Jaehwa Park
 
How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?Rogan Kyuseok Lee
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한ymtech
 
Clonezilla se
Clonezilla seClonezilla se
Clonezilla se석 허
 

Similaire à Openstack live migration (20)

Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
 
Apache ZooKeeper 소개
Apache ZooKeeper 소개Apache ZooKeeper 소개
Apache ZooKeeper 소개
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
caanoo Ernice
caanoo Ernicecaanoo Ernice
caanoo Ernice
 
Osc4.x installation v1-upload
Osc4.x installation v1-uploadOsc4.x installation v1-upload
Osc4.x installation v1-upload
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurations
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
NDC14 모바일 게임서비스를 위한 사설 클라우드 구축/운영 분투기
 
resource on openstack
 resource on openstack resource on openstack
resource on openstack
 
OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)OpenStack DevStack Install - 2부 (Multi-nodes)
OpenStack DevStack Install - 2부 (Multi-nodes)
 
Mininet
MininetMininet
Mininet
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
오픈스택: 구석구석 파헤쳐보기
오픈스택: 구석구석 파헤쳐보기오픈스택: 구석구석 파헤쳐보기
오픈스택: 구석구석 파헤쳐보기
 
How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?How to deploy oVirt using Nested KVM environment?
How to deploy oVirt using Nested KVM environment?
 
20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한20170713 tech day_7th_pxe 부팅-김주한
20170713 tech day_7th_pxe 부팅-김주한
 
Clonezilla se
Clonezilla seClonezilla se
Clonezilla se
 
Node.js 기본
Node.js 기본Node.js 기본
Node.js 기본
 

Plus de ymtech

20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용ymtech
 
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중ymtech
 
20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈ymtech
 
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석ymtech
 
20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희ymtech
 
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍ymtech
 
Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정ymtech
 
Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치ymtech
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swiftymtech
 
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212ymtech
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Settingymtech
 
Intel Galileo Linux Setting
Intel Galileo Linux SettingIntel Galileo Linux Setting
Intel Galileo Linux Settingymtech
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치ymtech
 
HP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow SettingHP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow Settingymtech
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오ymtech
 
TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편ymtech
 
TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편ymtech
 
TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편ymtech
 
TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편ymtech
 
TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편ymtech
 

Plus de ymtech (20)

20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용20171120 tech day-11th-소프트웨어 테스팅2-서현용
20171120 tech day-11th-소프트웨어 테스팅2-서현용
 
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
 
20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈20170609 tech day_4th-nginx(lb)-이재훈
20170609 tech day_4th-nginx(lb)-이재훈
 
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
20170519 tech day-3rd-highcharts를 이용한 차트 구현-김영석
 
20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희20170414 techday 2nd_uiux디자인-최민희
20170414 techday 2nd_uiux디자인-최민희
 
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
20170310 tech day-1st-maven을 이용한 프로그램 빌드-박준홍
 
Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정Mikrotic CCR1036 라우팅 설정
Mikrotic CCR1036 라우팅 설정
 
Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치Cubietruck 리눅스 이미지 설치
Cubietruck 리눅스 이미지 설치
 
Installation Openstack Swift
Installation Openstack SwiftInstallation Openstack Swift
Installation Openstack Swift
 
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
Welcome to keystone the open stack identity service_v1.0.0-20141208-1212
 
Ubuntu Host AP Setting
Ubuntu Host AP SettingUbuntu Host AP Setting
Ubuntu Host AP Setting
 
Intel Galileo Linux Setting
Intel Galileo Linux SettingIntel Galileo Linux Setting
Intel Galileo Linux Setting
 
MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치MarsBoard RK3066 Linux 설치
MarsBoard RK3066 Linux 설치
 
HP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow SettingHP 3800-24G-2SFP OpenFlow Setting
HP 3800-24G-2SFP OpenFlow Setting
 
SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오SDN OpenFlow Load Balancer 시나리오
SDN OpenFlow Load Balancer 시나리오
 
TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편TR-069 클라이언트 검토자료8편
TR-069 클라이언트 검토자료8편
 
TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편TR-069 클라이언트 검토자료7편
TR-069 클라이언트 검토자료7편
 
TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편TR-069 클라이언트-검토자료6편
TR-069 클라이언트-검토자료6편
 
TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편TR-069 클라이언트 검토자료5편
TR-069 클라이언트 검토자료5편
 
TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편TR 069 클라이언트 검토 자료 4편
TR 069 클라이언트 검토 자료 4편
 

Openstack live migration

  • 2. 목차 •NFS를 이용한 Live Migration •NFS 설치 및 설정 •Live Migration •기타1. CPU 관련 오류 •기타2. screen 사용법 •기타3. Shared Storage 설정 후 인스턴스 생성 문제 2
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Live Migration (계속) •해당 인스턴스가 Migrating를 진행한다. 13
  • 14. Live Migration (계속) •compute node1의 인스턴스를 compute node2로 Live Migration (UI환경) –Migration하려는 인스턴스에서 ‘More->Live Migration Instance’를 선택한다. 14
  • 15. Live Migration (계속) •Migration 하려는 node를 선택한다. Block Migration : shared storage에 인스턴스를 저장하고 메모리만 이동하는 live migration과는 달리, 메모리 뿐 아니라 블록 디바이스(인스턴스 스토리지, 볼륨 스토리지) 도 같이 대상 호스트로 이동하는 migration 방법으로, live migration에 비해 속도는 느리지만 shared storage를 두지 않아도 되는 장점이 있다. 15 인스턴스가 위치한 현재 node Migration하려는 node
  • 16. Live Migration (계속) •해당 인스턴스가 Migrating를 진행한다. 16
  • 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. 기타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. 기타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. 기타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” …