2025年kvm虚拟化_1

kvm虚拟化_1https access redhat com documentatio zh cn red hat enterprise linux 7 html virtualizati getting started guide index https docs openstack org image guide obtain images html http cloud

大家好,我是讯享网,很高兴认识大家。

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/virtualization_getting_started_guide/index

https://docs.openstack.org/image-guide/obtain-images.html

http://cloud.centos.org/

http://cloud-images.ubuntu.com/

什么是虚拟化?

虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率

虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

为什么要用虚拟化?

512G 内存,4路 8核16线程 cpu,12* PCI-E 1T的SSD;ntp服务,资源浪费,10 tomcat多实例,6个数据库,2个Hadoop

既不想资源浪费,服务的安全隔离性,虚拟化

场景1:同一台物理机运行多个php版本
场景2:机房的迁移,解决了硬件和系统的依赖
场景3:openstack环境,软件发布体检
场景4:开发环境和测试环境,使用虚拟化
场景5:业务的快速部署

虚拟化:提高了资源的利用率,服务的安全性隔离,解决了系统和硬件之间的依赖

在这里插入图片描述
讯享网

虚拟化引擎

1、vmware esxi : x86

2、Hyper-v

3、xen

4、kvm

QEMU与KVM

QEMU是一个开源项目,实际就是一台硬件模拟器,可以模拟许多硬件,包括x86架构处理器、AMD64架构处理器等

QEMU的好处是因为是纯软件模拟,所以可以在支持的平台模拟支持的设备

QEMU的缺点是因为是纯软件模拟,所以非常慢

kvm只是一个内核模块,只提供CPU和内存,使用qemu模拟器模拟IO设备(磁盘、网卡)

KVM虚拟机=KVM内核模块+QEMU模拟器

在这里插入图片描述

Libvirt 与KVM

Libvirt是一套开源的虚拟化管理工具,主要由3部分组成

一套API的lib库,支持主流的编程语言,包括C、python、Ruby等

libvirtd服务

命令行工具virsh

libvirt可以实现对虚拟机的管理,比如虚拟机的创建、启动、关闭、暂停、恢复、迁移、销毁,以及虚拟机网卡、硬盘、CPU、内存等多种设备的热添加

kvm虚拟化软件的安装

Kernel-based Virtual Machine

查看硬件是否支持虚拟化

egrep 'vmx|svm' /proc/cpuinfo 

讯享网
讯享网 yum install libvirt* virt-* qemu-kvm* -y 
yum install qemu-kvm libvirt virt-install virt-manager bridge-utils 

KVM:Kernel-based Virtual Machine

libvirt 作用:虚拟机的管理软件
virt virt-install virt-clone 作用:虚拟机的安装和克隆
qemu-kvm qemu-img 作用:复制管理虚拟机的磁盘

虚拟化软件:
qemu 软件纯模拟全虚拟化软件,特别慢!
xen(半) 性能特别好,需要使用专门修改之后的内核
KVM 全虚拟机,它有硬件支持cpu,基于内核,而且不需要使用专门的内核

安装一台kvm虚拟机

分发软件TightVNC或者VNC Viewer 4.exe

讯享网 systemctl start libvirtd.service systemctl status libvirtd.service 

建议虚拟机内存不要低于1024M

nat模式(default)

virt-install --os-type=linux --os-variant rhel7 --name centos7 --memory 1024,maxmemory=2048 --vcpus 1,maxvcpus=8 --disk /opt/centos2.qcow2,format=qcow2,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-1804.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 
讯享网--virt-type qemu 

桥接

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024,maxmemory=2048 --vcpus 1,maxvcpus=8 --disk /opt/centos2.qcow2,format=qcow2,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 

raw:10G 不支持做快照,性能好

qcow2: 支持快照

添加多块网卡

–network bridge=br0 --network bridge=br1

退出vnc全屏

ctrl + alt +shift +f

kvm虚拟机的virsh日常管理和配置

列表list

讯享网virsh list --all 

开机start

virsh start centos7 

关机shutdown

讯享网virsh shutdown centos7 

拔电源关机destroy

virshdestroy centos7 

导出配置dumpxml

/etc/libvirt/qemu/centos7.xml

讯享网virsh dumpxml centos7 >centos7-off.xml 

删除虚拟机undefine

推荐:先destroy,在undefine

virsh undefine centos7 

导入虚拟机define

讯享网virsh define centos7.xml 

修改配置edit

virsh edit centos7 

重命名domrename

讯享网关机执行virsh domrename centos7 web01 

挂起suspend

suspend web01 

恢复resume

讯享网resume web01 

查询vnc端口号vncdisplay

virsh vncdisplay web01 

kvm虚拟机随虚拟化软件自启动

讯享网virsh autostart web01 

kvm虚拟机关闭自启动

virsh autostart --disable web01 

console登录

讯享网kvm虚拟机中执行 grubby --update-kernel=ALL --args="console=ttyS0,n8" reboot 

宿主机连接kvm虚拟机

virsh console web01 

退出kvm虚拟机

ctrl+]

kvm虚拟机虚拟磁盘格式转换和快照管理

讯享网virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/oldboy.qcow2,format=qcow2,size=10 --cdrom /data/CentOS-7.2-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 

查看磁盘文件信息

qemu-img info test.qcow2 

创建一块qcow2格式的虚拟硬盘

讯享网qemu-img create -f qcow2 test.qcow2 2G 

磁盘扩容

qemu-img resize test.qcow2 8G 
讯享网qemu-img resize test.qcow2 +1G 

raw转qcow2

convert [-f fmt] [-O output_fmt] filename output_filename

qemu-img convert -f raw -O qcow2 oldboy.raw oldboy.qcow2 
讯享网virsh edit centos7 <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/data/oldboy.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function=' 0x0'/> </disk> 

创建快照

virsh snapshot-create centos7 

查看快照

讯享网virsh snapshot-list centos7 

还原快照

virsh snapshot-revert centos7 --snapshotname  

删除快照

讯享网virsh snapshot-delete centos7 --snapshotname  

kvm虚拟机克隆

kvm虚拟机完整克隆

virt-clone --auto-clone -o centos7 -n web 

a:拷贝虚拟机磁盘文件

b:生成虚拟机的配置文件

讯享网 <name>49-web03</name> <uuid>8e505e25-5175-46ab-a9f6-feaa096daaa4</uuid> <source file='/opt/49-web03.qcow2'/> <mac address='52:54:00:4e:5b:89'/> 

c:导入虚拟机并进行启动测试

kvm链接克隆

1.基于源磁盘文件,创建链接磁盘文件

qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2 

2.导入虚拟机并进行启动测试

讯享网virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name 49-web04 --memory 1024 --vcpus 1 --disk /opt/49-web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 

https://docs.openstack.org/image-guide/obtain-images.html

http://cloud.centos.org/

http://cloud-images.ubuntu.com/

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/CentOS-7-x86_64-GenericCloud-1811.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole 

kvm虚拟机的桥接网络

讯享网1、virsh iface-bridge eth0 br0 

2、

virsh edit centos7 <interface type='bridge'> <mac address='52:54:00:55:aa:fa'/> <source bridge='br0'/> 

在宿主机上,重启虚拟机生效

讯享网TYPE=Ethernet BOOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes IPADDR=10.0.0.111 NETMASK=255.255.255.0 GATEWAY=10.0.0.254 DNS1=223.5.5.5 

修改默认(default)网络

查看

virsh # net-list Name State Autostart Persistent ---------------------------------------------------------- default active yes yes 

编辑

讯享网net-edit default 

停止

net-destroy default 

启动

讯享网net-start default 

kvm虚拟机在线热添加硬盘

创建磁盘

qemu-img create -f qcow2 add01.qcow2 5G 

添加磁盘

讯享网virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2 

摘除磁盘

virsh detach-disk centos7 vdb 

虚拟机磁盘扩容

1、在kvm虚拟机,umount

2、摘除磁盘

讯享网virsh detach-disk centos7 vdb 

3、扩容

qemu-img resize /data/centos7-add01.qcow2 +5G 

4、添加磁盘

讯享网virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2 
5、在虚拟机中 xfs_growfs /dev/vdb 

根分区扩容

讯享网1、在宿主机上关闭虚拟机并调整虚拟机磁盘大小 qemu-img resize oldboy.qcow2 +10G 
2、虚拟机中fdisk重新分区(删除旧分区,新建分区) fdisk /dev/vda 
讯享网3、重启之后,执行 xfs_growfs /dev/vda1#自动扩展XFS文件系统到最大的可用大小 

如果虚拟机磁盘文件系统是ext4

resize2fs /dev/vda1 

热操作网卡

永久添加

讯享网virsh attach-interface web01 --type bridge --source br0 --model virtio --config 

临时添加

virsh attach-interface web01 --type bridge --source br0 --model virtio 

删除网卡

讯享网detach-interface web01 --type bridge --mac 52:54:00:1e:79:47 

热操作内存、CPU

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /opt/centos2.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 
讯享网virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 512,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /opt/centos2.qcow2 --boot hd --network bridge=br0 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 

热调整内存

virsh setmem web02 1024M --live --config 

热操作cpu(只能增加

讯享网virsh setvcpus web02 6 --live --config 

kvm虚拟机热迁移

1:两边的环境(桥接网卡)
2:实现共享存储(nfs)
3:虚拟机桥接网络

4:在线热迁移
本机 虚拟机 web03 迁移到 10.0.0.12

virsh migrate web03 qemu+ssh://10.0.0.12/system --live --unsafe 

5:图形界面、vnc服务端、virt-manager

讯享网yum groups install "GNOME Desktop" yum install tigervnc-server.x86_64 virt-manager yum install openssh-askpass.x86_64 

6:启动vnc和停止vnc

vncserver :0 vncserver -kill :0 

exsi虚拟机迁移

ova文件转换为qcow2文件

讯享网yum install virt-v2v virt-v2v -i ova centos.ova -o local -os /data/test1 -of qcow2 

p2v迁移(物理机到kvm虚拟机的迁移)

http://blog.csdn.net/tantexian/article/details/

小讯
上一篇 2025-02-13 15:08
下一篇 2025-03-05 15:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15568.html