3-KVM配置文件和磁盘

KVM.jpg

KVM配置文件

KVM虚拟机的配置文件存放在 /etc/libvirt/qemu 下,每个虚拟机对应一个xml文件,可以通过修改xml文件修改虚拟机硬件配置,但需要使用virsh edit进行修改,使用vim等进行修改则会被覆盖、无效,使用virsh dumpxml查看的就是这些xml文件。
在图形化界面中创建虚拟机时或在图形化界面中查看虚拟机硬件详情磁盘信息、虚拟机配置文件中,可以发现磁盘为一个qcow2文件,它既是虚拟机的磁盘,又是虚拟机的镜像。文件的大小并不一定是虚拟机中硬盘的大小,可能是分配的硬盘是”立即分配所有磁盘空间”,也可能是动态分配(随虚拟机中使用的磁盘空间变化,上限为分配的磁盘的大小),通过图形化窗口创建的虚拟机默认“立即分配所有磁盘空间”,想要实现动态分配需要在创建虚拟机之前通过命令创建一个动态分配的磁盘,即可以动态的qcow2文件。

1
2
# 创建一个动态分配磁盘空间的磁盘,最大为50G,文件的创建目录为当前目录
qemu-img create -f qcow2 testdisk1.qcow2 50G

创建虚拟机
硬件详情

1
2
3
4
5
6
7
8
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/centos7.0.qcow2'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>

通过命令创建虚拟机

1
virt-install --name=kvm2 --vcpus=2 --memory=2048 --location=/home/yyg/Desktop/CentOS-7-x86_64-DVD-1810.iso --disk path=/var/lib/libvirt/images/test.qcow2 --network network=default --graphics none --extra-args='console=ttyS0'
  • –name=kvm2表示为创建的虚拟机命名为kvm2。
  • –vcpus=2表示设置虚拟机cpu有2个核心。
  • –memory=2048表示设置内存为2G。
  • ––location=/home/yyg/Desktop/CentOS-7-x86_64-DVD-1810.iso 表示使用本地iso镜像安装虚拟机。
  • –disk path=/var/lib/libvirt/images/test.qcow2 表示指定虚拟机的磁盘镜像的路径,示例中的路径是我提前通过qemu-img命令创建出来的磁盘,咱们做实验的时候需要自行创建好,如果不想提前创建好磁盘,也可以使用–disk size=50代替–disk path=/var/lib/libvirt/images/kvm2.qcow2,如果使用–disk size=50这个设置,virt-install命令会在/var/lib/libvirt/images/目录中自动创建一个50G的qcow2磁盘,磁盘的前缀名和虚拟机名相同,这个磁盘是预分配所有磁盘空间的,也就是说,会直接占用宿主机50G的磁盘空间。
  • –network network=default表示使用kvm的默认网络
  • –graphics none 表示我们安装的过程中,需要使用的图形化控制台,由于我们此处模拟的是纯命令行安装,所以图形化控制台指定为none,表示不使用图形化控制台安装虚拟机。
  • –extra-args=’console=ttyS0’表示为创建的虚拟机指定内核启动时的内核参数,此处为虚拟机内核添加的参数为console=ttyS0,也就是说,当安装虚拟机时,分配一个ttyS0的虚拟终端,因为我们没有使用图形化控制台安装,所以要分配一个命令行的虚拟终端,以便执行安装操作和安装完成后的登录、执行命令等操作。

然后按照提示将需要进行设置的选项设置完成(与正常安装系统时设置一样,只是转换成文本形式)。

删除虚拟机