Image Service:
Glance组件,用于在openstack中注册、发现及获取VM映像文件:
vm的映像文件存储位置:
普通文件系统、对象存储系统(swift)、s3存储
安装配置glance服务:
认证配置(keystone)上的配置:
创建用户(glance):
openstack user create --domain default --password-prompt glance
将用户关联至租户和role上:
openstack role add --project service --user glance admin
创建glance服务实体:
openstack service create --name glance --description "OpenStack Image" image
创建镜像服务的API ENDPOINT:
openstack endpoint create --region RegionOne image admin http://con.colinshi.top:9292
openstack endpoint create --region RegionOne image internal http://con.colinshi.top:9292
openstack endpoint create --region RegionOne image public http://con.colinshi.top:9292
安装glance包:
yum install openstack-glance
编辑配置文件/etc/glance/glance-api.conf和/etc/glance/glance-registry.conf:
[database] 部分,配置数据库访问:
connection = mysql+pymysql://root:123456@con.colinshi.top/glance
注:这里需要先在mysql上建立glance数据库,并赋予相关访问权限
[keystone_authtoken]部分,配置认证服务访问:
auth_uri = http://con.colinshi.top:5000
auth_url = http://con.colinshi.top:35357
memcached_servers = con.colinshi.top:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = glance
注:[keystone_authtoken]部分的其他选项请删除或者注释。
[paste_deploy]部分,配置认证服务访问:
flavor = keystone
注:上面内容是两个配置文件都需要修改的选线,主要是数据库服务器及认证方式
编辑配置文件/etc/glance/glance-api.conf:
[glance_store]部分,配置本地文件系统存储和镜像文件位置:
stores = file,http
default_store = file
filesystem_store_datadir = /img/
注1:这里配置的是映像文件具体的位置和存储方式,filesystem_store_datadir = /img/的目录需要授予glance用户及组的访问权限这。
注2:filesystem_store_datadir = /img/,如果没有最后的/会出现创建映像文件错误。"存储配置中出错。已禁止将映像添加至存储器。"
初始化glance数据库:
su -s /bin/sh -c "glance-manage db_sync" glance
启动glance服务:
systemctl start openstack-glance-api.service openstack-glance-registry.service
systemctl enable openstack-glance-api.service openstack-glance-registry.service
glance新增映像文件:
openstack image create [Option...]
--architecture <ARCHITECTURE>:操作系统结构,参见:http://docs.openstack.org/user-guide/common/cli-manage-images.html
--protected [True|False]:写保护,True代表开启写保护
--name <NAME>:映像文件名描述信息
--instance-uuid <INSTANCE_UUID>:元数据用于记录映像文件的实例UUID
--min-disk <MIN_DISK>:启用映像文件所需的磁盘空间量(以GB为单位)
--visibility <VISIBILITY>:可访问的范围有效值,public,所有租户可都以使用,有效值: public, private, community, shared
--kernel-id <KERNEL_ID>:Glance中存储的映像的ID,在引导AMI-style的映像文件时,内核ID
--tags <TAGS> [<TAGS> ...]:标签
--os-version <OS_VERSION>:操作系统版本的描述信息
--disk-format <DISK_FORMAT>:映像文件格式,支持:None, ami, ari, aki, vhd, vhdx, vmdk, raw, qcow2, vdi, iso, ploop
--os-distro <OS_DISTRO>:指定的操作系统的通用名称,参见:http://docs.openstack.org/user-guide/common/cli-manage-images.html
--id <ID>:映像文件生成后的ID,可以自动生成
--owner <OWNER>:映像文件所有者
--ramdisk-id <RAMDISK_ID>:使用AMI-style的映像文件时,指定ramdisk的ID
--container-format <CONTAINER_FORMAT>:容器格式,可以理解为可以在什么虚拟机环境下运行,比如Xen,KVM,docker等,支持的值:None, ami, ari, aki, bare, ovf, ova, docker
--property <key=value>:映像文件的相关属性,键值对设置
--file <FILE>:映像文件路径
示例:openstack image create "centos7.3" --file /img/centos7.qcow2 --disk-format qcow2 --container-format bare --public
glance删除映像文件:
glance image-delete <IMAGE_ID> [<IMAGE_ID> ...]
列出映像文件:
glance image-list
显示映像文件信息:
glance image-show <IMAGE_ID>
下载映像文件至本地:
glance image-download [--file <FILE>] [--progress] <IMAGE_ID>