体验libvirt虚拟机
目录
安装虚拟化工具
sudo pacman -S qemu virt-manager virt-viewer libvirt --noconfirm
resolving dependencies... looking for conflicting packages... Packages (4) libvirt-4.5.0-1 qemu-2.12.0-2 virt-manager-1.5.1-1 virt-viewer-6.0-1 Total Download Size: 0.22 MiB Total Installed Size: 67.46 MiB Net Upgrade Size: 1.90 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... virt-viewer-6.0-1-x... 0.0 B 0.00B/s 00:00 [----------------------] 0% virt-viewer-6.0-1-x... 40.4 KiB 67.4K/s 00:02 [###-------------------] 17% virt-viewer-6.0-1-x... 107.7 KiB 155K/s 00:00 [##########------------] 47% virt-viewer-6.0-1-x... 165.2 KiB 139K/s 00:00 [################------] 73% virt-viewer-6.0-1-x... 225.4 KiB 217K/s 00:01 [######################] 100% (0/4) checking keys in keyring [----------------------] 0% (1/4) checking keys in keyring [#####-----------------] 25% (2/4) checking keys in keyring [###########-----------] 50% (3/4) checking keys in keyring [################------] 75% (4/4) checking keys in keyring [######################] 100% (0/4) checking package integrity [----------------------] 0% (1/4) checking package integrity [##########------------] 46% (2/4) checking package integrity [#####################-] 98% (3/4) checking package integrity [#####################-] 98% (4/4) checking package integrity [######################] 100% (0/4) loading package files [----------------------] 0% (1/4) loading package files [##########------------] 46% (2/4) loading package files [#####################-] 98% (3/4) loading package files [#####################-] 98% (4/4) loading package files [######################] 100% (0/4) checking for file conflicts [----------------------] 0% (1/4) checking for file conflicts [#####-----------------] 25% (2/4) checking for file conflicts [###########-----------] 50% (3/4) checking for file conflicts [################------] 75% (4/4) checking for file conflicts [######################] 100% (0/4) checking available disk space [----------------------] 0% (1/4) checking available disk space [#####-----------------] 25% (2/4) checking available disk space [###########-----------] 50% (3/4) checking available disk space [################------] 75% (4/4) checking available disk space [######################] 100% :: Processing package changes... (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [----------------------] 0% (1/4) reinstalling qemu [#############---------] 60% (1/4) reinstalling qemu [######################] 100% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [----------------------] 0% (2/4) reinstalling libvirt [#######---------------] 36% (2/4) reinstalling libvirt [##############--------] 67% (2/4) reinstalling libvirt [####################--] 95% (2/4) reinstalling libvirt [######################] 100% >>> You may need to run 'rm -rf ~/.libvirt' (3/4) reinstalling virt-manager [----------------------] 0% (3/4) reinstalling virt-manager [######################] 100% (4/4) installing virt-viewer [----------------------] 0% (4/4) installing virt-viewer [######################] 100% :: Running post-transaction hooks... (1/8) Updating icon theme caches... (2/8) Reloading system manager configuration... (3/8) Applying kernel sysctl settings... (4/8) Creating system user accounts... (5/8) Reloading device manager configuration... (6/8) Arming ConditionNeedsUpdate... (7/8) Updating the desktop file MIME type cache... (8/8) Updating the MIME type database... Unknown media type in type 'all/all' Unknown media type in type 'all/allfiles'
安装好后,将当前用户加入 libvirt
组中
sudo gpasswd -a $USER libvirt
创建虚拟机
使用 virt-install
来创建虚拟机,例如
virt-install --name=arch --ram=1024 --vcpus=2 --cdrom=/home/lujun9972/Downloads/archlinux-2018.03.01-x86_64.iso --os-type=linux --os-variant=archlinux --disk path=/home/lujun9972/arch.dsk,size=4
开始安装...... 域安装仍在进行。您可以重新连接 到控制台以便完成安装进程。
这会创建并启动一个名为 arch
的虚拟机,内存为 1024M
, 2
个CPU, 加载 /home/lujun9972/Downloads/archlinux-2018.03.01-x86_64.iso
作为光盘, 4G
硬盘,虚拟硬盘文件为 /home/lujun9972/arch.dsk
管理虚拟机
一般通过 virsh
来管理虚拟机,常见的操作包括:
显示所有的虚拟机列表
virsh list --all
Id 名称 状态 ---------------------------------------------------- 1 arch running
启动已经创建好的虚拟机
virsh start ${name}
获取虚拟机的信息
virsh dominfo ${name}
Id: 1 名称: arch UUID: fac60be1-a248-440b-bd71-bec5e0379dd5 OS 类型: hvm 状态: running CPU: 2 CPU 时间: 1.4s 最大内存: 1048576 KiB 使用的内存: 1048576 KiB 持久: 是 自动启动: 禁用 管理的保存: 否 安全性模式: none 安全性 DOI: 0
编辑虚拟机信息
virsh edit ${name}
设置主机启动后是否自动启动虚拟机
virsh autostart ${name}
域 arch标记为自动开始
或
virsh autostart --disable ${name}
域 arch取消标记为自动开始
暂停虚拟机
virsh suspend ${name}
回复暂停的虚拟机
virsh resume ${name}
关闭虚拟机
virsh shutdown ${name}
域 arch 被关闭
克隆虚拟机
关闭虚拟机后就可以通过 virt-clone
来拷贝虚拟机了
virt-clone --original ${name} --auto-clone --name ${new_name}
删除虚拟机
virsh destroy ${name} virsh undefine ${name}
常用虚拟化管理应用工具
- virt-manager
- 虚拟机图形化管理工具
- virt-install
- 虚拟机配给工具
- virt-clone
- 虚拟机镜像克隆工具
- virt-image
- 从一个XML描述文件中构造虚拟机
- virt-viewer
- 虚拟机图形化控制台
- virsh
- virsh guest域的交互式终端