设为首页 收藏本站
查看: 2297|回复: 0

[经验分享] RedHat虚拟化-KVM分析实践

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-1-26 10:04:16 | 显示全部楼层 |阅读模式
RedHead虚拟化-KVM分析实践
QQ截图20150126100110.png
QQ截图20150126100120.png
QQ截图20150126100124.png

KVM是网络中的治理设备,它是Keyboard(键盘)、Video(显示器)和Mouse(鼠标)三个单词的第一个字母。即能够实现用一套键盘、显示器、鼠标来控制多台设备。简单点说就是在一个服务器上运行多个操作
系统,每个系统都是独立的,类似于这种技术的还有云平台。

虚拟化的技术目前在科技前沿还是有着很重大的地位的。


第一:创建虚拟机镜像
为创建虚拟主机准备磁盘,此处的磁盘可以使用LV更可备份以及制作快照

qemu-img create -f raw /images/dieskname.raw 8G
qemu-img create -f qcow2 /images/dieskname.qcow2 8G
-f 选项 指定 虚拟磁盘的类型
raw 优点
1、效率高于qcow2
2、直接读写虚拟机硬盘里面的文件,这比较"暴力",但既然可以这么暴力,那么也就不怕虚拟机出任何问题了。
3、通用性好,是转为其他虚拟机的格式的通用中间格式,这样就不用担心转换虚拟机系统了
qcow2 优点
1、加密功能:把raw本身就当普通文件加密之搞定
2、快照功能:把raw加入版本管理目录中,具体需要的设置可能稍微有点多。
3、宿主机不支持按需打孔模式(hole):这个可以自己根据使用情况来扩展raw的最大值
4、硬盘压缩:就当普通电脑文件压缩之即可
创建镜像
qemu-img create -f <fmt> -o <options> <fname> <size>
举例:
qemu-img create -f raw -o size=4G /images/vm2.raw
查看快照的信息
qemu-img info vm2.raw
第二:转化命令: qcow2格式的支持压缩
qemu-img convert -c -f fmt -O out_fmt -o options fname out_fname
-c:采用压缩,只有qcow和qcow2才支持
-f:源镜像的格式,它会自动检测,所以省略之
-O 目标镜像的格式
-o 其他选项
fname:源文件
out_fname:转化后的文件
看例子:
qemu-img convert -c -O qcow2 vm2.raw vm2.qcow2
如果想看要转化的格式支持的-o选项有哪些,可以在命令末尾加上 -o ?
qemu-img convert -c -O qcow2 vm2.raw vm2.qcow2 -o ?
第三 :增加减少镜像大小
qemu-img resize vm2.raw +2GB
可以使虚拟磁盘的容量增大"+" 或减小"-"
第四:快照的使用
查看快照
qemu-img snapshot -l /images/vm2.qcow2
列出虚拟磁盘快照列表
注意:只有qcow2才支持快照 !
创建快照
snapshot 选项 为创建管理快照时使用
qemu-img snapshot -c booting vm2.qcow2
举例:
创建快照
qemu-img snapshot -c booting vm2.qcow2
查看快照的信息
创建快照后用以下命令去查看磁盘快照的列表
qemu-img snapshot -l vm2.qcow2
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 booting 0 2012-06-29 14:35:04 00:00:00.000
从快照恢复:快照还原时要确保虚拟机是down的状态
qemu-img snapshot -a 1 /images/vm2.qcow2
然后从kvm启动这个虚拟机,会发现虚拟机又在打快照时的状态了
删除快照:
-d 选项 是指定快照的编号
qemu-img snapshot -d 2 /images/vm2.qcow
新建一个镜像,但是派生自它
qemu-img create -f qcow2 vm3_5.qcow2 -o backing_file=vm3_base.raw 5G
qemu-img convert -O raw vm3_5.qcow2 vm3_base2.raw
以上是kvm虚拟机的虚拟磁盘操作 ,以下为磁盘创建后如何安装系统至虚拟磁盘以及如何管理KVM虚拟机

第一:准备主机环境

在一个没有任何环境的主机上实现kvm虚拟机的搭建需要做到以下几点
1、CPU虚拟机化开启
2、安装所需要的环境包及相关工具,安装包:virt-manager virt-* libvirt libvirt-* python-virt* qemu-*
3、准备一个分区最好是LVM,并挂载到/var/lib/libvrit/images/ 下,此步不是必须的但是为了防止磁盘空间的不足,建议去做。
4、准备好后开启libvirtd服务,并设置自启动
第二:创建虚拟机镜像
准备一个磁盘大小任意,但必须要足够系统的使用最低容量
qemu-img create -f qcow2 server.qcow2 50G
此处的格式及名称可任意指定,此文件最好是放在 /var/lib/libvrit/images/下, 一般情况下qcow2的功能要比raw的虚拟磁盘多,我这里默认为qcow2,
因为后期要对磁盘进行压缩你就会看到qcow2类型的磁盘的优点了。
创建完毕
第四:安装系统到虚拟磁盘server.qcow2
安装方式有两种
1、图形化安装,在此不多做解释
2、命令行下进行安装,重点介绍
命令安装时用到的命令
virt-install
--vnc 选则显示方式
--noautoconsole 自动分配TLS端口
--name 指定虚拟机的名称
--ram 指定虚拟机的内存大小 以"M" 为单位
--arch 指定虚拟机的硬件架构
--vcpus 指定CPU的个数
--os-type 指定系统的名称
--hvm 虚拟机系统的类型
--disk 指定虚拟机磁盘的位置及文件名
-w bridge 指定虚拟机的网卡,注意网卡必须是桥接网卡类似:br0 br1
--location 指定安装光盘的位置,此处已pxe为例
--extra-args 指定KS文件的所在位置
noipv6 不启用IPV6
以上为我理解的各选项的意思,以下为例(此为一行):
virt-install --vnc --noautoconsole --name=server --ram=2048 --arch=x86_64
--vcpus=1 --os-type=linux --os-variant=rhel7 --hvm --accelerate --disk=/var/lib/libvrit/images/server.qcow2 -w bridge=br0 --location=http://172.24.254.254/exam/rhel7/dvd/
--extra-args="ks=http://172.24.254.254/exam/ks/vserver/rhcsa-server.ks noipv6
成功后 使用 sudo virt-manager 打开KVM虚拟机管理器双击虚拟机查看
安装完成后使用命令
virsh dumpxml server > /var/lib/libvrit/images/server.xml
生成系统引导文件
执行后安装系统步骤不去详细解说。
注:--disk 此选项所支持的磁盘类型包括LVM,可对lvm做快照实现虚拟机的还原及备份
第五 :转换并压缩
安装完系统后磁盘的大小在3-5G 不等,主要看系统的类型,此时这个文件就不在随意挪动了,为了解决这个问题
我们对此文件做一下压缩
qemu-img convert -c -f qcow2 server.qcow2 server-vda.qcow2
执行完毕后看到 server-vda.qcow2文件的大小只有1G左右就成功了
将server.qcow2文件删除即可
第六:引导名为server的虚拟机开启
引导的方式也有很多,此处仅介绍XML文件引导
文件内容如下:
<?xml version="1.0" ?>
- <domain type="kvm">
<name>server</name> /*此为虚拟机的名称
<memory>2097152</memory> /*此为内存大小不需和
<currentMemory>2097152</currentMemory>
<clock offset="utc" />
<vcpu>1</vcpu> /*此为CPU个数
- <features>
<acpi />
<apic />
<pae />
</features>
- <os>
<type>hvm</type>
<boot dev="hd" />
<bootmenu enable="yes" />
</os>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
- <devices>
- <graphics type="spice" port="5903" autoport="yes" listen="127.0.0.1">
<listen type="address" address="127.0.0.1" />
</graphics>
<graphics port="-1" type="vnc" />
- <interface type="bridge">
<source bridge="br0" />
<mac address="52:54:00:00:00:0B" /> /*MAC地址指定
<model type="virtio" />
</interface>
<input bus="ps2" type="mouse" /> /*鼠标设备
- <serial type="pty">
<target port="0" />
</serial>
- <video>
<model type="qxl" ram="65536" vram="65536" heads="1" />
<alias name="video0" />
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" />
</video>
- <disk device="disk" type="file">
<target bus="virtio" dev="vda" />
<source file="/var/lib/libvirt/images/rh299-server-vda.qcow2" /> /*指定磁盘文件
<driver name="qemu" type="qcow2" />
</disk>
</devices>
</domain>
使用命令 virsh create server.xml 引导系统
注意:引导时不能存在名叫server的主机,解决方法,关闭server主机并删除主机,或者更改XML文件里的uuid和虚拟机名称
uuidgen 命令 生成随机uuid
引导完成
第七:虚拟机管理
强制关机 virsh destroy server
重启主机 virsh reboot server
第八:虚拟机还原
当我们创建好此系统后开机第一次不做任何操作,然后copy server-vda.qcow2 文件为server-vda.val
然后修改server.xml文件 的磁盘路径/var/lib/libvrit/images/server-vda.val
可以将这个过程用脚本实现自动化过程
END


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-41484-1-1.html 上篇帖子: VMware vSphere 5.X 之 多网卡vMotion 下篇帖子: kvm guest使用NAT上网
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表