openstack的live migration 配置
关于NFS的配置,在鸟哥的私房菜服务器篇中有详细解释,当时自己配置的时候有一些参照。当然还没有完全成功,还需要更新,时间不够了,所以暂时先记录。
一: vi /etc/nova/nova.conf 配置好vncserver_listen=0.0.0.0
二:在控制节点以及compute节点上,vi /etc/nova/nova.conf,查看“NOVA-INST-DIR/instances”,也就是instances_path,在每一个host上面都必须相同。
三:在控制节点上架设NFSv4服务器,并且共享NOVA-INST-DIR/instances文件夹。
A:配置DNS或者/etc/hosts保证节点之间可以通过主机名互相解析到。
在每一台机器上通过ping命令查看是否能找到其它的主机。
B:https://help.ubuntu.com/community/SettingUpNFSHowTo 通过这个链接来配置NFS
NFSv4 server
1):apt-get install nfs-kernel-server
2):/var/lib/nova/instances这个是需要让客户端访问的目录
3):mkdir -p /export/instances
4):给/export还有/export/instances加上777权限
chmod 777 /export/instances
chmod 777 /export
5):把真正想要共享的目录和刚才创建的这个目录挂载
mount --bind /var/lib/nova/instances /export/instances
6):在/etc/fstab下加入下面这行,这样重启后上面的命令不用重新输入了
/var/lib/nova/instances /export/instances none bind 0 0
7):其它三个配置文件中的配置
a:/etc/default/nfs-kernel-server这个文件中NEED_SVCGSSD=no # no is default
b:/etc/default/nfs-common这个文件中配置:
NEED_IDMAPD=yes
NEED_GSSD=no # no is default
c:/etc/idmapd.conf这个文件:这个文件在client端也需要这么配置好,这样就不许要用户必须要有相同的UID/GUID。客户端装好后其实这是默认的。
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
8):然后配置客户端ip---------------------------------------------------------
/etc/exports文件首先备份。这样子下面就配置好在ip了。
/export/instances HostA/255.255.255.0(rw,sync,fsid=0,no_root_squash)
9):/etc/init.d/nfs-kernel-server restart
/etc/init.d/idmapd restart 重启
NFSv4 client
1)apt-get install nfs-common
2)/etc/default/nfs-common文件修改为:
NEED_IDMAPD=yes
NEED_GSSD=no # no is default
3) mount -t nfs4 -o proto=tcp,port=2049 【nfs-server】openstack-controller:/ /mnt
//这一步有时候出现Stale NFS file handle这个错误,是因为server上面的共享文件夹做了修改,直接umount下就可以了:umount -f /mnt。
4)有时候出现mount.nfs4: No such device 这种错误,可以执行一下:# modprobe nfs。为了使每次启动的时候都加载,在/etc/modules这个文件里面加入 nfs在最后一行。
四 $ chmod o+x NOVA-INST-DIR/instances在每一个host上面执行。
五 查看一下是不是配置NFS成功了:
a:在所有主机查看
$ ls -ld NOVA-INST-DIR/instances/
drwxr-xr-x 2 nova nova 4096 2012-05-19 14:34 nova-install-dir/instances/
b:在另外的:
$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 921514972 4180880 870523828 1% / none
....
HostA: 921515008 101921792 772783104 12% /var/lib/nova/instances
( <--- this line is important.)
四 修改libvirt的配置(libvirt的日志:/ar/long/libvirt/libvired.log中。)
1)/etc/libvirt/libvirtd.conf
#listen_tls = 0 修改为 listen_tls = 0
#listen_tcp = 1 修改为 listen_tcp = 1
修改为: auth_tcp = "none"
2)/etc/init/libvirt-bin.conf
exec /usr/sbin/libvirtd $libvirted_opts, libvirted_opts=“-d”,所以修改为libvirted_opts=“-d -1”
3)/etc/default/libvirt-bin
libvirtd_opts=" -d"修改为:libvirtd_opts=" -d -1"
4)重启libvirt
$ stop libvirt-bin && start libvirt-bin
$ ps -ef | grep libvirt
root 1145 1 0 Nov27 ? 00:00:03 /usr/sbin/libvirtd -d -l