进阶-01制作openstack镜像

时间:2019-12-27
本文章向大家介绍进阶-01制作openstack镜像,主要包括进阶-01制作openstack镜像使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.环境准备

(1)安装centos7桌面版系统

或者安装centos7命令行,在windows中安装xmanager

(2)系统安装完后,需要开启硬件的虚拟化功能

2.检查cpu是否支持虚拟化

 1 #检查是否开启硬件虚拟化
 2 [root@controller ~]# grep vmx /proc/cpuinfo
 3 如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明cpu不支持,将无法使用KVM虚拟机。
 4 [root@controller ~]# grep vmx /proc/cpuinfo
 5 flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
 6 flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts ac
 7 pi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc
 8 #确保BIOS里开启虚拟化功能,查看是否加载KVM模块
 9 [root@controller ~]# lsmod | grep kvm
10 如果没有加载,运行以下命令:
11 [root@controller ~]# modprobe kvm
12 [root@controller ~]# modprobe kvm-intel
13 [root@controller ~]# lsmod | grep kvm
14 kvm_intel             170086  0
15 kvm                   566340  1 kvm_intel
16 irqbypass              13503  1 kvm
17 [root@controller ~]#

3.安装虚拟化相关的软件包

1 yum执行以下命令
2 [root@controller ~]#yum –y install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client  qemu-kvm-tools bridge-utils 
3 [root@controller ~]#yum -y groupinstall virtualization-client virtualization-platform virtualization-tools
4 启动libvirtd服务,设置开机启动
5 [root@controller ~]#systemctl start libvirtd
6 [root@controller ~]#systemctl enable libvirtd 

4.配置网卡桥接br0

(1)修改eth0网卡配置文件

[root@controller ~]#vim ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
#替换成当前自己的网卡名
NAME=eth0  
#替换成当前自己的网卡名)
DEVICE=eth0  
ONBOOT=yes
BRIDGE=br0

(2)添加ifcfg-br0网桥br0配置

 1 [root@controller ~]#vim ifcfg-br0
 2 DEVICE=br0
 3 ONBOOT=yes
 4 TYPE=Bridge
 5 BOOTPROTO=none
 6 #替换成系统当前配置的IP地址
 7 IPADDR=192.168.1.100
 8 #实际的子网掩码
 9 NETMASK=255.255.255.0
10 #替换成系统当前配置的网关
11 GATEWAY=192.168.1.254  
12 DNS1=114.114.114.114

(3)测试添加网桥br0后,网络是否正常

1 [root@controller ~]# ping www.baidu.com
2 PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
3 64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=51 time=3.53 ms
4 64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=51 time=3.86 ms
5 64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=51 time=3.85 ms
6 64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=51 time=3.77 ms 

5.开始制作openstack镜像

首先需要上传自己需要的制作的系统iso镜像,这里我上传的是windows7 iso镜像.以上配置正确完成后,才可正常完成操作。

[root@controller ~]# virt-manager

会弹出如图,按照操作步骤安装即可

点击

选择上传好的iso镜像,这里选择的windows7.iso,其他系统也是相同操作。

点击browse,选择自己存放iso的路径选择

自定义虚拟机的默认配置,这里选择4核4G,硬盘大小为50G

这里由于/目录下空间比较大,我选择自定义存储,点击forward进行下一步

自定义kvm虚拟机的名称,设置在安装前自定义配置,指定之前创建好的网桥名br0,点击finish

由于使用的是kvm虚拟化进行windows操作系统的安装,在安装操作系统过程中,需要装一些磁盘,网卡等驱动。同时,硬盘类型和网卡类型建议修改为virtio。

点击添加硬件进行操作

修改硬盘为virtio,修改完apply应用。

修改网卡相关,点击apply应用

重要:添加virtio驱动,点击左下角添加硬件。添加一个软盘,选择准备好的驱动。需要软件包的话可以评论回复。

点击左上角begin-install开始安装。接下来就是正常的安装操作系统了,其他系统如centos.ubuntu等操作和以上操作类似。

开始安装操作系统

发现没有刚才创建的磁盘信息,因为没有相关驱动

点击加载驱动程序

取消隐藏与次计算机上的复选。选择添加的软盘,选择需要安装的系统驱动。这里选择win7的驱动

选择下图中4个驱动,分别点击下一步安装。

安装硬盘驱动,安装完成后会显示刚才添加的磁盘大小为50G

添加网卡驱动

添加QXL显卡驱动

所有驱动添加完毕后,选中磁盘,直接点击下一步安装操作系统

等待系统安装完成

安装完成后重启

安装完成后就可自定义安装一些自己需要的软件,如qq、微信、谷歌浏览器,用于云平台中各个实例

 拓展

使用CloudBase-init 初始化openstack windows虚拟机

cloudbase-init 是 Windows 和其他系统的云初始化程序,可以设置主机名、创建用户、设置静态ip、设置密码等。对应的linux初始化程序是cloudinit,均是开源的Python项目。官方文档:http://cloudbase-init.readthedocs.io/en/latest/index.html

cloudbase-init主要包括两部分services和plugins。Service主要为plugins提供数据来源,来源包括指定的云服务(openstack、ec2等)、本地配置文件(iso文件、物理磁盘)等。plugins即为执行相关操作的插件,像初始化ip、创建用户等。

实现功能

1、初始化ip

2、初始化主机名

3、初始化用户

4、自动扩展磁盘 

安装cloudbase-init

下载windows安装包,直接默认安装

 

 配置好的文件如下:

在windows虚拟机系统服务中设置开机自启动

关闭虚拟机,进行压缩镜像操作

6.压缩openstack镜像

使用qemu-img命令压缩或者转换镜像

常用操作:

 1 (1)转换磁盘格式:
 2 raw –>qcow2
 3 [root@controller ~]#qemu-img convert  –f raw -O qcow2  image.raw  image.qcow2
 4 (2)压缩镜像:
 5 [root@controller ~]#qemu-img convert -c -O qcow2 /root/origi.qcow2 /root/output.qcow2
 6 其中output.qcow2是目标镜像
 7 -c压缩
 8 -f 源文件磁盘镜像格式
 9 -O 目标文件磁盘格式
10 本文中进行的操作为压缩镜像,主要是压缩
11 [root@controller ~]#qemu-img convert -c -O qcow2 /datat/windows7.qcow2 /root/window7.qcow2

上传镜像到openstack平台中,使用此镜像创建windows虚拟机镜像验证。修改磁盘flavor配置为60G,查看磁盘是否会初始化

 最终效果如图

 验证成功后,建议创建快照,方便后续的添加/删除程序

 至此,openstack镜像制作完毕。欢迎探讨。

原文地址:https://www.cnblogs.com/scottsofia/p/12109513.html