日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenStack在线迁移

發布時間:2025/3/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenStack在线迁移 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenStack遷移需要將虛擬機創建運行在共享存儲上才可以進行遷移。

一、配置共享存儲

1、環境

OpenStack三個節點icehouse-gre模式部署一文部署了的OpenStack環境。

IP如下:

controller:10.1.101.11

network:10.1.101.21

compute:10.1.101.31

compute2:10.1.101.41

確保環境配置正確。

修改各個節點的nova.conf中vncserver_listen為:

vncserver_listen = 0.0.0.0

2、安裝NFS服務器

由于遷移需要用到共享存儲,我們在controller節點配置一個被所有計算節點共同使用的共享存儲。這里使用NFS服務。

NFS服務了解更多可參考:NFS(Network File System)服務配置和使用

controller節點:

第一步,安裝nfs服務

# apt-get install nfs-kernel-server nfs-common

第二步,創建一個目錄作為nfs服務掛載的目錄

# mkdir /var/nfs-storage

第三步,配置/etc/exports

root@controller:~# cat /etc/exports # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /var/nfs-storage *(rw,sync,fsid=0,no_root_squash)
root@controller:~# exportfs -rv

3、在compute和comput1兩個計算節點掛載NFS目錄

Note:

a、掛載點必須是nova.conf配置文件中state_path=/var/lib/nova指定的目錄,兩個計算節點目錄必須一致。

b、建議在配置前先刪除計算節點的所有實例,不然會造成僵尸實例的產生。

確保計算節點有執行和查找目錄的權限:

chmod o+x /var/lib/nova/instances

安裝nfs服務

# apt-get install nfs-kernel-server nfs-common

開機自動掛載:

root@compute1:/var/log/libvirt/qemu# cat /etc/fstab # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/xvda1 during installation UUID=0c681b37-97ed-4d10-bd79-8d5931c443f8 / ext4 errors=remount-ro 0 1 # swap was on /dev/xvda5 during installation UUID=9e2efc1b-ef13-4b7c-b616-34d2a62f04ea none swap sw 0 0 10.1.101.11:/var/nfs-storage /var/lib/nova/instances nfs defaults 0 0 root@compute1:/var/log/libvirt/qemu# mount -a
root@compute1:~# df -k
Filesystem?????????????????? 1K-blocks??? Used Available Use% Mounted on
/dev/xvda1??????????????????? 19478204 2754448? 15711276? 15% /
udev?????????????????????????? 2530276?????? 4?? 2530272?? 1% /dev
tmpfs?????????????????????????? 512512???? 224??? 512288?? 1% /run
none????????????????????????????? 5120?????? 0????? 5120?? 0% /run/lock
none?????????????????????????? 2562556?????? 0?? 2562556?? 0% /run/shm
cgroup???????????????????????? 2562556?????? 0?? 2562556?? 0% /sys/fs/cgroup
10.1.101.11:/var/nfs-storage? 19478528 3164672? 15301632? 18% /var/lib/nova/instances

二、修改所有計算節點libvirt

第一步,修改/etc/libvirt/libvirtd.conf 【注意該目錄還有一個libvirt.conf,不要弄錯了】
改前:#listen_tls = 0

改后:listen_tls = 0

改前:#listen_tcp = 1

改后:listen_tcp = 1

改前:#auth_tcp = "sasl"

改后:auth_tcp = "none"

第二步,修改/etc/default/libvirt-bin

改前:libvirtd_opts="-d"

改后:libvirtd_opts="-d -l"

第三步,去掉?/etc/libvirt/qemu.conf 中以下三行注釋

vnc_listen = "0.0.0.0" user = "root" group = "root"

第四步,重啟libvirt-bin

service libvirt-bin restart

確認進程已啟動

root@compute1:~# ps -ef |grep libvirt root 9518 1 0 Jan20 ? 00:01:23 /usr/sbin/libvirtd -d -l

重啟nova-compute服務

service nova-compute restart

到此配置成功!注意/var/lib/nova/instances目錄權限:

root@compute1:~# ll /var/lib/nova/ total 36 drwxr-xr-x 9 nova nova 4096 Jan 20 15:40 ./ drwxr-xr-x 42 root root 4096 Jan 20 13:59 ../ drwxr-xr-x 2 nova nova 4096 May 15 2014 buckets/ drwxr-xr-x 6 nova nova 4096 Jan 6 17:15 CA/ drwxr-xr-x 2 nova nova 4096 May 15 2014 images/ drwxr-xr-x 6 nova root 4096 Jan 20 17:06 instances/ drwxr-xr-x 2 nova nova 4096 May 15 2014 keys/ drwxr-xr-x 2 nova nova 4096 May 15 2014 networks/ drwxr-xr-x 2 nova nova 4096 May 15 2014 tmp/

三、測試遷移

把compute1的虛擬機遷移到compue2上,先看compute1上有哪些虛擬機

# nova-manage vm list | grep compute_one | awk '{print $1}' root@controller:~# nova-manage vm list instance node type state launched image kernel ramdisk project user zone index vm001 compute2 m1.tiny active 2015-01-20 08:30:21 a1de861a-be9c-4223-9a7a-cf5917489ce9 60a10cd7a61b493d910eabd353c07567 be1db0d2fd134025accd2654cfc66056 nova 0 vm002 compute1 m1.tiny active 2015-01-20 08:55:02 a1de861a-be9c-4223-9a7a-cf5917489ce9 60a10cd7a61b493d910eabd353c07567 be1db0d2fd134025accd2654cfc66056 nova 0 root@controller:~# nova-manage vm list |grep compute1 |awk '{print $1}' vm002

要查看需要遷移的實例vm001實例的名字

root@controller:~# nova show 190364a5-a5a7-4e5d-8f46-6c43fb5c3446 +--------------------------------------+------------------------------------------------------------+ | Property | Value | +--------------------------------------+------------------------------------------------------------+ | OS-DCF:diskConfig | AUTO | | OS-EXT-AZ:availability_zone | nova | | OS-EXT-SRV-ATTR:host | compute1 | | OS-EXT-SRV-ATTR:hypervisor_hostname | compute1 | | OS-EXT-SRV-ATTR:instance_name | instance-00000036 | | OS-EXT-STS:power_state | 1 | | OS-EXT-STS:task_state | - | | OS-EXT-STS:vm_state | active | | OS-SRV-USG:launched_at | 2015-01-20T08:55:02.000000 | | OS-SRV-USG:terminated_at | - | | accessIPv4 | | | accessIPv6 | | | config_drive | | | created | 2015-01-20T08:54:04Z | | flavor | m1.tiny (1) | | hostId | af2b0609eb984606e572ddc5135b10b0d992dc73a5f9cc581f01baec | | id | 190364a5-a5a7-4e5d-8f46-6c43fb5c3446 | | image | cirros-0.3.2-x86_64 (a1de861a-be9c-4223-9a7a-cf5917489ce9) | | key_name | - | | metadata | {} | | name | vm002 | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | security_groups | default | | status | ACTIVE | | tenantA-Net network | 10.0.0.29, 10.1.101.83 | | tenant_id | 60a10cd7a61b493d910eabd353c07567 | | updated | 2015-01-20T08:55:03Z | | user_id | be1db0d2fd134025accd2654cfc66056 | +--------------------------------------+------------------------------------------------------------+ root@controller:~# nova show 190364a5-a5a7-4e5d-8f46-6c43fb5c3446 |grep instance_name | OS-EXT-SRV-ATTR:instance_name | instance-00000036 | root@controller:~# nova show 190364a5-a5a7-4e5d-8f46-6c43fb5c3446 |grep instance_name | awk '{print $4}' instance-00000036

?控制節點執行:

root@controller:~# nova-manage host list host zone controller internal compute1 nova compute2 nova

?查看可用的計算節點:

root@controller:~# nova-manage service list Binary Host Zone Status State Updated_At nova-cert controller internal enabled :-) 2015-01-20 08:57:09 nova-consoleauth controller internal enabled :-) 2015-01-20 08:57:10 nova-scheduler controller internal enabled :-) 2015-01-20 08:57:11 nova-conductor controller internal enabled :-) 2015-01-20 08:57:08 nova-compute compute1 nova enabled :-) 2015-01-20 08:57:13 nova-compute compute2 nova enabled :-) 2015-01-20 08:57:05 nova-compute controller nova enabled XXX 2015-01-19 06:52:42

查看目標節點資源:

root@controller:~# nova-manage service describe_resource compute2 HOST PROJECT cpu mem(mb) hdd compute2 (total) 2 2997 18 compute2 (used_now) 1 1024 1 compute2 (used_max) 1 512 1 compute2 60a10cd7a61b493d910eabd353c07567 1 512 1

遷移成功,沒有輸出

root@controller:~# nova live-migration 190364a5-a5a7-4e5d-8f46-6c43fb5c3446 compute2 root@controller:~#

?遷移成功,再看虛擬機vm002運行在了compute2節點

root@controller:~# nova-manage vm list instance node type state launched image kernel ramdisk project user zone index vm001 compute2 m1.tiny active 2015-01-20 08:30:21 a1de861a-be9c-4223-9a7a-cf5917489ce9 60a10cd7a61b493d910eabd353c07567 be1db0d2fd134025accd2654cfc66056 nova 0 vm002 compute2 m1.tiny active 2015-01-20 08:55:02 a1de861a-be9c-4223-9a7a-cf5917489ce9 60a10cd7a61b493d910eabd353c07567 be1db0d2fd134025accd2654cfc66056 nova 0

總結

以上是生活随笔為你收集整理的OpenStack在线迁移的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。