openstack实施手册.docx
《openstack实施手册.docx》由会员分享,可在线阅读,更多相关《openstack实施手册.docx(56页珍藏版)》请在冰点文库上搜索。
![openstack实施手册.docx](https://file1.bingdoc.com/fileroot1/2023-5/23/264473fa-311e-4f80-94a2-304c939c85f5/264473fa-311e-4f80-94a2-304c939c85f51.gif)
openstack实施手册
3.7RHEV、KVM虚拟化
3.7.1RHEV安装
RHEV虚拟环境由RHEV-H(虚拟服务器)和RHEV-M(管理平台)组成。
RHEV-H安装在裸机上。
RHEV-M安装在redhatlinux6.3上,要求4G以上内存。
RHEV3.1版本开始,RHEV-M安装在linux系统平台。
RHEV3.0版本,只支持windows平台。
1、安装RHEV-H
2、安装RHEV-M管理端
(1)rhev3.1目录下的内容上传到/root/目录下:
(2)配置yum源
#cd/etc/yum.repos.d
#vilocal.repo
[rhev]
name=RedHatEnterpriseVirtualization
baseurl=file:
///root/rhev3.1
enabled=1
gpgcheck=1
gpgkey=file:
///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
(3)安装RHEV-M
#yuminstallrhevmrhevm-reports
(4)配置RHEV-M
#rhevm-setup
在配置过程中,需要输入admin、数据等密码,建议的输入的密码全部相同。
(5)IE访问测试
(6)配置报表
#rhevm-reports-setup
在登录界面选择“ReportsPortal”,(默认用户为rhevm-admin,密码是安装时输入的密码)
3、RHEV-M管理界面
疑问1:
KVM在无需共享存储的情况下,可以完成在线物理主机之前的迁移。
速度快,base文件相同,仅迁移虚拟机变化数据量。
疑问2:
RHEV-M、ESXi均无法继承到openstack,除非vmware和redhat开发api
疑问3:
Pureflex的FSM中不是内置了SCE功能吗,如果Pureflex算P团队的单,FSM应该内置一个安装SCE云平台的虚拟机。
疑问4:
KVM的正版授权。
3.7.2KVM安装
1、重新驱动虚拟机测试
物理主机:
32C+64GB
虚拟机1:
8C+32GB
虚拟机2:
8C+16GB
虚拟机3:
8C+16GB
同时重启三台虚拟机,发现物理主机内存使用率100%后,使用部分swap分区。
然后2-4分钟内逐步内存回收。
共六台虚拟机,重启其中三台
2、创建虚拟机测试
novaboot--availability-zone=nova:
Compute-40-F2-E9-11-9B-F9.kvm.cloud--imageb3d8fc40-6a00-4f28-8905-a4ce3e96e2c6--nicnet-id=d90f8e81-250c-442c-b0a6-bb68c1f087b7,v4-fixed-ip=10.13.250.240--flavor=win2008_app_8c_16G_300Gwin2008_test_240
novaboot--availability-zone=nova:
Compute-40-F2-E9-11-9B-F9.kvm.cloud--imageb3d8fc40-6a00-4f28-8905-a4ce3e96e2c6--nicnet-id=d90f8e81-250c-442c-b0a6-bb68c1f087b7,v4-fixed-ip=10.13.250.241--flavor=win2008_app_8c_16G_300Gwin2008_test_241
novaboot--availability-zone=nova:
Compute-40-F2-E9-11-9B-F9.kvm.cloud--imageb3d8fc40-6a00-4f28-8905-a4ce3e96e2c6--nicnet-id=d90f8e81-250c-442c-b0a6-bb68c1f087b7,v4-fixed-ip=10.13.250.242--flavor=win2008_app_8c_16G_300Gwin2008_test_242
启动所有操作系统后,内存使用率逐渐降低。
3.7.3vnc连接
[root@ControlNode~]#/etc/init.d/vncserverstart
StartingVNCserver:
nodisplaysconfigured[FAILED]
[root@ControlNode~]#rpm-qa|grepvnc
tigervnc-1.1.0-5.el6.x86_64
novnc-0.4-7.el6.noarch
gtk-vnc-0.3.10-3.el6.x86_64
tigervnc-server-1.1.0-5.el6.x86_64
1、启动vncserver与xrdp
/etc/init.d/vncserverrestart
/etc/init.d/xinetdrestart
[root@Compute-40-F2-E9-11-A8-09~]#/etc/init.d/vncserverrestart
ShuttingdownVNCserver:
[OK]
StartingVNCserver:
2:
rootAVNCserverisalreadyrunningas:
2
[FAILED]
[root@Compute-40-F2-E9-11-A8-09~]#
[root@Compute-40-F2-E9-11-A8-09~]#vncserver-list
TigerVNCserversessions:
XDISPLAY#PROCESSID
:
144760
[root@Compute-40-F2-E9-11-A8-09~]#
2、查看物理主机的vnc配置
[root@Compute-40-F2-E9-11-A8-09~]#netstat-an|grep59
tcp000.0.0.0:
59000.0.0.0:
*LISTEN
tcp000.0.0.0:
59010.0.0.0:
*LISTEN
tcp000.0.0.0:
59020.0.0.0:
*LISTEN
tcp000.0.0.0:
59030.0.0.0:
*LISTEN
tcp000.0.0.0:
59040.0.0.0:
*LISTEN
[root@Compute-40-F2-E9-11-A8-09~]#virshlist--all
IdNameState
----------------------------------------------------
1instance-000001f2running
2instance-000001f5running
3instance-000001f3running
4instance-000001f4running
5instance-0000020arunning
-tempshutoff
3.7.4KVM迁移测试
1、创建测试云主机
novaboot--availability-zone=nova:
Compute-40-F2-E9-11-B4-E1.kvm.cloud--imageb3d8fc40-6a00-4f28-8905-a4ce3e96e2c6--nicnet-id=d90f8e81-250c-442c-b0a6-bb68c1f087b7,v4-fixed-ip=10.13.xx.xx--flavor=win2008_app_2C_2G_50Gwin2008_app_242
2、在KVM中将instance-0000020b实例迁移到192.168.200.235主机上
Migrate过程:
迁移是qemu中支持的,libvirt只是封装好命令并传递给qemu的监控模块。
直接将xml和img拷贝到目的主机就ok了
virsh命令行迁移:
migrateinstance-0000020bqemu:
//10.10.10.1/system(tls模式)
migrateinstance-0000020bqemu+ssh:
//root@192.168.200.235/system(ssh模式)
migrateinstance-0000020bqmeu+tcp:
//10.10.10.1/system(tcp模式)
迁移问题1:
Unabletomigrateguest:
Unabletopre-createchardevfile'/var/lib/nova/instances/10172a9e-c62a-4fdf-85a8-6e77c13f2be9/console.log':
Nosuchfileordirectory
解决办法:
手动拷贝缺少的目录和文件
scproot@192.168.200.234:
/var/lib/nova/instances/10172a9e-c62a-4fdf-85a8-6e77c13f2be9//var/lib/nova/instances/
迁移问题2:
Unabletomigrateguest:
CannotgetinterfaceMTUon'qbr755c3e6e-7e':
Nosuchdevice
命令行迁移:
virshmigrateinstance-0000020bqemu+ssh:
//root@192.168.200.235/system
root@192.168.200.235'spassword:
error:
CannotgetinterfaceMTUon'qbr755c3e6e-7e':
Nosuchdevice
解决办法:
在目标主机brctladdbrqbr755c3e6e-7e
[root@Compute-40-F2-E9-11-B4-E1dev]#brctlshow
bridgenamebridgeidSTPenabledinterfaces
qbr3e5625e2-1c8000.66771487c9a4noqvb3e5625e2-1c
tap3e5625e2-1c
qbr755c3e6e-7e8000.d21fbb138facnoqvb755c3e6e-7e
tap755c3e6e-7e
qbrdbe5471c-358000.ee472072a8b6noqvbdbe5471c-35
tapdbe5471c-35
qbrde6b266f-928000.7a1927525f9anoqvbde6b266f-92
tapde6b266f-92
迁移问题3:
Unabletomigrateguest:
Networkfilternotfound:
Couldnotfindfilter'nova-instance-instance-0000020b-fa163eb2f9f5'
察看nova.conf是否启用了如下参数:
firewall_driver=nova.virt.firewall.IptablesFirewallDriver
如果启用,注释掉并重启nova-compute服务
迁移问题4:
必须用nova命令迁移,kvm目前暂不支持vswitch
novalive-migrationwin2008_app_242Compute-40-F2-E9-11-9B-F9.kvm.cloud--block-migrate
ERROR:
Livemigrationofinstance10172a9e-c62a-4fdf-85a8-6e77c13f2be9tohostCompute-40-F2-E9-11-9B-F9.kvm.cloudfailed(HTTP400)(Request-ID:
req-90808625-88da-44c9-b601-d5f085d370fa)
检查发现:
novalist虚拟机状态shutoff
DestinationDiskExists_Remote:
Thesupplieddiskpath(/var/lib/nova/instances/10172a9e-c62a-4fdf-85a8-6e77c13f2be9)alreadyexists,itisexpectednottoexist.
解决方法:
目标端删除10172a9e-c62a-4fdf-85a8-6e77c13f2be9目录
迁移问题5:
再次nova迁移虚拟机成功。
novalive-migrationwin2008_app_242Compute-40-F2-E9-11-9B-F9.kvm.cloud--block-migrate
3.8openstack云平台
云计算是一种计算模型,它将诸如运算能力、存储、网络和软件等资源抽象成为服务,以便让用户通过互联网远程享用,付费的形式也如同传统公共服务设施一样。
●∙基础设施即服务(IaaS)
●∙平台即服务(PaaS)
●∙软件即服务(SaaS)
3.8.1openstack架构
Chefserver:
openstack的快速部署工具,类似StackOps、Dell的CrowBar、Rackspac
ganliaserver:
跨平台可扩展的,高性能计算系统下的分布式监控系统
nagiosserver:
监控
Horizon:
openstackdashboard
openstack-nova-api:
openstack-nova-compute:
运行虚拟机实例最主要的服务
openstack-nova-volume:
块存储服务,安装在控制节点,这个物理主机提供volume的创建、删除、挂载等管理功能。
openstack-nova-network:
openstack-nova-cert:
Nova证书管理服务,用来为Nova提供身份验证。
openstack-nova-scheduler:
管理调度服务器满足对运行虚拟机的请求。
openstack-nova-objectstore:
文件存储服务。
openstack-nova-common:
OpenStack环境的基础Python库。
quantum-server:
接受APIrequests然后把他们转发到合适的quantum插件去执行。
quantum-openvswitch-agent:
运行在每个hypervisor主机上,提供虚拟交换配置服务。
openstack-glance-api:
虚拟机镜像发现、注册、检索,将虚拟机镜像存储任何一种存储中。
openstack-glance-registry存储和检索镜像的元数据,实际的ImageBlob存储在ImageStore中openstack-glance-scrubber
openstack-cinder-api:
接受APIrequests并且将他们转发到cinder-volume去执行。
openstack-cinder-volume:
处理cinder数据库的维护状态的读写请求,通过消息队列和直接在块存储设备或软件上与其他进程交互。
openstack-cinder-scheduler:
选择在最优的块存储提供节点上去创建卷。
rabbitmq-server:
消息队列服务。
ntp:
网络时间协议,保持相同的时钟。
(可容忍的误差在5秒以内,否则将会出现不可预知的结果)
3.8.1.1、nava安装配置
1、控制节点安装
#安装消息队列服务器(rabbitmq)、nova-api、nova-network、nova-objectstore(glance依赖)、nova-scheduler、nova-compute、nova-volume(如果卷服务不在控制节点不需要安装)
#编辑/etc/nova/nova.conf,改成如下内容(nova配置文件范例)
--dhcpbridge_flagfile=/etc/nova/nova.conf#dhcp桥接配置文件位置
--dhcpbridge=/usr/bin/nova-dhcpbridge#桥接命令位置
--logdir=/var/log/nova#nova日志存放路径
--state_path=/var/lib/nova#nova状态文件位置
--lock_path=/var/lock/nova#lock文件位置,以为为pid相关
--force_dhcp_release=True#dhcp释放
--use_deprecated_auth=1#是否启用外部认证,比如keystone
--verbose=1#启用详细日志消息
--libvirt_type=kvm#通过libvirt连接的虚拟化程序名称
--s3_host=60.12.206.111#objectstore服务地址
--rabbit_host=60.12.206.111#rabbitmq队列服务器地址
--cc_host=60.12.206.111#nova-api服务地址
--ec2_url=http:
//60.12.206.111:
8773/services/Cloud#nova-api接口地址
--fixed_range=10.0.0.0/24#运行实例分配ip范围段
--floating_range=60.12.206.0/24#分配给实例的外网ip范围段
--network_size=256#网络主机数
--routing_source_ip=60.12.206.111#路由地址,当实例得到外网ip,对外的snat地址将是这个地址
--sql_connection=mysql:
//nova:
nova@localhost/nova#数据库连接参数
--glance_host=60.12.206.111#glance服务地址
--image_service=nova.image.glance.GlanceImageService#默认存储镜像使用的服务
--network_manager=work.manager.FlatDHCPManager#默认网络模式
--flat_network_dhcp_start=10.0.0.2#dhcp分配给的ip的启示地址
--public_interface=eth0#公共接口设定
--flat_interface=eth1#私有接口设定
--connection_type=libvirt#启动虚拟机的驱动
--flat_network_bridge=br0#默认的桥接卡
2、计算节点安装
(1)#安装nova-compute
(2)#编辑/etc/nova/nova.conf,改成如下内容(nova配置文件范例)
--dhcpbridge_flagfile=/etc/nova/nova.conf#dhcp桥接配置文件位置
--dhcpbridge=/usr/bin/nova-dhcpbridge#桥接命令位置
--logdir=/var/log/nova#nova日志存放路径
--state_path=/var/lib/nova#nova状态文件位置
--lock_path=/var/lock/nova#lock文件位置,以为为pid相关
--verbose=1#启用详细日志消息
--libvirt_type=kvm#通过libvirt连接的虚拟化程序名称
--s3_host=60.12.206.111#objectstore服务地址
--rabbit_host=60.12.206.111#rabbitmq队列服务器地址
--cc_host=60.12.206.111#nova-api服务地址
--ec2_url=http:
//60.12.206.111:
8773/services/Cloud#nova-api接口地址
--sql_connection=mysql:
//nova:
nova@localhost/nova#数据库连接参数
--glance_host=60.12.206.111#glance服务地址
--image_service=nova.image.glance.GlanceImageService#默认存储镜像使用的服务
--network_manager=work.manager.FlatDHCPManager#默认网络模式
--connection_type=libvirt#启动虚拟机的驱动
--glance_api_servers=60.12.206.111:
9292#glance-api服务运行地址
3.8.1.2、glance配置
1、配置glance使用keystone认证:
(1)更新/etc/glance/glance-api-paste.ini的以下选项为keystone中的设置值:
(2)在/etc/glance/glance-api.conf尾添加:
[paste_deploy]
flavor=keystone
(3)更新/etc/glance/glance-registry-paste.ini的以下选项为keystone中的设置值
(4)在/etc/glance/glance-registry.conf尾添加:
[paste_deploy]
flavor=keystone
2、设置glance的mysql连接:
修改/etc/glance/glance-registry.conf下的
sql_connection=mysql:
//glance:
glance@localhost/glance
3、配置glance的通信服务器:
修改/etc/glance/glance-api.conf下的:
notifier_strategy=noop
为:
notifier_strategy=rabbit
rabbit_password=guest
为:
rabbit_password=service123
4、glance命令
glance--help
glanceindex查看上传的镜像
3.8.1.3、quantum配置
1、编辑/etc/quantum/quantum.conf文件并修改:
2、虚拟交换机配置
编辑/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini文件并修改:
3、编辑/etc/quantum/api-paste.ini文件并修改:
4、/etc/libvirt/qemu.conf
5、网络其他组件
支持隧道的VirtualBridging(Open-vSwitch+QuantumAgent)
DHCPServer(Q