镜像服务glance迁移
目的:将镜像服务独立出来,装到新的主机上
1.先停掉老的镜像服务
我这里旧的glance装在了控制节点上
systemctl stop openstack-glance-api.service openstack-glance-registry.service
systemctl disable openstack-glance-api.service openstack-glance-registry.service
2.在新的主机上安装数据库
yum install mariadb mariadb-server python2-PyMysql -y
启动数据库
systemctl start mariadb
systemctl enable mariadb
数据库安全初始化
mysql_secure_installation
回车
n
y
y
y
y
3.恢复glance数据库数据
先备份老的glance主机上的数据库
mysql_secure_installation

将数据库备份发到新的主机上
scp glance.sql root@新主机地址:/opt
将备份导入数据库
mysql < glance.sql
查看导进去的表
mysql glance -e 'show tables;'

数据库授权
对glance数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';

4.安装配置glance服务
yum install openstack-glance -y
拉取旧的配置文件到新的主机
scp -rp /etc/glance/glance-registry.conf root@10.10.15.35:/etc/glance/glance-registry.conf
scp -rp /etc/glance/glance-api.conf root@10.10.15.35:/etc/glance/glance-api.conf
修改配置文件,将地址改为新的主机
vim /etc/glance/glance-api.conf
[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@新主机IP地址/glance
vim /etc/glance/glance-registry.conf
[database]
...
connection = mysql+pymysql://glance:GLANCE_DBPASS@新主机IP地址/glance
5.启动镜像服务
systemctl start openstack-glance-api.service openstack-glance-registry.service
systemctl enable openstack-glance-api.service openstack-glance-registry.service
验证

6.镜像文件迁移到新主机
scp -rp /var/lib/glance/images/* root@10.10.15.35:/var/lib/glance/images/
新主机上修改权限
chown glance:glance /var/lib/glance/images/*

7.修改keystone服务目录的glance-api的地址
可以看到这里连接的还是controller,需要改成新主机的地址

导出数据库
mysqldump keystone endpoint >endpoint.sql
vim endpoint.sql(修改前先做个备份)
%s#http://controller:9292#http://10.10.15.35:9292#gc

导入
mysql keystone <endpoint.sql
再次查看,地址已经变了

验证
openstack image list

8.修改所有节点的nova的配置文件
在每个节点上都执行一遍替换
sed -i 's#http://controller:9292#http://10.10.15.35:9292#g' /etc/nova/nova.conf
重启服务
控制节点执行
systemctl restart openstack-nova-api.service
每个计算节点执行
systemctl restart openstack-nova-compute.service
9.验证
验证的方法:上传一个镜像并且创建实例成功,代表迁移成功



基于新上传的镜像启动实例

创建成功

glance镜像服务迁移成功
镜像下载
