KVM 虚拟机 virsh 命令备忘单

这是一个全面的 virsh 命令备忘单: virsh 是 KVM 虚拟机的命令管理用户界面。virsh 可用于创建、暂停、重新启动和关闭域。此外,virsh 可用于列出您的虚拟化管理程序平台中可用的当前域。

virsh 与 Libvirt 交互,后者是一个旨在提供长期稳定的 C API 的库。目前支持 Xen、QEMU、KVM、LXC、OpenVZ、VirtualBox 和 VMware ESX。

Virsh 命令备忘单

在这个 virsh 命令备忘单中,我将向您展示最常用的 virsh 命令来管理在 KVM 或 Xen Hypervisor 上运行的来宾虚拟机。

大多数virsh用法的基本结构是:

$ virsh [OPTION]... <command> <domain> [ARG]...

Virsh 显示节点信息:

这是我们的 virsh 命令备忘单上的第一项。这将显示主机节点信息和支持虚拟化过程的机器。

# virsh nodeinfo
CPU 型号:        x86_64
CPU:               2
CPU 频率:        2790 MHz
CPU socket:        2
每个 socket 的内核数: 1
每个内核的线程数: 1
NUMA 单元:       1
内存大小:      3826180 KiB

列出操作系统变体

要获取--os-variant运行以下命令的值:

$ osinfo-query os

Virsh 列出所有域

要列出非活动域和活动域,请使用以下命令:

# virsh list --all
 Id   名称             状态
-----------------------------
 -    CentOS-Stream    关闭
 -    centos-stream8   关闭

仅列出活动域

要使用virsh 命令仅列出活动域 ,请使用:

# virsh list
 Id   名称   状态
-------------------

Virsh 重命名域

句法:

virsh domrename currentname  newname

列出可用域

# virsh list --all
 Id   名称             状态
-----------------------------
 -    CentOS-Stream    关闭
 -    centos-stream8   关闭

# virsh domrename CentOS-Stream CentOS-Stream-New
Domain successfully renamed

# virsh list --all
 Id   名称                状态
--------------------------------
 -    CentOS-Stream-New   关闭
 -    centos-stream8      关闭

我们已经将域的名称从CentOS-Stream更改为CentOS-Stream-New

Virsh 更改域启动盘

通过传递名称来编辑域:

virsh  edit domain

向下滚动直到<devices>部分并修改以下行的值:

<source file=''/>

例子

<source file='/var/lib/libvirt/images/apacheserver01.qcow2'/>

Virsh 启动虚拟机

这是一个关于如何使用 virsh 命令启动来宾虚拟机的示例。我们将启动 test 上面显示的域:

$ sudo virsh start test
Domain test started

$ sudo virsh list      
 Id    Name                           State
 ----------------------------------------------------
  3     test                           running

Virsh 自动启动虚拟机

要将 vm 设置为在系统启动时自动启动,请执行以下操作:

$ sudo virsh autostart test
Domain test marked as autostarted

$ sudo virsh dominfo test  
Id:             9
Name:           test
UUID:           a943ed42-ba62-4270-a41d-7f81e793d754
OS Type:        hvm
State:          running
CPU(s):         2
CPU time:       144.6s
Max memory:     2048 KiB
Used memory:    2048 KiB
Persistent:     yes
Autostart:      enable
Managed save:   no
Security model: none
Security DOI:   0

密切关注该选项 Autostart: enable

Virsh 自动启动禁用

要禁用虚拟机的自动启动功能:

$ virsh autostart --disable test
 Domain test unmarked as autostarted

 $ virsh dominfo test
 Id:             -
 Name:           test
 UUID:           a943ed42-ba62-4270-a41d-7f81e793d754
 OS Type:        hvm
 State:          shut off
 CPU(s):         2
 Max memory:     2048 KiB
 Used memory:    2048 KiB
 Persistent:     yes
 Autostart:      disable
 Managed save:   no
 Security model: none
 Security DOI:   0

virsh 停止虚拟机,virsh 关闭虚拟机

要优雅地关闭正在运行的虚拟机,请使用:

$ sudo virsh shutdown test
Domain test is being shutdown

$ sudo virsh list
 Id    Name                           State
 ----------------------------------------------------

Virsh 强制关闭虚拟机

您可以使用以下命令强制关闭活动域:

$ sudo virsh destroy test

Virsh 停止所有正在运行的虚拟机

如果您想关闭所有正在运行的域,只需发出以下命令:

$ for i in `sudo virsh list | grep running | awk '{print $2}'` do
    sudo virsh shutdown $i
done

Virsh 重启虚拟机

要重新启动名为 的虚拟机 test,使用的命令是:

sudo virsh reboot test

Virsh 删除虚拟机

要彻底删除 vm 及其存储列,请使用如下所示的命令。该域 test 应替换为要删除的实际域。

sudo virsh destroy test 2> /dev/null
sudo virsh undefine  test
sudo virsh pool-refresh default
sudo virsh vol-delete --pool default test.qcow2

在这个例子中,存储卷被命名为 /var/lib/libvirt/images/test.qcow2

您还可以将 undefine 与–remove-all-storage选项一起使用:

virsh undefine test --remove-all-storage

Virsh 创建一个虚拟机

如果你想用 virsh 创建一个新的虚拟机,要使用的相关命令是virt-install. 这是至关重要的,不能错过 virsh 命令备忘单库。下面的示例将从 CentOS 7 ISO 映像安装一个新的操作系统。

sudo virt-install \
--name centos7 \
--description "Test VM with CentOS 7" \
--ram=1024 \
--vcpus=2 \
--os-type=Linux \
--os-variant=rhel7 \
--disk path=/var/lib/libvirt/images/centos7.qcow2,bus=virtio,size=10 \
--graphics none \
--location $HOME/iso/CentOS-7-x86_64-Everything-1611.iso \
--network bridge:virbr0 \
--console pty,target_type=serial -x 'console=ttyS0,115200n8 serial'

Virsh 连接到虚拟机控制台

要连接到访客控制台,请使用以下命令:

$ sudo virsh console test

如果提供的域存在活动控制台会话,这将返回失败消息。要解决此运行:

$ sudo virsh console test --force

Virsh 编辑 vm xml 文件

要编辑 vm xml 文件,请使用:

$ sudo EDITOR=vim
$ virsh edit test

使用 nano 文本编辑器

$ sudo EDITOR=nano
$ virsh edit test

Virsh 挂起虚拟机,virsh 恢复虚拟机

要挂起名为 testwith virsh 命令的来宾,请运行:

$ sudo virsh suspend test
Domain test suspended

注意:当域处于挂起状态时,它仍会消耗系统 RAM。来宾挂起时不会发生磁盘和网络 I/O。

恢复访客虚拟机:

使用 resume 选项使用 virsh 恢复挂起的客户机:

$ sudo virsh resume test
Domain test resumed

Virsh 保存虚拟机

使用 virsh 命令将虚拟机的当前状态保存到文件中:

语法是:

$ sudo virsh save test test.saved
Domain test saved to test.save

$ ls -l test.save
-rw------- 1 root root 328645215 Mar 18 01:35 test.saved

恢复保存的虚拟机

从文件中恢复保存的虚拟机:

$ sudo virsh restore test.save 
Domain restored from test.save

$ sudo virsh list
 Id    Name                           State
 ----------------------------------------------------
  7     test                           running

Virsh 管理卷

在这里,我们将介绍如何创建存储卷、将其附加到 vm、将其从 vm 分离以及如何删除卷。

Virsh 创建卷

要在默认存储池上创建一个名为 test_vol2 的 2GB 卷,请使用:

$ sudo virsh vol-create-as default test_vol2.qcow2 2G
Vol test_vol2.qcow2 created

$ sudo du -sh /var/lib/libvirt/images/test_vol2.qcow2
2.0G/var/lib/libvirt/images/test_vol2.qcow2
  • 默认值:是池名称。
  • test_vol2:这是卷的名称。
  • 2G:这是卷的存储容量。

列出卷

sudo virsh vol-list --pool default
sudo virsh vol-list --pool images

Virsh 将卷附加到 vm

要将上面创建的卷附加到 vm 测试,请运行:

$ sudo virsh attach-disk --domain test \
--source /var/lib/libvirt/images/test_vol2.qcow2 \
--persistent --target vdb
  • --persistent:使实时更改持久化
  • --target vdb: 磁盘设备的目标

您可以确认该卷已作为块设备添加到 vm /dev/vdb

$ ssh test
Last login: Fri Mar 17 19:30:54 2017 from gateway
[root@test ~]# 

[root@test ~]# lsblk --output NAME,SIZE,TYPE
NAME              SIZE TYPE
sr0              1024M rom
vda                10G disk
├─vda1              1G part
└─vda2              9G part
  ├─cl_test-root    8G lvm
    └─cl_test-swap    1G lvm
    vdb                 2G disk

显示如何创建和附加辅助虚拟磁盘的示例:

export VM=test-vm
sudo qemu-img create -f qcow2 /var/lib/libvirt/images/${VM}-disk2.qcow2 20g

sudo virsh attach-disk  \
  --source /var/lib/libvirt/images/${VM}-disk2.qcow2 \
  --target vdb \
  --persistent \
  --subdriver qcow2 \
  --driver qemu \
  --type disk

虚拟机上的 Virsh 分离卷

要将上面的卷 test_vol2 从 vm 测试中分离出来:

$ sudo virsh detach-disk --domain test --persistent --live --target vdb
Disk detached successfully

$ ssh test
Last login: Sat Mar 18 01:52:33 2017 from gateway
[root@test ~]#
[root@test ~]# lsblk --output NAME,TYPE
NAME SIZE TYPE
sr0 1024M rom
vda 10G disk
├─vda1 1G part
└─vda2 9G part
├─cl_test-root 8G lvm
└─cl_test-swap 1G lvm
[root@test ~]#

您确实可以从此输出确认设备 /dev/vdb 已分离

请注意,您可以使用 qemu-img 命令直接为 vm 增加磁盘映像,这将如下所示:

$ sudo qemu-img resize /var/lib/libvirt/images/test.qcow2 +1G

上述命令的主要缺点是您无法调整具有快照的图像的大小。

Virsh 删除卷

列出存储池:

$ sudo virsh pool-list
 Name     State    Autostart
------------------------------
 default   active   yes

要使用 virsh 命令删除卷,请使用:

# List volumes
$ sudo virsh vol-list --pool default

$ sudo virsh vol-delete test_vol2.qcow2 --pool default
Vol test_vol2.qcow2 deleted

$ sudo virsh pool-refresh default
Pool default refreshed

$ sudo virsh vol-list default
 Name                 Path                                    
 ------------------------------------------------------------------------------
admin.qcow2          /var/lib/libvirt/images/admin.qcow2     
cloudstack.qcow2     /var/lib/libvirt/images/cloudstack.qcow2
ipa.qcow2            /var/lib/libvirt/images/ipa.qcow2       
katello.qcow2        /var/lib/libvirt/images/katello.qcow2   
node1.qcow2          /var/lib/libvirt/images/node1.qcow2     
node2.qcow2          /var/lib/libvirt/images/node2.qcow2     
node3.qcow2          /var/lib/libvirt/images/node3.qcow2     
test.qcow2           /var/lib/libvirt/images/test.qcow2      
ubuntu14.04.qcow2    /var/lib/libvirt/images/ubuntu14.04.qcow2
zenoss.qcow2         /var/lib/libvirt/images/zenoss.qcow2 

Virsh 管理快照

在使用 virsh 命令管理 kvm 来宾机器的最后第二部分中,我们将了解管理 VM 快照。

Virsh 为虚拟机创建快照

让我们为我们的测试虚拟机创建一个快照。

$ sudo virsh snapshot-create-as --domain test \
--name "test_vm_snapshot1" \
--description "test vm snapshot 1-working"

Domain snapshot test_vm_snapshot1 created

虚拟机的 Virsh 列表快照

要列出 vm 的可用快照,请使用:

$ sudo virsh snapshot-list test
 Name                 Creation Time             State
 ------------------------------------------------------------
  1489689679           2017-03-16 21:41:19 +0300 shutoff
  test_fresh           2017-03-16 22:11:48 +0300 shutoff
  test_vm_snapshot1    2017-03-18 02:15:58 +0300 running

Virsh 显示有关快照的信息:

要检索有关域的更多信息,请使用:

$ sudo virsh snapshot-info --domain test --snapshotname test_vm_snapshot1
Name:           test_vm_snapshot1
Domain:         test
Current:        yes
State:          running
Location:       internal
Parent:         test_fresh
Children:       0
Descendants:    0
Metadata:       yes

Virsh 还原虚拟机快照

在这里,我们将创建另一个名为 test_vm_snapshot2 的快照,然后还原为快照 test_vm_snapshot1

$ sudo virsh snapshot-create-as \
--domain test --name "test_vm_snapshot2" \
--description "test vm snapshot 2-working"

Domain snapshot test_vm_snapshot2 created

让我们恢复之前创建的快照:

$ sudo virsh snapshot-list test
 Name                 Creation Time             State
 ------------------------------------------------------------
  1489689679           2017-03-16 21:41:19 +0300 shutoff
  test_fresh           2017-03-16 22:11:48 +0300 shutoff
  test_vm_snapshot1    2017-03-18 02:15:58 +0300 running
  test_vm_snapshot2    2017-03-18 02:23:29 +0300 running

$ sudo virsh snapshot-revert --domain test  --snapshotname test_vm_snapshot1  --running

Virsh 删除快照

让我们删除我们创建的两个快照:

$ sudo  virsh snapshot-delete --domain test --snapshotname  test_vm_snapshot2
Domain snapshot test_vm_snapshot2 deleted

$ sudo  virsh snapshot-delete --domain test --snapshotname  test_vm_snapshot1
Domain snapshot test_vm_snapshot1 deleted

$ sudo virsh snapshot-list test
 Name                 Creation Time             State
 ------------------------------------------------------------
  1489689679           2017-03-16 21:41:19 +0300 shutoff
  test_fresh           2017-03-16 22:11:48 +0300 shutoff

Virsh 克隆一个虚拟机

具有要克隆的设备的域必须暂停或关闭。所以让我们关闭它:

$ sudo virsh destroy test
Domain test destroyed

然后克隆一个虚拟机,如下图所示:

$ sudo virt-clone --connect qemu:///system \
--original test \
--name test_clone \
--file /var/lib/libvirt/images/test_clone.qcow2 

Allocating 'test_clone.qcow2'       |  10 GB  00:00:06

Clone 'test_clone' created successfully.

$ sudo virsh dominfo test_clone
Id:             -
Name:           test_clone
UUID:           be0621fd-51b5-4d2b-a05c-ce76e59baafa
OS Type:        hvm
State:          shut off
CPU(s):         1
Max memory:     1048576 KiB
Used memory:    1048576 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

Virsh 管理虚拟机 vcpus

这个 virsh 命令备忘单部分介绍了如何向虚拟机添加额外的虚拟 CPU:

$ sudo virsh setvcpus --domain test --maximum 2 --config
$ sudo virsh setvcpus --domain test --count 2 --config
$ sudo virsh shutdown test
$ sudo virsh start test

确认vcpu的数量发生了变化,之前是1,现在是2:

$ virsh dominfo test
Id:             -
Name:           test
UUID:           a943ed42-ba62-4270-a41d-7f81e793d754
OS Type:        hvm
State:          shut off
CPU(s):         2
Max memory:     1048576 KiB
Used memory:    1048576 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

Virsh 管理虚拟机内存

同样在 virsh 命令备忘单上使用 virsh 管理 RAM。要调整客户机操作系统使用的总内存,使用以下命令:

# In MB
sudo virsh setmaxmem test 2048 --config
sudo virsh setmem test 2048 --config
sudo virsh shutdown test
sudo virsh start test

# Same in GB
sudo virsh setmaxmem test 16G --config
sudo virsh setmem test 16G --config
sudo virsh shutdown test
sudo virsh start test

检查域信息以确认分配给 VM 的当前 RAM。

$ virsh dominfo test                     
Id:             9
Name:           test
UUID:           a943ed42-ba62-4270-a41d-7f81e793d754
OS Type:        hvm
State:          running
CPU(s):         2
CPU time:       70.7s
Max memory:     2048 KiB
Used memory:    2048 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0

注意当前分配给VM的ram是2048

挂载虚拟磁盘

您可以在 KVM 上挂载虚拟磁盘以进行离线管理。为此,我们有一篇现成的文章,您可以从以下链接中参考:

如何在 KVM 管理程序上挂载 VM 虚拟磁盘

ls 虚拟机中的目录

要在正在运行的 VM 上 ls 目录,您需要安装 libguestfs-tools。

运行:

# virt-ls -l -d <domain>  <directory>

例如

# virsh list
 Id Name State
----------------------------------------------------
 10 allot_netxplorer_01 running
 19 sg-ve-01 running

# virt-ls -l -d allot_netxplorer_01 /root
total 28
dr-xr-x---. 2 root root 135 Mar 22 14:26 .
dr-xr-xr-x. 17 root root 224 Mar 21 10:37 ..
-rw-------. 1 root root 385 Mar 22 14:26 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
-rw-r--r--. 1 root root 100 Dec 29 2013 .cshrc
-rw-r--r--. 1 root root 129 Dec 29 2013 .tcshrc
-rw-------. 1 root root 1447 Mar 21 10:38 anaconda-ks.cfg

常见的选项有:

-R |--recursive --> Recursive listing
-h |--human-readable --> Human-readable sizes in output
-d |--domain guest --> Add disks from libvirt guest
-l |--long --> Long listing

cat 虚拟机中的文件

您也可以在不对 VM 执行 ssh 或通过控制台访问它的情况下 cat 文件。您需要在管理程序上安装 libguestfs 工具才能使其工作。

$ sudo virt-cat -d <domain>  <file_path>
$ sudo virt-cat -d sg-ve-01 /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

$ sudo dufo virt-cat -d sg-ve-01 /etc/redhat-release > check_os
$ cat check_os 
CentOS Linux release 7.1.1503 (Core)

在虚拟机中编辑文件

在管理程序上安装 libguestfs-tools 后,使用 virsh-edit 命令:

# virt-edit -d sg-ve-01 /etc/hosts

显示虚拟机磁盘使用情况

使用 virt-df 命令:

$ sudo virt-df -d sg-ve-01 
Filesystem 1K-blocks Used Available Use%sg-ve-01:/dev/sda1 20469760 3954792 16514968 20%
sg-ve-01:/dev/sda2 27739924 173828 27566096 1%

列出
虚拟机或磁盘映像中的文件系统、分区、块设备、LVM

$ sudo virt-filesystems -l -d sg-ve-01
Name Type VFS Label Size Parent
/dev/sda1 filesystem xfs - 20971520000 -
/dev/sda2 filesystem xfs - 28419555328 -

$ sudo virt-filesystems -l -h -d sg-ve-01
Name Type VFS Label Size Parent
/dev/sda1 filesystem xfs - 20G -
/dev/sda2 filesystem xfs - 26G -

$ sudo virt-filesystems -l -h -d sg-ve-01 --partitions
Name       Type    MBR Size Parent
/dev/sda1 partition 83 20G /dev/sda
/dev/sda2 partition 83 26G /dev/sda
/dev/sda3 partition 82 4.0G /dev/sda

$ sudo virt-filesystems -d sg-ve-01 --all --long --uuid -h
Name Type VFS Label MBR Size Parent UUID
/dev/sda1 filesystem xfs - - 20G - 97074514-612e-4d1c-8433-935dbb3ec775
/dev/sda2 filesystem xfs - - 26G - 8cc9e0cd-282d-46a4-9a37-069dfb93c4f2
/dev/sda3 filesystem swap - - 4.0G - ad7dcd49-fe1a-4938-8600-f7299a59c57a
/dev/sda1 partition - - 83 20G /dev/sda -
/dev/sda2 partition - - 83 26G /dev/sda -
/dev/sda3 partition - - 82 4.0G /dev/sda -
/dev/sda device - - - 100G - -

显示虚拟化域的统计信息

使用 virt-top 显示虚拟化域的统计信息。您可以按 CPU、RAM 等过滤并将输出保存到 CSV 文件。

$ virt-top
$ sudo virt-top --csv file.csv

您还可以将调试和错误消息发送到文件名。要将错误消息发送到 syslog,您可以执行以下操作:

$ sudo virt-top --debug >(logger -t virt-top)

显示来自虚拟机的日志文件

“virt-log”是一个命令行工具,用于显示来自命名虚拟机(或磁盘映像)的日志文件。该工具理解并显示纯文本日志文件(例如 /var/log/messages)和二进制格式,例如 systemd 日志。

$ sudo virt-log -d <domain> | less
$ sudo virt-log -d <domain> | grep 'dhclient.*bound to'

Virsh 管理网络

要结束我们的 virsh 命令备忘单内容,请阅读我之前的文章:

在 Linux 中使用 virsh、nmcli 和 brctl 配置 KVM 网络

结论

我们的 virsh 命令备忘单现已完成。

原文地址:https://blog.csdn.net/allway2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本练习的目标是下载云映像并生成 KVM - 虚拟机。云映像预装了 cloud-init,可用于将用户密钥、主机名和其他元数据注入正在生成的虚拟机中。我们不会使用 cloud-init 注入,我们将采用的方法是在云映像中烘焙一个新用户和一个密码,以访问生成的 KVM-VM。这种方法是一种 hack,它也可用于访问 VM,其中用户被锁定或用于在 Openstack 云上可用的云映像中设置后门。请注意,我在本练习中使用的是 Ubuntu 云 (Trusty - 14.04) 映像。下载云镜像文件wge
我们想向您展示将 Cloud Images 与 KVM 结合使用的优势。使用 OpenStack 的优势之一是能够使用云镜像。这些云映像可以从 Distribution 网站下载,并且是其操作系统的预构建版本。无需安装。缺点是您通常需要注入 SSH 密钥才能登录。使用 OpenStack,这很容易,Horizo​​n 界面允许您选择要添加的密钥。如果您不想完全使用 OpenStack,但希望通过 QEMU 和 KVM 最有效地使用这些映像,那么您可以这样做,而且这并不困难。在本模块中,我们将学习如何下载云映
在本分步指南中,我将引导您完成在 OpenSUSE 中安装和配置 KVM 的步骤。先决条件在安装 KVM 之前,首先要确保您的系统支持硬件虚拟化。我们在以下指南中记录了几种不同的方法来确定 Linux 系统是否支持虚拟化。如何查找 CPU 是否支持虚拟化技术 (VT)如果您的系统支持硬件虚拟化,请按照后续步骤中的说明在您的 openSUSE 系统上设置 KVM 虚拟化服务器。在 openSUSE 中安装和配置 KVM出于本指南的目的,我将使用以下系统:KVM虚拟化服
这是一个全面的 virsh 命令备忘单: virsh 是 KVM 虚拟机的命令管理用户界面。virsh 可用于创建、暂停、重新启动和关闭域。此外,virsh 可用于列出您的虚拟化管理程序平台中可用的当前域。virsh 与 Libvirt 交互,后者是一个旨在提供长期稳定的 C API 的库。目前支持 Xen、QEMU、KVM、LXC、OpenVZ、VirtualBox 和 VMware ESX。Virsh 命令备忘单在这个 virsh 命令备忘单中,我将向您展示最常用的 virsh 命令来管理在
以下是您如何使用 KVM 在本地机器上使用 Fedora 云镜像的方法。下载云图像。wget https://mirrors.tuna.tsinghua.edu.cn/fedora/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-35-1.2.x86_64.qcow2制作一个名为 my-disk.qcow2 的新本地支持映像(这样我们就不会写入我们下载的映像)。qemu-img create -f qcow2 -b Fedor
# virsh net-dhcp-leases default# virsh net-dhcp-leases default | grep $VM | awk '{ print $5}'192.168.122.229/24
安装kvm虚拟机创建磁盘后保存镜像的地址(不可修改)qemu-img create -f qcow2 /root/kvm_qcow2/winx64_1.qcow2 30G创建虚拟机virt-install --virt-type kvm --os-type=windows --os-variant=win7 --name winx64_1.qcow2 --ram 1024 --cdrom=/root/kvm_ios/cn_windows_7_ultimate_with_sp1_x64_dvd_..
首先说说我对增量镜像的理解,增量镜像就是基本镜像的副本,拥有和基本镜像一样的环境(也就是基本镜像里面有什么,增量镜像里面就有什么)。但很神奇阿,增量镜像的占用空间非常小,却能正常使用,贴下图。king.qcow2是增量镜像,是通过ubuntu18.04.qcow2“拷贝”出来的。我目前还是没高清楚为什么增量镜像占用空间这么小,还能正常使用。有知道的望告知。下面说说怎么搭建增量镜像的。先说说镜像的陈放位置kvm镜像路径:/var/lib/libvirt/imageskvm镜像的xml配置文
检查首先检查 KVM host(宿主机/母机)上的kvm_intel模块是否打开了嵌套虚拟机功能(默认是开启的):root@localhost:~# modinfo kvm_intel | grep nestedparm: nested:boolroot@localhost:~# cat /sys/module/kvm_intel/parameters/nestedY如果上面的显示结果不是 Y 的话需要开启 nested:root@localhost:~# modprobe -r
1. 创建隔离网卡文件vim /etc/libvirt/qemu/networks/private.xml2. 填写内容&lt;network&gt;&lt;name&gt;private&lt;/name&gt;&lt;uuid&gt;d0c73469-bf25-494a-8257-abcd3c7954ae&lt;/uuid&gt;&lt;bridge name='private' stp='on' delay='0'/&gt;&lt;mac address='34:51:01:b
KVM默认安装好后,会有一个virbr0,该网卡一般只做为物理机和虚拟机之间nat使用。其默认使用的网段是192.168.122.0/24网段,这就造成对应的内部虚拟机有一个在192.168.122.0/24段的IP。而有时这并不符合我们的要求,我们可以修改该网段的地址,当然也可以删除或禁用该网卡,改用其他网卡。
查看macvirsh dumpxml win_ultimate_x64 | grep mac 查看对应mac的IP地址arp -a
禁止路由转发即可(临时)echo 0 &gt; /proc/sys/net/ipv4/ip_forward
2. 删除主机定义3. 删除KVM虚拟机文件4. 卸载yum中的kvm包安装时:卸载时:
这个命令会把磁盘镜像中的所有空闲空间释放,减少镜像的大小。
KVM虚拟机的复制分为两种情况,第一种KVM宿主机上对虚拟机直接克隆,第二种通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。第一种:直接克隆虚拟机1. 关闭要克隆的虚拟机2.语法:virt-clone –o 原虚拟机 –n 新虚拟机 –f 新虚拟机存放的路径virt-clone -o centos7.0 -n xuegod110 -f /var/lib/libvirt/images/xuegod110.img3. virt-manager启动kvm界面查看是..
【代码】KVM虚拟机获取所有IP(shell)
1. --os-variant参数支持的os可以通过如下命令查看:[root@KVM ~]# osinfo-query os2. 列出支持的操作系统参数,找到与自己要安装的iso匹配