1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Linux系统下KVM虚拟机的基本管理和操作

Linux系统下KVM虚拟机的基本管理和操作

时间:2021-04-19 08:00:05

相关推荐

Linux系统下KVM虚拟机的基本管理和操作

Linux系统下KVM虚拟机的基本管理和操作

一、检查本地环境1.检查系统版本2.检查防火墙状态3.检查selinux3.检查libvirtd服务状态4.检查kvm安装结果5.检查kvm虚拟机状态6.检查virsh版本二、virsh常用命令1.列出虚拟机2.虚拟机开关机操作3.删除虚拟机4.设置虚拟机在宿主机开机时自启5.挂起虚拟机6.查看虚拟机的配置文件7.对虚拟机配置文件操作8.查看KVM虚拟机相关配置文件三、KVM虚拟机的磁盘管理1.查看磁盘格式2.将raw格式磁盘文件转化为qcow23.创建空的qcow2格式的磁盘文件4.修改镜像文件大小5.给虚拟机新增硬盘——临时生效6.给虚拟机新增硬盘——永久生效7.卸载硬盘8.查看虚拟机硬件情况9.在WebVirtMgr上查看虚拟机硬盘新增情况四、KVM虚拟机的网卡管理1.查看网卡2.新增网卡3.使新增网卡生效4.虚拟机查看新增网卡5.删除网卡五、KVM虚拟机的快照管理1.创建快照2.查看快照列表3.查看快照信息4.查看快照目录5.删除快照6.恢复快照7.snapshot-revert用法

一、检查本地环境

1.检查系统版本

[root@serer1 ~]# cat /etc/os-release NAME="CentOS Linux"VERSION="7 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="7"PRETTY_NAME="CentOS Linux 7 (Core)"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:centos:centos:7"HOME_URL="/"BUG_REPORT_URL="/"CENTOS_MANTISBT_PROJECT="CentOS-7"CENTOS_MANTISBT_PROJECT_VERSION="7"REDHAT_SUPPORT_PRODUCT="centos"REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.检查防火墙状态

[root@serer1 ~]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead) since Wed -10-19 00:09:43 CST; 7s agoDocs: man:firewalld(1)Main PID: 642 (code=exited, status=0/SUCCESS)

3.检查selinux

[root@serer01 ~]# getenforce Disabled

3.检查libvirtd服务状态

[root@server ~]# systemctl status libvirtd● libvirtd.service - Virtualization daemonLoaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)Active: active (running) since Sun -10-16 17:53:24 CST; 2 days agoDocs: man:libvirtd(8)Main PID: 29472 (libvirtd)Tasks: 18 (limit: 32768)Memory: 34.8MCGroup: /system.slice/libvirtd.service└─29472 /usr/sbin/libvirtd --listen

4.检查kvm安装结果

[root@server ~]# lsmod|grep kvmkvm_intel 183621 4 kvm 586948 1 kvm_intelirqbypass 13503 3 kvm

5.检查kvm虚拟机状态

[root@server ~]# virsh -c qemu:///system listId Name State----------------------------------------------------9kvm01running

6.检查virsh版本

[root@server ~]# virsh --version4.5.0[root@server ~]# virt-install --version1.5.0

二、virsh常用命令

1.列出虚拟机

[root@server ~]# virsh listId Name State----------------------------------------------------9kvm01running[root@server ~]# virsh list --allId Name State----------------------------------------------------9kvm01running

2.虚拟机开关机操作

virsh start kvm01 #虚拟机开机virsh shutdown kvm01 #关闭虚拟机virsh destroy kvm01 # 强制停止虚拟机

3.删除虚拟机

virsh undefine kvm01 #彻底销毁虚拟机,会删除虚拟机配置文件,但不会删除虚拟磁盘

4.设置虚拟机在宿主机开机时自启

virsh autostart kvm01 # 宿主机开启时自启virsh autostart --disable kvm01 # 取开机自启

5.挂起虚拟机

virsh suspend kvm01 # 挂起虚拟机virsh resume kvm01 # 恢复挂起的虚拟机

6.查看虚拟机的配置文件

[root@server ~]# virsh dumpxml kvm01 <domain type='kvm' id='9'><name>kvm01</name><uuid>65438c9d-81cd-cd83-01de-77a5ed5af051</uuid><description>None</description><memory unit='KiB'>1048576</memory><currentMemory unit='KiB'>1048576</currentMemory><vcpu placement='static'>2</vcpu><resource><partition>/machine</partition></resource><os><type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type><boot dev='hd'/><boot dev='cdrom'/><bootmenu enable='yes'/></os><features><acpi/><apic/><pae/></features><cpu mode='custom' match='exact' check='full'><model fallback='forbid'>IvyBridge-IBRS</model><vendor>Intel</vendor><feature policy='disable' name='ds'/><feature policy='disable' name='acpi'/><feature policy='require' name='ss'/><feature policy='disable' name='ht'/><feature policy='disable' name='tm'/><feature policy='disable' name='pbe'/><feature policy='disable' name='dtes64'/><feature policy='disable' name='monitor'/><feature policy='disable' name='ds_cpl'/><feature policy='disable' name='vmx'/><feature policy='disable' name='est'/><feature policy='disable' name='tm2'/><feature policy='disable' name='xtpr'/><feature policy='disable' name='pdcm'/><feature policy='require' name='movbe'/><feature policy='disable' name='osxsave'/><feature policy='disable' name='arat'/><feature policy='disable' name='tsc_adjust'/><feature policy='require' name='rdseed'/><feature policy='require' name='smap'/><feature policy='require' name='clflushopt'/><feature policy='require' name='clwb'/><feature policy='disable' name='intel-pt'/><feature policy='require' name='sha-ni'/><feature policy='require' name='umip'/><feature policy='require' name='gfni'/><feature policy='disable' name='md-clear'/><feature policy='require' name='stibp'/><feature policy='require' name='ssbd'/><feature policy='require' name='xsaveopt'/><feature policy='require' name='xsavec'/><feature policy='require' name='xgetbv1'/><feature policy='require' name='3dnowprefetch'/><feature policy='disable' name='avx'/><feature policy='disable' name='f16c'/><feature policy='require' name='hypervisor'/></cpu><clock offset='utc'/><on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>restart</on_crash><devices><emulator>/usr/libexec/qemu-kvm</emulator><disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/nas/kvm/centos_kvm.img'/><backingStore/><target dev='vda' bus='virtio'/><alias name='virtio-disk0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/></disk><disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='/storage/kvm/CentOS-7-x86_64-Minimal-1511.iso'/><backingStore/><target dev='hda' bus='ide'/><readonly/><alias name='ide0-1-1'/><address type='drive' controller='0' bus='1' target='0' unit='1'/></disk><controller type='usb' index='0' model='piix3-uhci'><alias name='usb'/><address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/></controller><controller type='pci' index='0' model='pci-root'><alias name='pci.0'/></controller><controller type='ide' index='0'><alias name='ide'/><address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/></controller><interface type='bridge'><mac address='52:54:00:6c:cb:10'/><source network='br0' bridge='br0'/><target dev='vnet0'/><model type='virtio'/><alias name='net0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/></interface><serial type='pty'><source path='/dev/pts/0'/><target type='isa-serial' port='0'><model name='isa-serial'/></target><alias name='serial0'/></serial><console type='pty' tty='/dev/pts/0'><source path='/dev/pts/0'/><target type='serial' port='0'/><alias name='serial0'/></console><input type='mouse' bus='ps2'><alias name='input0'/></input><input type='tablet' bus='usb'><alias name='input1'/><address type='usb' bus='0' port='1'/></input><input type='keyboard' bus='ps2'><alias name='input2'/></input><graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'><listen type='address' address='0.0.0.0'/></graphics><video><model type='cirrus' vram='16384' heads='1' primary='yes'/><alias name='video0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></video><memballoon model='virtio'><alias name='balloon0'/><address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/></memballoon></devices><seclabel type='dynamic' model='dac' relabel='yes'><label>+107:+107</label><imagelabel>+107:+107</imagelabel></seclabel></domain>

7.对虚拟机配置文件操作

virsh edit vm-name #修改虚拟机的配置文件virsh define file-name.xml #根据配置文件定义虚拟机

8.查看KVM虚拟机相关配置文件

[root@server ~]# ls /etc/libvirt/qemu/autostart kvm01.xml networks[root@server ~]# ls /etc/libvirt/qemu/networks/autostart br0.xml[root@server ~]# ls /etc/libvirt/qemu/networks/autostart/br0.xml

三、KVM虚拟机的磁盘管理

1.查看磁盘格式

[root@server ~]# qemu-img info /nas/kvm/centos_kvm.img image: /nas/kvm/centos_kvm.imgfile format: qcow2virtual size: 40G (42949672960 bytes)disk size: 2.2Gcluster_size: 65536Format specific information:compat: 0.10

2.将raw格式磁盘文件转化为qcow2

$ qemu-img convert -f raw -O qcow2 /data/centos7.raw /data/centos7.qcow# qemu-img covert -f 源格式 -O 目标格式 源磁盘文件 目标磁盘文件

3.创建空的qcow2格式的磁盘文件

[root@server kvm]# qemu-img create -f qcow2 /nas/kvm/test.qcow2 5GFormatting '/nas/kvm/test.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off [root@server kvm]# qemu-img info /nas/kvm/test.qcow2 image: /nas/kvm/test.qcow2file format: qcow2virtual size: 5.0G (5368709120 bytes)disk size: 196Kcluster_size: 65536Format specific information:compat: 1.1lazy refcounts: false

4.修改镜像文件大小

[root@server kvm]# qemu-img resize ./test.qcow2 +7GImage resized.[root@server kvm]# qemu-img info /nas/kvm/test.qcow2 image: /nas/kvm/test.qcow2file format: qcow2virtual size: 12G (12884901888 bytes)disk size: 200Kcluster_size: 65536Format specific information:compat: 1.1lazy refcounts: false

5.给虚拟机新增硬盘——临时生效

virsh attach-disk kvm01 /nas/kvm/test.qcow2 vdb --subdriver=qcow2# virsh attach-disk <虚拟机名称> <新增磁盘路径> <设备名> <磁盘格式类型>

6.给虚拟机新增硬盘——永久生效

virsh attach-disk kvm01 /nas/kvm/test.qcow2 vdb --subdriver=qcow2 --config

7.卸载硬盘

virsh detach-disk kvm01 /nas/kvm/test.qcow2 #卸载临时生效virsh detach-disk kvm01 /nas/kvm/test.qcow2 --config# 卸载永久生效

8.查看虚拟机硬件情况

[root@server kvm]# virsh dumpxml kvm01 |grep dev<boot dev='hd'/><boot dev='cdrom'/><devices><disk type='file' device='disk'><target dev='vda' bus='virtio'/><disk type='file' device='disk'><target dev='vdb' bus='virtio'/><disk type='file' device='cdrom'><target dev='hda' bus='ide'/><target dev='vnet0'/><source path='/dev/pts/0'/><console type='pty' tty='/dev/pts/0'><source path='/dev/pts/0'/></devices>

9.在WebVirtMgr上查看虚拟机硬盘新增情况

四、KVM虚拟机的网卡管理

1.查看网卡

[root@server kvm]# virsh domiflist kvm01Interface Type SourceModel MAC-------------------------------------------------------vnet0bridgebr0 virtio52:54:00:6c:cb:10

2.新增网卡

[root@server kvm]# virsh attach-interface kvm01 --type bridge --source br0 Interface attached successfully

3.使新增网卡生效

[root@server kvm]# virsh dumpxml kvm01 > /etc/libvirt/qemu/kvm01.xml [root@server kvm]# virsh define /etc/libvirt/qemu/kvm01.xml Domain kvm01 defined from /etc/libvirt/qemu/kvm01.xml

4.虚拟机查看新增网卡

[root@server kvm]# ssh root@192.168.3.169The authenticity of host '192.168.3.169 (192.168.3.169)' can't be established.ECDSA key fingerprint is SHA256:SMUWtN77SI+zUIX2bBR7/hY176zJLiWvY7KpIUlK0dw.ECDSA key fingerprint is MD5:df:58:7e:61:73:82:b5:56:03:25:60:f1:80:a6:b1:0b.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.3.169' (ECDSA) to the list of known hosts.root@192.168.3.169's password: Last login: Tue Oct 18 23:19:15 from 192.168.3.11[root@serer01 ~]# ip add1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 52:54:00:6c:cb:10 brd ff:ff:ff:ff:ff:ffinet 192.168.3.169/24 brd 192.168.3.255 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::5054:ff:fe6c:cb10/64 scope link valid_lft forever preferred_lft forever3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 02:42:5d:4a:c4:9f brd ff:ff:ff:ff:ff:ffinet 172.17.0.1/16 brd 172.17.255.255 scope global docker0valid_lft forever preferred_lft foreverinet6 fe80::42:5dff:fe4a:c49f/64 scope link valid_lft forever preferred_lft forever5: veth0604e80@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP link/ether be:7f:bd:57:88:71 brd ff:ff:ff:ff:ff:ff link-netnsid 0inet6 fe80::bc7f:bdff:fe57:8871/64 scope link valid_lft forever preferred_lft forever6: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000link/ether 52:54:00:45:1b:53 brd ff:ff:ff:ff:ff:ff

5.删除网卡

需要将虚拟机关机再进行删除网卡操作

[root@server kvm]# virsh detach-interface kvm01 --type bridge --mac 52:54:00:45:1b:53 --configInterface detached successfully[root@server kvm]# virsh dumpxml kvm01 > /etc/libvirt/qemu/kvm01.xml[root@server kvm]# virsh define /etc/libvirt/qemu/kvm01.xmlDomain kvm01 defined from /etc/libvirt/qemu/kvm01.xml[root@server kvm]# virsh domiflist kvm01Interface Type SourceModel MAC--------------------------------------------------------bridgebr0 virtio52:54:00:6c:cb:10

五、KVM虚拟机的快照管理

1.创建快照

[root@server kvm]# virsh snapshot-create kvm01Domain snapshot 1666155063 created

2.查看快照列表

[root@server kvm]# virsh snapshot-list kvm01Name Creation Time State------------------------------------------------------------1666155063 -10-19 12:51:03 +0800 shutoff

3.查看快照信息

[root@server kvm]# virsh snapshot-info kvm01 --current Name: 1666155063Domain: kvm01Current: yesState:shutoffLocation: internalParent: -Children: 0Descendants: 0Metadata: yes

4.查看快照目录

[root@server kvm]# ll /var/lib/libvirt/qemu/snapshot/total 0drwxr-xr-x 2 root root 28 Oct 19 12:51 kvm01[root@server kvm]# ll /var/lib/libvirt/qemu/snapshot/kvm01/total 8-rw------- 1 root root 5550 Oct 19 12:51 1666155063.xml

5.删除快照

[root@server kvm]# virsh snapshot-delete kvm01 1666155063Domain snapshot 1666155063 deleted

6.恢复快照

virsh snapshot-revert kvm01 1666155063 --running

7.snapshot-revert用法

snapshot-revert用法:snapshot-revert [] [–current] [–running] [–paused] [–force]

选项:[--domain] <string> :指定domain名称,id或者uuid[--snapshotname] <string> : 指定快照名称--current :恢复到当前快照--running :在恢复快照后自动运行虚拟机--paused :在恢复快照后自动暂停虚拟机--force :强制执行快照,有风险的恢复选项

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