进阶-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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 使用 Horoscope 测试 TiDB 优化器
- 聊聊claudb的importRDB
- 【17期】什么情况用ArrayList or LinkedList呢?
- YOLO V3网络结构解析
- 文献笔记二十一:PhenoGram可视化染色体上的信息
- 【动手学深度学习笔记】之对模型参数的访问、初始化和共享
- 【动手学深度学习笔记】之构造MLP模型的几种方法
- 【动手学深度学习笔记】之通过丢弃法缓解过拟合问题
- 【动手学深度学习笔记】之通过权重衰减法解决过拟合问题
- 【动手学深度学习笔记】之多层感知机实现
- Linux程序员效率工具:比man更好用的命令提示工具
- 我对torch中的gather函数的一点理解
- 冒泡排序的实现思路和优化方案
- Java Map转对象
- 59.Vue 使用webpack构建vue项目