7.3. 更新中央位置
使用示例过程配置和部署所有边缘站点后,更新中央位置的配置,以便中央镜像服务可将镜像推送到边缘站点。
此流程重启镜像服务(glance),并中断任何长时间运行的镜像服务进程。例如,如果镜像从中央镜像服务服务器复制到 DCN 镜像服务服务器,该镜像副本将中断,您必须重启该镜像。如需更多信息,请参阅 在 镜像服务进程中断后清除遗留的数据。
流程
创建一个类似如下的
~/central/glance_update.yaml
文件:这个示例包括两个边缘站点 dcn0 和 dcn1 的配置:parameter_defaults: GlanceEnabledImportMethods: web-download,copy-image GlanceBackend: rbd GlanceStoreDescription: 'central rbd glance store' CephClusterName: central GlanceBackendID: central GlanceMultistoreConfig: dcn0: GlanceBackend: rbd GlanceStoreDescription: 'dcn0 rbd glance store' CephClientUserName: 'openstack' CephClusterName: dcn0 GlanceBackendID: dcn0 dcn1: GlanceBackend: rbd GlanceStoreDescription: 'dcn1 rbd glance store' CephClientUserName: 'openstack' CephClusterName: dcn1 GlanceBackendID: dcn1
创建
dcn_ceph.yaml
文件。在以下示例中,此文件将中央站点上的 glance 服务配置为边缘站点dcn0
和dcn1
的 Ceph 集群的客户端。sudo -E openstack overcloud export ceph \ --stack dcn0,dcn1 \ --config-download-dir /var/lib/mistral \ --output-file ~/central/dcn_ceph.yaml
使用原始模板重新部署中央站点,并包含新创建的
dcn_ceph.yaml
和glance_update.yaml
文件。openstack overcloud deploy \ --stack central \ --templates /usr/share/openstack-tripleo-heat-templates/ \ -r ~/central/central_roles.yaml \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \ -e ~/central/central-images-env.yaml \ -e ~/central/role-counts.yaml \ -e ~/central/site-name.yaml -e ~/central/ceph.yaml \ -e ~/central/ceph_keys.yaml \ -e ~/central/glance.yaml \ -e ~/central/dcn_ceph_external.yaml
在中央位置的控制器上,重新启动
cinder-volume
服务。如果您使用cinder-backup
服务部署中央位置,则重启cinder-backup
服务:ssh heat-admin@controller-0 sudo pcs resource restart openstack-cinder-volume ssh heat-admin@controller-0 sudo pcs resource restart openstack-cinder-backup
7.3.1. 在镜像服务进程中断后清除数据
当您重启中央位置时,任何长时间运行的镜像服务(glance)进程都会中断。在重启这些进程前,您必须首先清理您重启的 Controller 节点上的数据,并在 Ceph 和镜像服务数据库中。
流程
检查并清除重启的 Controller 节点中的遗留数据。将暂存存储的
glance-api.conf
文件中的文件与镜像服务数据库中的对应镜像进行比较,如 <image_ID>.raw
。- 如果这些对应的镜像显示导入状态,您必须重新创建镜像。
- 如果镜像显示 active 状态,您必须从暂存中删除数据并重启副本导入。
-
检查和清除 Ceph 存储中的遗留数据。从暂存区域清理的镜像必须具有包含镜像的 Ceph 存储的
stores
属性中的匹配记录。Ceph 中的镜像名称是镜像服务数据库中的镜像 ID。 清除镜像服务数据库。清除从导入作业导入状态的任何镜像都会中断:
$ glance image-delete <image_id>