1、OPENSTACK配置与管理项目式实训任务四 Glance的手工安装与配置OPENSTACK配置与管理一任务前提环境成功完成任务4中所有内容后开始本实验,或者从已完成任务4的镜像开始,继续完成本任务内容。二任务涉及节点:controller三任务目标:1.完成Glance基本组件的安装;2.完成Glance数据库的创建以及授权;3.完成Glance用户、服务及端点的创建;4.完成Glance主配置文件的修改;5.完成镜像的上传和验证。OPENSTACK配置与管理四任务步骤及其详解:步骤一:安装Glance基本组件(此处有视频:7-1Glance的安装及其配置)在controller节点上执行y
2、um源安装命令安装Glance依赖包,命令如下。rootcontroller#yum-y install openstack-glance python-glanceclient执行上述安装命令成功后,我们可以看到成功标志,所有Glance依赖包都安装完成,如图1所示。图1 Glance依赖包安装完成的反馈结果OPENSTACK配置与管理步骤二:创建Glance数据库并授权首先,用root用户登录MySQL数据库,命令如下。rootcontroller#mysql-uroot-p000000登陆后,我们先创建Glance数据库,命令如下。mysql CREATE DATABASE glance
3、;看到提示Query OK,1 row affected(0.00 sec),表明数据库创建成功。接着,创建MySQL的Glance用户,并赋予其Glance数据库的操作权限,使得本地及远程都能访问,密码为000000,命令如下。mysql GRANT ALL PRIVILEGES ON glance.*TO glancelocalhost IDENTIFIED BY 000000;mysql GRANT ALL PRIVILEGES ON glance.*TO glance%IDENTIFIED BY 000000;mysql exitOPENSTACK配置与管理上述SQL语句与创建Keys
4、tone数据库的语句一致,请参考实训项目4中第四小节“实训步骤及其详解”的步骤二“创建Keystone数据库并授权”部分对创建数据库时sql语句的说明,在此不做赘述。然后,我们需要为Glance服务创建数据库表,创建数据库表之前,需要先修改Glance配置文件中用于数据库连接的内容,命令如下。rootcontroller#openstack-config-set/etc/glance/glance-api.conf database connection mysql:/glance:000000controller/glancerootcontroller#openstack-config-s
5、et/etc/glance/glance-registry.conf database connection mysql:/glance:000000controller/glanceOPENSTACK配置与管理上述命令的功能是分别在/etc/glance/glance-api.conf和/etc/glance/glance-registry.conf两个文件的database段落中添加“connection=mysql(数据库类型):/glance(登陆数据库的用户名):000000(用户密码)controller(数据库主机名)/glance(数据库)”配置。我们通过vi/vim命令直接修
6、改/etc/glance下的两个配置文件,也可以达到相同效果。接着,我们需要同步数据库,为Glance服务创建数据库表,命令如下。rootcontroller#su-s/bin/sh-c glance-manage db_sync glanceOPENSTACK配置与管理可以通过执行下面一条语句,查看是否同步并创建成功,命令如下,结果如图2所示。rootcontroller#mysql-u root-p000000-e use glance;show tables;图2 查看数据库同步的反馈结果OPENSTACK配置与管理步骤三:注册Glance服务至Keystone服务器在OpenStack
7、中,几乎所有的服务(包括Keystone服务)要想正常运行,都必须首先向Keystone服务器注册。每一个服务需要向Keystone注册以下两个方面的信息,即用户信息,服务(service)和端点(endpoint)信息。首先,我们进行Glance用户信息的注册。注册用户信息的目的是为了认证用户身份的。当一个用户向Glance服务器发送请求时,Glance服务器首先要认证该用户是否合法。此时,Glance会使用已注册的Glance用户向Keystone服务器发送认证请求。本书所有的服务都创建在service租户下。因此,Glance用户必须在service租户下具有admin权限。OPENST
8、ACK配置与管理添加Glance用户,并为用户设置密码,在本书实训过程中我们所有的密码统一使用000000,命令如下,结果如图3所示。rootcontroller#keystone user-create-name=glance-pass=000000图3 创建Glance用户反馈结果OPENSTACK配置与管理再为Glance用户在service租户下分配admin权限,命令如下。rootcontroller#keystone user-role-add-user=glance-tenant=service-role=admin上述命令用法在第六章任务4步骤七中已经提到,在这里不在赘述。值得
9、注意的是执行赋予Glance用户admin权限的命令是没有任何输出的。接下来,我们注册Glance服务(service)和端点(endpoint)信息,注册服务和端点的信息目的是为了确保用户能够顺利访问Glance服务,并执行一系列与Glance服务有关的操作。OPENSTACK配置与管理注册Glance服务信息,命令如下,结果如图4所示。rootcontroller#keystone service-create-name=glance-type=image-description=OpenStack Image Service图4 Glance服务创建反馈结果OPENSTACK配置与管理注
10、册Glance端点信息,命令如下,结果如图5所示。rootcontroller#keystone endpoint-create-service-id=$(keystone service-list|awk/image/print$2)-p u b l i c u r l=h t t p:/c o n t r o l l e r:9 2 9 2 -i n t e r n a l u r l=h t t p:/c o n t r o l l e r:9 2 9 2 -adminurl=http:/controller:9292图5 Glance的endpoint创建反馈结果OPENSTACK配置
11、与管理上述命令用法在第六章任务4步骤八中已经提到,在这里不在赘述。需要注意的是,Glance服务端口号为9292,同时各服务组件间的url版本不尽相同,操作时应该格外注意。OPENSTACK配置与管理步骤四:修改Glance配置文件(此处有视频:7-2Glance的安装及其配置)我们在步骤三进行了Glance用户信息、服务和端点信息的注册,为了能让Glance服务顺利通过Keystone的认证,我们还需要在两 个 配 置 文 件/e t c/g l a n c e/g l a n c e-a p i.c o n f 以 及/etc/glance/glance-registry.conf中记录K
12、eystone的认证信息,即在配置文件的keystone_authtoken字段中修改Keystone的相关身份认证信息,同时在paste_deploy字段中添加Keystone支持。有了这些认证信息,Glance在向外提供服务的时候,能够顺利通过Keystone的认证。首先我们修改/etc/glance/glance-api.conf配置文件,命令如下。OPENSTACK配置与管理rootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken auth_uri http:/controller
13、:5000rootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken auth_host controllerrootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken auth_port 35357rootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken auth_protocol
14、httprootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken admin_tenant_name servicerootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken admin_user glancerootcontroller#openstack-config-set/etc/glance/glance-api.conf keystone_authtoken admin_pa
15、ssword 000000rootcontroller#openstack-config-set/etc/glance/glance-api.conf paste_deploy flavor keystoneOPENSTACK配置与管理当 然 我 们 也 可 以 通 过 v i/v i m 直 接 编 辑 配 置 文 件/etc/glance/glance-api.conf,在相应的地方做上述内容的修改,以达到相同的效果。修改完成后使用grep命令过滤/etc/glance/glance-api.conf文件中的内容,来检查已完成的配置。命令和结果如下所示。OPENSTACK配置与管理root
16、controller#grep a-z,/etc/glance/glance-api.conf DEFAULTdatabaseconnection=mysql:/glance:000000controller/glancekeystone_authtokenauth_uri=http:/controller:5000auth_host=controllerauth_port=35357auth_protocol=httpadmin_tenant_name=serviceadmin_user=glanceadmin_password=000000paste_deployflavor=keysto
17、nestore_type_location_strategyOPENSTACK配置与管理下面我们看一看Keystone认证信息中每条语句的作用。auth_uri 输入Keystone服务的uri,即位置信息。对于外部用户Keystone服务定义了一个端口号为5000的publicuri,这里我们填写的是publicuriauth_host 输入Keystone所在主机地址;auth_port 输入Keystone的认证端口,对于admin用户来说Keystone提供35357端口用来认证;auth_protocol 输入Keystone认证所使用的协议,通常我们使用http协议;admin_t
18、enant_name 输入Glance服务所属的租户名,OpenStack所有的组件均使用service租户;admin_user 输入Glance服务在Keystone中注册时的用户名;admin_password 输入Glance服务在Keystone中注册时所使用的密码,这里为000000,在实际OpenStack生产环境的部署过程中该密码值必须与步骤三中添加Glance用户时所使用的密码一致。OPENSTACK配置与管理接下来我们需要修改/etc/glance/glance-registry.conf配置文件,需要修改的内容与/etc/glance/glance-api.conf配置文
19、件相同,命令如下。r o o t c o n t r o l l e r#o p e n s t a c k-c o n f i g -s e t/etc/glance/glance-registry.conf keystone_authtoken auth_uri http:/controller:5000 r o o t c o n t r o l l e r#o p e n s t a c k-c o n f i g -s e t/etc/glance/glance-registry.conf keystone_authtoken auth_host controller r o o t
20、 c o n t r o l l e r#o p e n s t a c k-c o n f i g -s e t/etc/glance/glance-registry.conf keystone_authtoken auth_port 35357OPENSTACK配置与管理rootcontroller#openstack-config-set/etc/glance/glance-registry.conf keystone_authtoken auth_protocol httprootcontroller#openstack-config-set/etc/glance/glance-reg
21、istry.conf keystone_authtoken admin_tenant_name servicerootcontroller#openstack-config-set/etc/glance/glance-registry.conf keystone_authtoken admin_user glancerootcontroller#openstack-config-set/etc/glance/glance-registry.conf keystone_authtoken admin_password 000000rootcontroller#openstack-config-s
22、et/etc/glance/glance-registry.conf paste_deploy flavor keystoneOPENSTACK配置与管理同 样,我 们 也 可 以 通 过 v i/v i m 直 接 直 接 编 辑 配 置 文 件/etc/glance/glance-registry.conf,在相应的地方做上述内容的修改,以 达 到 相 同 的 效 果。修 改 完 成 后 使 用 g r e p 命 令 过 滤/etc/glance/glance-registry.conf文件中的内容,来检查已完成的配置。命令和结果如下所示。OPENSTACK配置与管理rootcontro
23、ller#grep a-z,/etc/glance/glance-registry.conf DEFAULTdatabaseconnection=mysql:/glance:000000controller/glancekeystone_authtokenauth_uri=http:/controller:5000auth_host=controllerauth_port=35357auth_protocol=httpadmin_tenant_name=serviceadmin_user=glanceadmin_password=000000paste_deployflavor=keyston
24、eOPENSTACK配置与管理步骤五:启动服务并加入开机自起为了让更新的配置生效,需要重启Glance服务,命令如下。rootcontroller#service openstack-glance-api restartrootcontroller#service openstack-glance-registry restart上述命令执行完之后,当看到OK的提示时,表示成功,如图6所示。图6 服务重启反馈结果OPENSTACK配置与管理这里需要注意的是,上述命令中我们执行的是“restart”而不是“start”,由于服务在执行上述命令之前是不存在的,所以第一次执行“restart”会在s
25、topping时出现FAILED状态,只要再重复执行一遍即可。接着我们将两个服务加入开机自启,命令如下。rootcontroller#chkconfig openstack-glance-api onrootcontroller#chkconfig openstack-glance-registry on上述命令执行后,可以通过chkconfig命令查看,看到345为on即表示成功加入开机自启,结果如下。rootcontroller#chkconfig|grep openstack-glanceopenstack-glance-api0:off 1:off 2:on 3:on 4:on 5:o
26、n 6:offopenstack-glance-registry 0:off 1:off 2:on 3:on 4:on 5:on 6:offOPENSTACK配置与管理步骤六:上传镜像在第四章的4.3小节“基本环境配置”的步骤三中我们已经通过mount命令我们将包含OpenStack可用镜像的iso文件挂载到/opt/iaas目录下,镜像存放在/opt/iaas/images目录下。OpenStack支持多种镜像格式,具体支持哪些镜像格式我们将在下面的内容中介绍。本书中的实训,我们使用qcow2格式的镜像。我们可以通过file命令来验证我们的镜像格式,命令和结果如下。rootcontrolle
27、r#file/opt/iaas/images/centos_65_x86_6420140327.qcow2 /opt/iaas/images/centos_65_x86_6420140327.qcow2:Qemu Image,Format:Qcow,Version:2OPENSTACK配置与管理上传镜像的命令如下,结果如图7所示。rootcontroller#glance image-create-name centos6.5-disk-format qcow2-container-format bare-is-public True-progress /opt/iaas/images/cen
28、tos_65_x86_6420140327.qcow2图7 上传镜像成功的反馈结果OPENSTACK配置与管理上述命令中,-name 用来指定镜像名,“centos6.5”仅为参考名,可自定义,-disk-format 用来指定镜像格式,有效的镜像格式包括ami、ari、aki、vhd、vmdk、raw、qcow2、vdi、和iso。-container-format 用来指定容器的格式,有效的格式包括bare、ovf、aki、ari和ami。指定bare来表明镜像文件不是包含虚拟机元数据文件的格式。目前来说这个字段是必须的,尽管它实际上并没有被任何的Openstack服务使用,对系统也没有什
29、么影响,但指定容器格式为bare总是安全的。-is-public 用来指定镜像是否对所有用户可见并可以被所有用户使用。True表示所有用户可见以及可以使用该镜像,False表示只有管理者可见并可以使用该镜像。-progress 用来显示上传进度,可以省略后面的内容是我们要上传的具体镜像文件名。其他具体参数可以通过查看Glance的帮助OPENSTACK配置与管理步骤七:验证镜像服务上传镜像后,我们可以通过命令来验证是否成功上传,命令如下,结果如图8所示。rootcontroller#glance index图8 查看镜像上传结果反馈信息这样通过上面的七步操作,我们就完成了对Glance服务的安
30、装及配置,并且成功的上传了一个可用的镜像,该镜像我们在后续的实训环节中会使用到。OPENSTACK配置与管理五常见错误及调试排错:错误1:环境变量问题执行命令:rootcontroller#glance index返回如下结果:You must provide a username via either-os-username or envOS_USERNAME结果提示需要提供用户名或者设置环境变量,这种问题是由于没有环境变量导致的。解决办法:设置环境变量。source 我们之前编辑的环境变量脚本文件即可。我们source后得到的环境变量只对当前shell和子shell有效,当我们关掉或重新打
31、开一个shell时,source得到的环境变量就失效了,我们需要重新source之前编辑的环境变量脚本。OPENSTACK配置与管理错误2:配置文件错误配置完Glance服务后,我们需要通过上传一个镜像来验证服务是否正常运行,执行上传镜像命令时,出现如下错误:rootcontroller#glance image-create-name centos-disk-format qcow2-container-format bare-is-public True-progress /opt/iaas/images/centos_65_x86_6420140327.qcow2图9 上传镜像错误反馈信
32、息OPENSTACK配置与管理分析排错:从提示信息“Invalid OpenStack Identity credentials”中文翻译为“无效的OpenStack认证证书”,我们可以初步猜测Keystone服务可能存在问题,接下来通过以下命令查看Keystone服务状态,以及Keystone服务所依赖的MySQL服务的状态,命令如下。rootcontroller#service openstack-keystone statuskeystone(pid 2180)is running.rootcontroller#service mysqld statusmysqld(pid 1584)i
33、s running.反馈的结果是两个服务都在运行没问题。OPENSTACK配置与管理接下来我们通过如下命令查看Keystone的日志文件,命令如下。rootcontroller#tail-f/var/log/keystone/keystone.log在日志文件中我们发现如下信息,如图10所示图10 Keystone日志文件反馈信息OPENSTACK配置与管理从上图可以看到,Keystone服务没有找到Glance服务的内容,我们进一步猜测是Glance在连接认证的地方有错误,再查看一下glance-api的日志,部分内容如图11所示。图11 glance-api日志文件反馈信息OPENSTAC
34、K配置与管理从上述日志文件中,我们基本可以判断错误的原因了,进入glance-api配置文件找到keystone认证部分,“auth_host”的值拼写错误,这与日志文件中显示的内容一致。修改错误信息,重启openstack-glance-api服务,再次上传镜像,成功解决。命令如下,如图12所示。rootcontroller#glance image-create-name centos-disk-format qcow2-container-format bare-is-public True-progress /opt/iaas/images/centos_65_x86_6420140327.qcow2图12 镜像上传成功
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。