Openstack I版部署安装(九)
虚拟机热迁移配置
笔者的环境已经部署双计算及节点,并且同时使用ceph rbd作为后端存储.
双计算节点可以实现虚拟机的热迁移,注意迁移的主机资源必须足够.同时需要设置节点知之间libvirtd服务无密码互相访问
在两个计算节点上执行
vi /etc/libvirt/libvirtd.conf 添加以下配置1
2
3
4
5listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none"
重启libvirtd,打开端口监听
1 | service libvirtd stop |
执行在线热迁移
1 | nova live-migration cirros-vol compute02 |
再一次执行nova show cirros-vol 可以看到已经迁移到compute02上
部署配置Heat业务流
Heat作为自动化的业务流系统,可以帮助用户以模板的形式去定义虚拟机的配置和应用,根据模板>文件可以指定某配置虚拟机的数量,可以配置某虚拟机上部署的应用系统比如MySQL,Apache等
在controller节点上执行
1 | yum install openstack-heat-api openstack-heat-engine openstack-heat-api-cfn -y |
创建HEAT角色1
2
3
4keystone user-create --name=heat --pass=HEAT_PASS --email=heat@example.com
keystone user-role-add --user=heat --tenant=service --role=admin
keystone user-list | awk '/heat/{print $2}'
832c4ffb26fd46c7b5a3d753ba1f5429
编辑配置文件 vi /etc/heat/heat.conf
1 | [DEFAULT] |
同步导入数据库表
1 | su -s /bin/sh -c "heat-manage db_sync" heat |
创建Heat服务端点
1 | keystone service-create --name=heat --type=orchestration --description="Orchestration" |
启动Heat服务
1 | keystone role-create --name heat_stack_user |
创建业务流模板
vi test-stack.yml1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22heat_template_version: 2013-05-23
description: Test Template
parameters:
ImageID:
type: string
description: Image use to boot a server
NetID:
type: string
description: Network ID for the server
resources:
server1:
type: OS::Nova::Server
properties:
name: "Test server"
image: { get_param : ImageID }
flavor: "m1.tiny"
networks:
- network: { get_param : NetID }
outputs:
server1_private_ip:
description: IP address of the server in the private network
value: { get_attr: [ server1, first_address ] }
通过模板创建虚拟机实例1
2
3
4
5image=$(glance image-list | awk '/cirros/{print $2}')
net=$(neutron net-list | awk '/demo-net/{print $2}')
heat stack-create -f test-stack.yml -P "ImageID=$image;NetID=$net" teststack
heat stack-list
nova list #查看到栈的情况,和通过模板创建的虚拟机情况