失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux桌面虚拟化技术--KVM

Linux桌面虚拟化技术--KVM

时间:2021-07-04 13:07:13

相关推荐

Linux桌面虚拟化技术--KVM

文章目录

虚拟化概念为什么要使用虚拟化KVM安装以及使用virsh常用命令磁盘格式转换快照管理虚拟机克隆虚拟机的网络连接模式磁盘热添加、扩容热添加网卡热添加内存热添加CPUkvm热迁移esxi虚拟机迁移至kvm

虚拟化概念

虚拟化是一种资源管理技术,它是将计算机应硬件资源抽象、转换后呈现出来,它打破了实体结构空间不可切割的障碍,使用户可以比原本的组态以更好的方式来使用这些资源,常用的应用虚拟化方式有:

完全虚拟化:虚拟机模拟完整的底层硬件环境和特权指令的执行过程。代表软件有VMware Workstation、VirtualBox、qemu等

硬件辅助虚拟化:利用硬件辅助,比如Intel的intel-VT和AMD的AMD-V,来支持和处理敏感指令来实现完全虚拟化的功能。代表软件有VMware Workstation、Xen和本章所讲的KVM。

操作系统级虚拟化:内核通过创建多个虚拟机的操作系统实例来隔离不同的进程。比如Docker以及其它相关的容器技术。

为什么要使用虚拟化

提高现有资源的利用率。通过整合服务器资源,将共用的基础架构资源聚合起来,它打破了传统的“一台服务器一个应用程序”模式。提高桌面的可管理性和安全性。目前大多数计算机都支持部署、管理和安全监视安全桌面环境,无论否能连接到网络,用户都可以在本地或远程的方式对这种环境进行访问。提高硬件和应用程序的可用性,进而提高业务连续性。可安全地实现备份、迁移整个虚拟环境下而不会出现业务中断。通过缩减物理基础架构和提高服务器/管理员比率,降低数据中心成本:由于服务及相关IT硬件更少,因此减少了占地空间,也减少了电力和散热需求。实现了运营灵活性 :由于采用动态资源管理,加快了服务器部署并改进了桌面和应用程序部署,因此可响应市场的变化。

KVM安装以及使用

KVM全称为kernel-based Virtual Machine,即基于内核的虚拟机,它不需要额外使用专门的内核,因此性能相较于早之前的Xen性能更好,兼容性更强。

下载kvm软件

yum install -y libvirt virt-* qemu-kvm

安装一台kvm虚拟机

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 2048 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=20 --cdrom /opt/rhel-server-7.3-x86_64-dvd.iso --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

各参数含义:

--virt-type #虚拟化的类型--os-type= #系统类型--os-variant #系统版本--name #虚拟机的名称--memory #指定内存大小--disk #磁盘格式、大小等相关配置。format=row|qcow2,其中row格式占用空间较大,不支持快照功能,但性能较好,不方便传输;qcow2占用空间小,支持快照,性能相对row差,方便传输--cdrom #系统镜像路径--network=default #default为nat模式--graphics vnc#需要下载vnc软件对kvm虚拟机安装操作系统

virsh常用命令

kvm开启console控制台登录:

grubby --update-kernel=ALL --args="console=ttyS0"reboot

磁盘格式转换

qemu-img info test.raw #查看磁盘信息qemu-img create -f raw oldboy.qcow2 10G #创建一块qcow2格式的虚拟磁盘qemu-img convert -f raw(原格式) -O qcow2(输出格式) test.row(源磁盘路径文件) test.qcow2 #raw转qcow ,virsh edit web(名称) 改type处和source file处,重启kvm虚拟机生效

快照管理

virsh snapshot-create web(名称)virsh snapshot-list webvirsh snapshot-revert web --snapshotname 1590506570(恢复快照到这个,恢复快照必须关闭虚拟机)virsh snapshot-delete web --snapshotname 1590506570(删除这份快照)

row格式占用空间较大,不支持快照功能,但性能较好,不方便传输;qcow2占用空间小,支持快照,性能相对row差,方便传输。

虚拟机克隆

1.创建完整克隆virt-clone --auto-clone -o(old老的) web -n(new新的) web2##也可以拷贝磁盘文件在生成一份配置文件(注意:如果原来的磁盘文件拍有快照可能导致克隆后的虚拟机起不来)copy web.raw web2.raw<name>web2</name>删掉<uuid></uuid>这行,让它重新生成新的UUID。也可以用uuid-gen -r直接生成删掉<mac address=''/>这行,会自动生成新的mac地址2.创建连接克隆##基于源磁盘文件,创建链接磁盘文件qemu-img create -f qcow2 -b web.qcow2 web2.qcow2virt-install --virt-type kvm --os-type=linux --os-variant=rhel7 --name web2 --memory=1024 --vcpus 1 --disk /opt/web2.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

虚拟机的网络连接模式

NAT模式(网络地址转换)原理图:

在NAT模式下除了宿主机以外其余的任何网络是不能与kvm虚拟机通信的,如果我们在kvm虚拟机上部署了希望用户能够访问的服务,那么此时就需要用到桥接的模式,桥接模式原理图如下:

配置桥接模式:

#创建一块用于桥接的网卡br0virsh iface-bridge eth0 br0virt-install --virt-type kvm --os-type=linux --os-variant=rhel7 --name web2 --memory=1024 --vcpus 1 --disk /opt/web2.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole#取消桥接网卡配置virsh iface-unbridge br0

把之前不是桥接模式的kvm虚拟机配置成桥接模式只需在配置文件对应地方修改为:

<interface type='bridge'><mac address='52:54:00:82:70:a9'/><source bridge='br0'/>

然后重启虚拟机即可。

磁盘热添加、扩容

#创建一块虚拟磁盘qemu-img create -f qcow2 c7.qcow2 5G#临时挂载 [永久挂载]virsh attach-disk centos7(名称) c7.qcow2 vdb --subdriver qcow2 [--config]格式化之后mount上去即可使用#扩容umount /dev/vdb /opt //扩容之前避免数据损坏先卸载qemu-img resize c7.qcow2 +10G mount /dev/vdb /opt//重新挂载xfs_growfs /opt//生效#对根分区扩容:先删除原来分区的分区表在重新分区,然后重启,最后xfs_growfs /即可fdisk /dev/vda rebootxfs_growfs /

热添加网卡

virsh attach-interface web04 --type bridge --source br0 --model virtio detach-interface web04 --type bridge --mac 52:54:00:67:21:cf

热添加内存

virt-install --virt-type kvm --os-type=linux --os-variant=rhel7 --name web2 --memory=1024,maxmemory=2048 --vcpus 1 --disk /opt/web2.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole#临时生效setmem web2 1024 --live#永久生效setmem web2 1024 --config

热添加CPU

virt-install --virt-type kvm --os-type=linux --os-variant=rhel7 --name web2 --memory=1024,maxmemory=2048 --vcpus 1,maxvcpus=3 --disk /opt/web2.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsolesetvcpus web2 3 --livesetvcpus web2 3 --config

kvm热迁移

kvm虚拟机主要分为两部分:磁盘文件和配置文件,通常情况下磁盘文件是越大的迁移所花费的时间就越长,要实现快速迁移kvm虚拟机可以通过共享存储(文件系统)来实现,只需要把虚拟机的磁盘文件放在共享目录上再挂载在我们指定的–disk路径即可。

#挂载mount -t nfs 192.168.1.20:/data /optcp web2.qcow2 /opt/#从磁盘启动virt-install --virt-type kvm --os-type=linux --os-variant=rhel7 --name web2 --memory=1024,maxmemory=2048 --vcpus 1,maxvcpus=3 --disk /opt/web2.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole#迁移virsh migrate --live web2 qemu+ssh://192.168.1.20/system --unsafe#图形界面操作yum install -y "GNOME Desktop" tigervnc-server virt-manager#启动vnc服务vncserver:1

esxi虚拟机迁移至kvm

先在esxi导出虚拟机为ova格式再上传至kvm宿主机。然后:virt-v2v -i ova test.ova(本地的) -o local -os /v2v -of qcow2mv /v2v/test-sda /v2v/test.qcow2#执行安装virt-install --virt-type kvm --os-type=linux --os-variant=rhel7 --name web2 --memory=1024,maxmemory=2048 --vcpus 1,maxvcpus=3 --disk /opt/web2.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

如果觉得《Linux桌面虚拟化技术--KVM》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。