赞
踩
老规矩–妹妹镇楼:
登录mysql
[root@controller ~]# mysql -u root
创建数据库glance
MariaDB [(none)]> CREATE DATABASE glance;
Query OK, 1 row affected (0.000 sec)
为glance用户本地命令行以及远程登录赋予权限,用户密码为GLANCE_DBPASS
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
Query OK, 0 rows affected (0.000 sec)
首先要建立一个glance用户,然后创建一个项目,最后关联赋予角色。在搭建keystone的时候,我们已经创建了一个组件共有的项目service项目,glance属于一个组件,keystone属于一个组件,nova属于一个组件等等的这些所有的组件都在一个项目中(service项目),所以项目就不需要建立,直接赋予角色信息。
对于glance来说,它属于管理着镜像服务,keystone管理着认证服务,neutron管理着网络服务,nova,cinder等等,这些所有的管理者的用户必须是admin。
为glance的使用者创建用户glance,密码为GLANCE_PASS
openstack user create --domain default --password GLANCE_PASS glance
对glance-service添加admin角色,提示:用户glance只有在一个确定的项目service内才有角色的概念,单独的用户或者单独的项目都是无法绑定角色的,因此将glance用户绑定到项目service中。
openstack role add --project service --user glance admin
可以看到,为glance用户添加了admin角色后,glance用户的后缀为ec07c2,同时它的project也是service项目。
创建glance服务的catalog:service+endpoint
创建glance服务实体
[root@controller ~]# openstack service create --name glance --description "OpenStack Image" image
注意,一定要指定它的类型为image镜像类型
可以看到,当前有两个service,一个是keystone的,一个是glance,两个service的Type都不一样。
创建外部访问glance的API
[root@controller ~]# openstack endpoint create --region RegionOne image public http://192.168.112.146:9292
创建内部访问glance的API
[root@controller ~]# openstack endpoint create --region RegionOne image internal http://192.168.112.146:9292
创建admin访问glance的API
[root@controller ~]# openstack endpoint create --region RegionOne image admin http://192.168.112.146:9292
查看所有的endpoint,可以看到glance服务的三种API访问方式:
注意现在的这些操作都是在keystone里面,还没有具体的glance服务。
keystone对glance的操作就结束了 接下来就是正式安装glance了
[root@controller ~]# yum install openstack-glance
(1)一定要在opesntack-glance-api.service服务启动之前部署好存储设备,因为该服务在启动时会加载存储驱动检索存储设备,如果事先不存在,就意味着该服务没有识别到任何可用的存储设备,即便是后来你又新增了存储,仍然是无效的,最终导致你上传镜像失败;
(2)一定要赋予opesntack-glance-api.service服务对存储设备的可写权限。
配置文件中的存储设备为/var/lib/glance/images,因此创建该目录,修改权限
mkdir /var/lib/glance/images
chown -R glance.glance /var/lib/glance/images
首先精简一下glance-api.conf和glance-registry.conf配置文件:
cp -a /etc/glance/glance-api.conf{,.bak}
cp -a /etc/glance/glance-registry.conf{,.bak}
grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf
grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak > /etc/glance/glance-registry.conf
配置/etc/glance/glance-api.conf V2版本,其中的各种配置通过openstack-config修改:
修改glance数据库的连接地址:
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@192.168.112.146/glance
修改keystone认证的url:
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://192.168.112.146:5000
修改auth_url:
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://192.168.112.146:5000
修改memcached服务器的地址
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers 192.168.112.146:11211
修改glance的认证方式为password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
修改项目的domain名称为Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
修改用户的domain名称为Defaultw
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
修改项目名称为service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
修改用户名为glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
修改password为GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password GLANCE_PASS
修改
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
修改glance的存储方式为file或http
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
修改glance的默认存储方式为file
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
修改glance的文件存储目录
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
接下来配置glance-registry.conf,v1版本:
修改glance数据库的连接地址:
openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@192.168.112.146/glance
修改keystone认证的url:
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://192.168.112.146:5000
修改auth_url:
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://192.168.112.146:5000
修改memcached服务器的地址
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers 192.168.112.146:11211
修改glance的认证方式为password
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
修改项目的domain名称为Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
修改用户的domain名称为Defaultw
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
修改项目名称为service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
修改用户名为glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance
修改password为GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password GLANCE_PASS
修改
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
下面的三项并没有设置:
修改glance的存储方式为file或http
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
修改glance的默认存储方式为file
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
修改glance的文件存储目录
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
su -s /bin/sh -c "glance-manage db_sync" glance
初试完glance数据库后,进入mysql中查询glance数据库,存在数据表即可:
[root@controller ~]# systemctl enable openstack-glance-api.service
[root@controller ~]# systemctl start openstack-glance-api.service
检查服务启动情况,如果有9292端口,则表示glance服务启动成功。
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
• -t (tcp) 仅显示tcp相关选项
• -u (udp)仅显示udp相关选项
• -n 拒绝显示别名,能显示数字的全部转化为数字
• -l 仅列出在Listen(监听)的服务状态
• -p 显示建立相关链接的程序名
可以看到,9292端口已经启动占用了。
首先获得admin权限
source admin-openrc
这时候执行如下命令可以看到为空
openstack image list
因为里面还没有镜像 所以我们要先上传一个
下载一个极小的cirrors镜像:
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
创建一个镜像cirrors,镜像格式是qcow2,容器的格式是bare,范围是public:
openstack image create --file /root/cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
上面是cirrors镜像的所有信息,非常详细 。
(官方文档坑点之一,这里不要使用官方文档里面的glance image-create这样的写法,新版本的OpenStack已经不支持,尽量统一使用以openstack开头的命令写法)
查看当前所有的image信息:
openstack image list
查看Image对应的物理文件,在默认的images存储目录/var/lib/glance/images下:
ll /var/lib/glance/images
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。