12. 迁移glance镜像服务¶
背景¶
# 当openstack管理的计算节点越来越多的时候,控制节点的压力会越来越大。
# 由于所有服务都安装在控制节点,这时候控制节点上的openstack服务随时都有团灭的危险
# openstack是基于soa架构设计的,我们已经实现了horizon的迁移,其他的服务都可以迁移,让控制节点只保留一个keystone服务,这是soa架构的最佳实践!
0. glance镜像服务迁移的主要步骤¶
## 1.停止控制节点上的glance服务
## 2.备份迁移glance数据库
## 3.在新的节点上安装配置glance
## 4.迁移原有glance镜像文件
## 5.修改keystone中glance的api地址
## 6.修改所有节点nova配置文件中glance的api地址
## 7.测试,上传镜像,创建实例
1.停止控制节点上的glance服务¶
# controller
systemctl stop openstack-glance-api openstack-glance-registry
systemctl disable openstack-glance-api openstack-glance-registry
2.备份迁移glance数据库¶
#1.备份数据
mysqldump -uroot -B glance >glance.sql
#2.将备份文件发送到要迁移的节点
scp -rp glance.sql 192.168.178.32:/root
3.在新的节点上安装配置glance¶
1. 安装数据库¶
#compute2
#1.安装mariadb
yum install mariadb-server.x86_64 python2-PyMySQL -y
systemctl start mariadb
systemctl enable mariadb
#2.配置mariadb安全规则
mysql_secure_installation
#回车+n+y+y+y+y+y
#3.导入数据
mysql<glance.sql
#4.验证
mysql -e "show databases;"
mysql glance -e "show tables;"
2. 安装glance¶
#1.安装
yum install openstack-glance -y
#2.获取配置文件
#打开controller节点上的配置文件,将内容复制到compute2
#controller
cat /etc/glance/glance-api.conf
#compute2
vim /etc/glance/glance-api.conf
#controller
cat /etc/glance/glance-registry.conf
#compute2
vim /etc/glance/glance-registry.conf
#3.启动服务
systemctl start openstack-glance-api openstack-glance-registry
systemctl enable openstack-glance-api openstack-glance-registry
4.迁移原有glance镜像文件¶
#compute2
#1.从控制节点拉取镜像文件
scp -rp 192.168.178.11:/var/lib/glance/images/* /var/lib/glance/images
#2.修改镜像文件属主属组
ll /var/lib/glance/images
chown -R glance:glance /var/lib/glance/images
ll /var/lib/glance/images
5.修改keystone中glance的api地址¶
#controller
#1.查看现在的glance的api
source admin-openrc
openstack endpoint list|grep image
#2.从keystone数据库导出endpoint表
mysqldump -uroot keystone endpoint >endpoint.sql
#3.备份
cp endpoint.sql /opt/
ll /opt/
#4.修改
vim endpoint.sql
:%s#http://controller:9292#http://192.168.178.32:9292#g
#5.导入
mysql keystone <endpoint.sql
#6.再次查看api
openstack endpoint list |grep image
#7.查看镜像
openstack image list
[root@controller ~]# source admin-openrc
[root@controller ~]# openstack endpoint list|grep image
| 0ca401b138074eec845ce60fbe7571a6 | RegionOne | glance | image | True | admin | http://controller:9292 |
| 9df8e5203cbc431c83135915a0ec2cbf | RegionOne | glance | image | True | public | http://controller:9292 |
| b9be7c8975e04d44a4974563929040f0 | RegionOne | glance | image | True | internal | http://controller:9292 |
[root@controller ~]#
[root@controller ~]#
[root@controller ~]#
[root@controller ~]#
[root@controller ~]#
[root@controller ~]#
[root@controller ~]# mysqldump -uroot keystone endpoint >endpoint.sql
[root@controller ~]#
[root@controller ~]#
[root@controller ~]# ls
admin-openrc anaconda-ks.cfg cirros-0.3.4-x86_64-disk.img endpoint.sql glance.sql
[root@controller ~]#
[root@controller ~]#
[root@controller ~]#
[root@controller ~]# cp endpoint.sql /opt/
[root@controller ~]# ll /opt/
total 241728
-rw-r--r-- 1 root root 3990 Dec 5 17:03 endpoint.sql
-rw-r--r-- 1 root root 247468369 Dec 1 19:28 openstack_rpm.tar.gz
drwxr-xr-x 3 root root 36864 Jul 19 2017 repo
[root@controller ~]#
[root@controller ~]#
[root@controller ~]#
[root@controller ~]# vim endpoint.sql
[root@controller ~]#
[root@controller ~]#
[root@controller ~]# mysql keystone <endpoint.sql
[root@controller ~]#
[root@controller ~]# openstack endpoint list |grep image
| 0ca401b138074eec845ce60fbe7571a6 | RegionOne | glance | image | True | admin | http://192.168.178.32:9292 |
| 9df8e5203cbc431c83135915a0ec2cbf | RegionOne | glance | image | True | public | http://192.168.178.32:9292 |
| b9be7c8975e04d44a4974563929040f0 | RegionOne | glance | image | True | internal | http://192.168.178.32:9292 |
[root@controller ~]#
[root@controller ~]# openstack image list
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 9b28c8ce-64d0-40b0-b4ef-61ab38f26d25 | cirros | active |
+--------------------------------------+--------+--------+
6.修改所有节点nova配置文件中glance的api地址¶
#所有节点
#1.替换
sed -i 's#http://controller:9292#http://192.168.178.32:9292#g' /etc/nova/nova.conf
#2.查看
grep '9292' /etc/nova/nova.conf
#3.重启服务
#controller
systemctl restart openstack-nova-api
#4.查看nova的api
#controller
nova service-list
7.测试,上传镜像,创建实例¶
1. 下载镜像文件¶
# 镜像地址:https://mirrors.ustc.edu.cn/centos-cloud/centos/7/images/CentOS-7-x86_64-GenericCloud-1809.qcow2
2. 创建镜像¶
# 浏览器登录,点击项目-映像,在右上角点击创建,输入名称:centos7,映像源:映像文件,从浏览中找到镜像文件,最小磁盘:8,最低内存:512,勾选公有,然后创建
3. 查看镜像文件¶
#compute2
[root@compute2 ~]# ll /var/lib/glance/images -h
total 886M
-rw-r----- 1 glance glance 13M Dec 3 09:08 9b28c8ce-64d0-40b0-b4ef-61ab38f26d25
-rw-r----- 1 glance glance 873M Dec 5 17:15 a62b1e8b-697f-4f99-82de-b38977eccf04
4. 查看镜像详细信息¶
qemu-img info /var/lib/glance/images/a62b1e8b-697f-4f99-82de-b38977eccf04
[root@compute2 ~]# qemu-img info /var/lib/glance/images/a62b1e8b-697f-4f99-82de-b38977eccf04
image: /var/lib/glance/images/a62b1e8b-697f-4f99-82de-b38977eccf04
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 873M
cluster_size: 65536
Format specific information:
compat: 0.10
refcount bits: 16
5. 编辑flavor数¶
#点击左侧管理员-flavor数,找到m1.tiny,点击右侧的编辑,修改根磁盘:10G,点击保存
6. 使用新镜像启动实例¶
#点击左侧的项目-实例,然后右上角创建,输入实例名称:centos7,可用区:oldboy
# 源选择刚才上传的centos7镜像!
#flavor选择m1.tiny!
#启动失败!报错:No valid host was found. There are not enough hosts available.
#解决办法:重启nova服务!删除实例,重新创建实例!!!
systemctl restart openstack-nova-compute
8. 上传qcow2c镜像测试!(不好使!!!)¶
[root@compute2 ~]# ll /var/lib/glance/images -h
total 1.3G
-rw-r----- 1 glance glance 13M Dec 3 09:08 9b28c8ce-64d0-40b0-b4ef-61ab38f26d25
-rw-r----- 1 glance glance 873M Dec 5 17:15 a62b1e8b-697f-4f99-82de-b38977eccf04
-rw-r----- 1 glance glance 381M Dec 5 17:25 e3590b8d-1d84-4735-8fa7-7579429bbb84 #qcow2c格式 的
[root@compute2 ~]#
[root@compute2 ~]#
[root@compute2 ~]#
[root@compute2 ~]# qemu-img info /var/lib/glance/images/e3590b8d-1d84-4735-8fa7-7579429bbb84
image: /var/lib/glance/images/e3590b8d-1d84-4735-8fa7-7579429bbb84
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 381M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
最后更新:
2022-02-20 04:00:12