OpenStack newton版安装教程(2)——Glance部分
在传统IT环境下需要安装一个系统的话,一般是通过安装光盘或者Ghost等克隆工具安装,首先是耗时较长,安装完成后还需要进行系统的配置,整体效率会非常低。而在云环境下有更高效的解决方案——Image镜像。Image可以理解成一个系统的模板,将Image进行snapshot快照,快照里面包含了系统和需要的软件。以后只用在有需要的时候使用Image创建instance虚机就可以实现全自动化快速部署。另外快照还有备份作用,可以快速恢复系统状态。在OpenStack中,提供和管理Image镜像的服务叫做Glance。
Glance工作流程
当用户想要访问Glance的话,首先需要通过与glance-api进行交互才能获取服务,该API会将用户请求进行分解:
1、如果用户是查找Image镜像的元数据,glance-api就会将这个请求转发给glance-registry来处理,glance-registry是负责与后端数据库进行交互的服务,也就是说数据库存放的是Image的元数据(Image的名字、权限、大小等信息属于元数据),而不是Image镜像本身。
2、如果用户请求的是Image镜像本身,那么API会将这种请求转给后端存储,如本地文件系统,Ceph,Cinder,swift3等。具体使用哪种存储是由/etc/glance/glance-api.conf中配置的,默认使用本地存储在/var/lib/glance/images中。Glance支持多种格式的Image,比如ISO、QCOW2、RAW、vhd、vmdk
Glance安装与配置
1、为Glance创建数据库和数据库用户
create database glance; grant all privileges on glance.* to 'glance'@'localhost' identified by '123456'; grant all privileges on glance.* to 'glance'@'%' identified by '123456';
2、为OpenStack创建一个glance用户
source /root/admin-openrc openstack user create --domain default glance --password 123456 openstack role add --project service --user glance admin #把glance用户加入到service项目,并定义为admin角色
3、创建image服务并验证服务
openstack service create --name glance --description "Image service" image openstack service list
4、为Glance创建endpoint并且验证,这里可以看到Glance的端口是9292
openstack endpoint create --region RegionOne image public http://CONTROLLER_IP:9292 openstack endpoint create --region RegionOne image internal http://CONTROLLER_IP:9292 openstack endpoint create --region RegionOne image admin http://CONTROLLER_IP:9292 openstack endpoint list
5、使用yum安装Glance
yum install openstack-glance -y
6、修改配置文件glance-api.conf,添加数据库和keystone等配置,这里采用了命令行的方式,直接修改配置文件也可以的
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@CONTROLLER_IP/glance #这里填写数据库用户名密码以及主机名 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://CONTROLLER_IP:5000 #服务需要与keystone取得联系,这里就是keystone的访问地址 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://CONTROLLER_IP:35357 #同上 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers CONTROLLER_IP:11211 #memcached服务地址 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password #采用密码验证 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name default openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name default openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance #第二步创建的glance用户 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password 123456 openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http openstack-config --set /etc/glance/glance-api.conf glance_store default_store file openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /data/glance/images/
修改配置文件glance-registry.conf,配置数据库和keystone
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@CONTROLLER_IP/glance #这里填写数据库用户名密码以及主机名 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://CONTROLLER_IP:5000 #服务需要与keystone取得联系,这里就是keystone的访问地址 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://CONTROLLER_IP:35357 #同上 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers CONTROLLER_IP:11211 #memcached服务地址 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password #采用密码验证 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name default openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name default openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance #第二步创建的glance用户 openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password 123456 openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
7、数据库初始化,一般报警可忽略,只要不是报错就不影响
su -s /bin/sh -c "glance-manage db_sync" glance
8、创建存放镜像的目录并赋权
mkdir -p /data/glance/images chown -R glance:glance /data/glance
9、设置Glance服务的启动与开机自启
systemctl enable openstack-glance-api.service openstack-glance-registry.service systemctl start openstack-glance-api.service openstack-glance-registry.service10、下载一个官方提供的测试镜像到本地
wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
11、上传刚才下载的镜像到Glance中
openstack image create "cirros" --file cirros-0.3.4-x86_64-disk.img --disk-format qcow2 --container-format bare --public #public代表公有,其他用户也可以使用
12、查看镜像,完成
openstack image list
openstack iamge delete IMAGE #删除镜像
13、开机自启动
systemctl enable openstack-glance-api.service openstack-glance-registry.service systemctl start openstack-glance-api.service openstack-glance-registry.service
评论