预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

现有系统是openstackf版,使用的openvswitch插件管理的sdn。今年十月openstack发布了H版,按照策略为了根上openstack的步伐,暂定每年升级一次,但是这次升级出现了问题。f版本的openvswitch插件使用的是长期支持版本1.4.2,系统都是centos6.3。H版的openstack使用的是centos6.4,openvswitch1.11.0.由于迁移需要增加了两台pcserver作为计算节点,一台pc作为控制节点,但是交换机资源有限只能在原系统网络拓扑中增加了这3台机器,为故障埋下了祸根。 搭建openstackHavana。 过程中具体配置不是本文主题,由于未知影响,看网络抓包应该像是dhcp包影响到openstackf版本的生产系统,导致从早上搭建开始整个系统kernelpanic一次,中午一次,晚上一次,十分郁闷等到晚上7点,无论如何起不来了,6台生产系统的HPpcserverDL380G6轮番重启。 从openstackfolsom迁移到virtmanager。 其实也不算迁移,由于f版的生产系统无论如何起不来,也没有时间研究原因,按计划应该已经搭建完成的h版本系统也没完成,老生产系统也无法恢复。直接原因就是openvswitch1.4.2,开始考虑使用linuxbridge,经过2小时研究这时已经晚上10点,发现linuxbridge貌似不支持vlan,也就是说,无法使用一个网卡接口实现sdn建立不同网段的虚拟机。压力很大,心口像有一块大石丫的我好累,不知道谁唱的鸟歌。突然想到,f版的openstack管理的生产环境其实只有3个网段,0,1,2,而hp的pcserver有4个网卡,可以去掉openstack直接使用kvm的manager,一个网卡作为管理口,剩下3个作为0,1,2每个网段的分网卡。就这么干了,马上上楼做网线,调华为交换机,trunk,vlan不是主题不说。弄好环境以后,由于openstack管理的虚拟机也是通过kvm的接口virt管理的,所以虚拟机还是在kvm上,只需要关闭openstack的所有服务,然后再kvm的virtmanager中修改对应虚拟机0,1,2网段的桥接网卡。然后启动虚拟机,修改虚拟机中的网卡,以前openstack管理的eth0卡已经不见了,给eth1手动增加ip,ping一下网关,心中暗喜,大石落地。 搭建openstackHavana 过程不表了,HYPERLINK"http://www.openstack.org"www.openstack.org文档多的是,详细的很。 将kvm管理的虚拟机迁移到H版本的openstack 说了这么多,这才是本文重点。具体步骤如下: 备份kvm中的虚拟机成为镜像文件,在计算节点执行 qemu-imgconvert-fqcow2-Oqcow2disknewdisk 停止虚拟机 在计算节点创建nfs将上面打快照的newdisk共享到控制节点,主要要减少大型虚拟机在结算节点和控制节点之前的拷贝,虚拟机一般500g左右。mount好以后,控制节点就会误以为镜像文件已经在自己的控制节点上了,省去了将快照镜像导入glance的步骤。 mount192.168.0.2:/home/share/newdiskon/openstack/lib/glance/images 修改openstackHavana版本的数据库,修改数据库后,在havana版上新建虚拟机时才能在页面和openstack真正使用刚才假冒导入glance的虚拟机快照。细心同事写的脚本。在控制节点执行。 #!/bin/sh iname=$1 filepath1="/tmp/$iname-1.sql" filepath2="/tmp/$iname-2.sql" mysql-uroot-phavana@passwd<<EOF useglance; loaddatalocalinfile'$filepath1'intotableimages(id,name,size,status,is_public,created_at,updated_at,deleted_at,deleted,disk_format,container_format,checksum,owner,min_disk,min_ram,protected); loaddatalocalinfile'$filepath2'intotableimage_locations(image_id,value,created_at,updated_at,deleted_at,deleted,meta_data); EOF 执行import_mysql.sh192.168.1.xxx_20131