cheng029 发表于 2015-7-14 15:55:39

在CentOS 6.6上安装多节点OpenStack(part 3、4 of 6)

四、配置映像服务 0、OpenStack映像服务使用户能够发现、注册、检索虚拟机映像。用户通过OpenStack映像服务存储虚拟机映像,存储的位置既可以位于简单的Linux文件系统,也可以位于OpenStack对象存储服务Swift中。OpenStack使用Glance提供映像服务,只需要在控制节点(controller node)上配置映像服务。为了简化配置,在这里将使用Linux文件系统作为映像存储位置,即把虚拟机映像存储在映像服务所在的主机中(即controller),默认的目录是/var/lib/glance/images/。 1、安装映像服务 (1)应用管理用户的环境变量# source admin-openrc.sh (2)安装映像服务glance# yum installopenstack-glance python-glanceclient (3)配置数据库的位置映像服务将映像信息存储在数据库中,这里将使用controller节点上的MySQL数据库服务。数据库用户名为glance,密码为123456。# openstack-config --set/etc/glance/glance-api.conf database connectionmysql://glance:123456@controller/glance # openstack-config --set/etc/glance/glance-registry.conf database connection mysql://glance:123456@controller/glance (4)创建数据库用户名glance,密码为123456。# mysql -u root -pEnter password:      # 输入数据库用户root的密码123456。 mysql> CREATE DATABASE glance; mysql> GRANT ALL PRIVILEGES ON glance.*TO 'glance'@'localhost' IDENTIFIED BY '123456'; mysql> GRANT ALL PRIVILEGES ON glance.*TO 'glance'@'%' IDENTIFIED BY '123456'; mysql> exit (5)为映像服务创建数据库表# su -s /bin/sh -c"glance-manage db_sync" glance /usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57:PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attackvulnerability. _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attackvulnerability.", PowmInsecureWarning) #安全风险警告,暂忽略。 (6)在Keystone中为映像服务创建用户glance,密码为123456,邮箱为glance@localhost。将该用户关联到租户service,角色为admin。# keystone user-create--name=glance --pass=123456 --email=glance@localhost                              # keystone user-role-add--user=glance --tenant=service --role=admin (7)配置映像服务Glance使用Keystone进行认证,用户glance的密码为123456。# openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_uri http://controller:5000 # openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_host controller # openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_port 35357 # openstack-config --set/etc/glance/glance-api.conf keystone_authtoken auth_protocol http # openstack-config --set/etc/glance/glance-api.conf keystone_authtoken \admin_tenant_name service # openstack-config --set/etc/glance/glance-api.conf keystone_authtoken admin_user glance # openstack-config --set/etc/glance/glance-api.conf keystone_authtoken \admin_password 123456 # openstack-config --set/etc/glance/glance-api.conf paste_deploy flavor keystone # openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken \auth_uri http://controller:5000 # openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken \auth_host controller # openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken auth_port 35357 # openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken auth_protocol http # openstack-config --set/etc/glance/glance-registry.conf \keystone_authtoken admin_tenant_nameservice # openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken admin_user glance # openstack-config --set/etc/glance/glance-registry.conf keystone_authtoken \admin_password 123456 # openstack-config --set/etc/glance/glance-registry.conf paste_deploy flavor keystone (8)向认证服务Keystone注册映像服务Glance,并创建Endpoint。# keystoneservice-create --name=glance --type=image --description="OpenStack ImageService" # keystoneendpoint-create \>--service-id=$(keystone service-list | awk '/ image / {print $2}') \>--publicurl=http://controller:9292 \>--internalurl=http://controller:9292 \>--adminurl=http://controller:9292 (9)启动glance-api和glance-registry服务并将服务配置为开机自动启动。# serviceopenstack-glance-api startStarting openstack-glance-api:                            # serviceopenstack-glance-registry startStarting openstack-glance-registry:                         # chkconfigopenstack-glance-api on # chkconfigopenstack-glance-registry on 2、上传Cirros映像 为了验证映像服务是否安装成功,需要下载并创建至少一个虚拟机映像。Cirros是一个常用于OpenStack部署测试的极小Linux操作系统映像,这里将使用64位版的Cirros Qcow2格式映像。 (1)下载Cirros映像浏览https://download.cirros-cloud.net/,进入0.3.3目录,下载cirros-0.3.3-x86_64-disk.img文件,大小为12.5MB,使用SFTP或其他方式将文件传输到controller中的/root目录中。wget --no-check-certificatehttps://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img(2)使用file命令查看文件格式,确定映像格式为Qcow2。# filecirros-0.3.3-x86_64-disk.img cirros-0.3.3-x86_64-disk.img: Qemu Image,Format: Qcow , Version: 2 (3)将Cirros映像上传到Glance映像服务,指定映像名称为cirros-0.3.3-x86_64,映像格式为Qcow2,容器类型为bare,允许所有用户使用此映像。# glance image-create--name "cirros-0.3.3-x86_64" --disk-format qcow2 --container-formatbare --is-public True --progress < cirros-0.3.3-x86_64-disk.img (4)确认映像是否上传成功# glance image-list 3、上传CentOS映像 Cirros只能用于测试OpenStack环境,通常不能满足云服务器的需求。很多Linux发行版都提供了适用于OpenStack云的映像,以下为常用的云映像下载地址。CentOS 6:http://cloud.centos.org/centos/6/images/CentOS 7:http://cloud.centos.org/centos/7/images/Ubuntu:http://cloud-images.ubuntu.com/RHEL 6:https://rhn.redhat.com/rhn/software/channel/downloads/Download.do?cid=16952RHEL 7:https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.0/x86_64/product-downloadsFedora:https://getfedora.org/en/cloud/download/Debian:http://cdimage.debian.org/cdimage/openstack/ 这里将使用CentOS 6映像。(1)      下载CentOS 6映像下载页面中的CentOS-6-x86_64-GenericCloud-20141129_01.qcow2文件,大小为1.07GB,使用SFTP或其他方式将文件传输到controller中的/root目录中。Wget http://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud-20141129_01.qcow2 (2)使用file命令查看文件格式,确定映像格式为Qcow2。# fileCentOS-6-x86_64-GenericCloud-20141129_01.qcow2 CentOS-6-x86_64-GenericCloud-20141129_01.qcow2:Qemu Image, Format: Qcow , Version: 2 (3)将CentOS映像上传到Glance映像服务,指定映像名称为CentOS-6.6-x86_64,映像格式为Qcow2,容器类型为bare,允许所有用户使用此映像。# glance image-create--name CentOS-6.6-x86_64 --disk-format qcow2 --container-format bare--is-public True --file CentOS-6-x86_64-GenericCloud-20141129_01.qcow2 (4)确认映像是否上传成功# glance image-list 五、配置计算服务 0、计算服务是IaaS云计算系统的核心部分,用来运行和管理云操作系统。计算服务通过认证服务实现身份验证,通过映像服务获取云操作系统映像,通过Dashboard实现用户的Web接口。计算服务可以使用标准硬件实现水平方向扩展,根据需求下载映像并启动虚拟机实例。OpenStack使用Nova提供计算服务,Nova包含多个组件,使用户可以启动虚拟机实例。既可以将所有计算服务组件安装在同一个节点上,也可以分别安装在不同的节点。在这里,将把计算服务的多数组件安装在控制节点上,把用来启动虚拟机的组件安装在计算节点上。 1、在控制节点上安装计算服务 (1)应用管理用户的环境变量# source admin-openrc.sh (2)安装控制节点所需要的计算服务组件# yum installopenstack-nova-api openstack-nova-cert openstack-nova-conductoropenstack-nova-console openstack-nova-novncproxy openstack-nova-schedulerpython-novaclient (3)配置数据库的位置计算服务将信息存储在数据库中,这里将使用controller节点上的MySQL数据库服务。数据库用户名为nova,密码为123456。# openstack-config --set/etc/nova/nova.conf database connection mysql://nova:123456@controller/nova (4)配置计算服务使用Qpid消息代理# openstack-config --set/etc/nova/nova.conf DEFAULT rpc_backend qpid # openstack-config --set/etc/nova/nova.conf DEFAULT qpid_hostname controller (5)将my_ip、vncserver_listen和vncserver_proxyclient_address选项设置为控制节点管理接口(eth0)的IP地址192.168.8.11。# openstack-config --set/etc/nova/nova.conf DEFAULT my_ip 192.168.8.11 # openstack-config --set/etc/nova/nova.conf DEFAULT vncserver_listen 192.168.8.11 # openstack-config --set/etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.96.11 (6)创建数据库用户名nova,密码为123456。# mysql -u root -pEnter password:      # 输入数据库用户root的密码123456 mysql> CREATE DATABASE nova; mysql> GRANT ALL PRIVILEGES ON nova.* TO'nova'@'localhost' IDENTIFIED BY '123456'; mysql> GRANT ALL PRIVILEGES ON nova.* TO'nova'@'%' IDENTIFIED BY '123456'; mysql> exit (7)为计算服务创建数据库表# su -s /bin/sh -c"nova-manage db sync" nova (8)在Keystone中为计算服务创建用户nova,密码为123456,邮箱为nova@localhost。将该用户关联到租户service,角色为admin。# keystone user-create--name=nova --pass=123456 --email=nova@localhost # keystone user-role-add--user=nova --tenant=service --role=admin (9)配置计算服务Nova使用Keystone进行认证,用户nova的密码为123456。# openstack-config --set/etc/nova/nova.conf DEFAULT auth_strategy keystone # openstack-config --set/etc/nova/nova.conf keystone_authtoken \auth_uri http://controller:5000 # openstack-config --set/etc/nova/nova.conf keystone_authtoken auth_host controller # openstack-config --set/etc/nova/nova.conf keystone_authtoken auth_protocol http # openstack-config --set/etc/nova/nova.conf keystone_authtoken auth_port 35357 # openstack-config --set/etc/nova/nova.conf keystone_authtoken admin_user nova # openstack-config --set/etc/nova/nova.conf keystone_authtoken admin_tenant_name service # openstack-config --set/etc/nova/nova.conf keystone_authtoken admin_password 123456 (10)向认证服务Keystone注册计算服务Nova,并创建Endpoint。# keystoneservice-create --name=nova --type=compute --description="OpenStackCompute" # keystoneendpoint-create \>--service-id=$(keystone service-list | awk '/ compute / {print $2}') \>--publicurl=http://controller:8774/v2/%\(tenant_id\)s \>--internalurl=http://controller:8774/v2/%\(tenant_id\)s \>--adminurl=http://controller:8774/v2/%\(tenant_id\)s (11)启动计算服务并将服务配置为开机自动启动# serviceopenstack-nova-api startStarting openstack-nova-api:                               # serviceopenstack-nova-cert startStarting openstack-nova-cert:                               # serviceopenstack-nova-consoleauth startStarting openstack-nova-consoleauth:                      # serviceopenstack-nova-scheduler startStarting openstack-nova-scheduler:                         # serviceopenstack-nova-conductor startStarting openstack-nova-conductor:                         # serviceopenstack-nova-novncproxy startStarting openstack-nova-novncproxy:                         # chkconfigopenstack-nova-api on # chkconfigopenstack-nova-cert on # chkconfigopenstack-nova-consoleauth on # chkconfigopenstack-nova-scheduler on # chkconfigopenstack-nova-conductor on # chkconfigopenstack-nova-novncproxy on (12)验证Nova安装# nova image-list 2、在计算节点上安装计算服务 计算节点根据从控制节点接收的请求运行虚拟机,计算服务依靠虚拟化引擎运行虚拟机,OpenStack可以使用多种虚拟化引擎,这里使用Linux KVM。 (1)安装计算服务# yum installopenstack-nova-compute (2)为Nova配置数据库的位置,并配置Nova使用Keystone进行认证。其中数据库用户nova以及认证服务中nova用户的密码都是123456。# openstack-config --set/etc/nova/nova.conf database \connectionmysql://nova:123456@controller/nova # openstack-config --set/etc/nova/nova.conf DEFAULT auth_strategy keystone # openstack-config --set/etc/nova/nova.conf keystone_authtoken \auth_uri http://controller:5000 # openstack-config --set/etc/nova/nova.conf keystone_authtoken auth_host controller # openstack-config --set/etc/nova/nova.conf keystone_authtoken auth_protocol http # openstack-config --set/etc/nova/nova.conf keystone_authtoken auth_port 35357# openstack-config --set/etc/nova/nova.conf keystone_authtoken admin_user nova # openstack-config --set/etc/nova/nova.conf keystone_authtoken admin_tenant_name service # openstack-config --set/etc/nova/nova.conf keystone_authtoken admin_password 123456 (3)配置计算服务使用控制节点的Qpid消息代理# openstack-config --set/etc/nova/nova.conf DEFAULT rpc_backend qpid # openstack-config --set/etc/nova/nova.conf DEFAULT qpid_hostname controller (4)配置计算服务提供到虚拟机实例的远程控制台访问,其中192.168.8.22是计算节点管理网络接口(eth0)的IP地址。# openstack-config --set/etc/nova/nova.conf DEFAULT my_ip 192.168.8.22 # openstack-config --set/etc/nova/nova.conf DEFAULT vnc_enabled True # openstack-config --set/etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0 # openstack-config --set/etc/nova/nova.conf DEFAULT \vncserver_proxyclient_address 192.168.8.22 # openstack-config --set/etc/nova/nova.conf DEFAULT novncproxy_base_url http://controller:6080/vnc_auto.html (5)指定运行映像服务的节点(即控制节点)# openstack-config --set/etc/nova/nova.conf DEFAULT glance_host controller (6)判断计算节点是否支持CPU虚拟化# egrep -c '(vmx|svm)'/proc/cpuinfo4如果该命令返回大于或等于1的数字,表示计算节点支持CPU虚拟化。如果该命令返回的数字为0,表示计算节点不支持CPU虚拟化,需要更换为其他主机。 (7)启动计算服务及其依赖的服务并将服务配置为开机自动启动# service libvirtd startStarting libvirtd daemon:                                  # service messagebus startStarting system message bus:                               # serviceopenstack-nova-compute startStarting openstack-nova-compute:                           # chkconfig libvirtd on # chkconfig messagebus on # chkconfigopenstack-nova-compute on
页: [1]
查看完整版本: 在CentOS 6.6上安装多节点OpenStack(part 3、4 of 6)