有关为KVM中的虚拟机(以下称VM)添加硬盘、网卡等设备,我以前写过几篇有关这方面的文章。文章如下:《烂泥:KVM虚拟机windows系统增加硬盘》,《烂泥: KVM虚拟机Linux系统增加硬盘》,《烂泥:为KVM虚拟机添加网卡》。
但是现在回头再看看,这几篇文章,感觉写的比较零散,对如何为VM添加设备没有做总结。
今天就把有关如何为KVM中的VM添加设备做一个总结。为KVM中VM添加设备,我们可以分以下几个步骤:
1、VM基本信息
2、修改VM的XML配置文件
3、重新加载XML配置
4、启动VM查看添加的设备
一、 VM基本信息
要给KVM的VM添加设备,我们需要一台已经安装好的VM。查看该VM的硬盘、网卡、内存信息,如下:
通过上图,我们知道目前该VM只有一块硬盘,该硬盘在VM系统中显示为磁盘0,而在KVM中为/dev/vg/server2003。
通过上图,我们知道目前该VM只有一块网卡,并且MAC地址为52:54:00:B7:E8:D4。
注意:VM的MAC地址XML配置文件与VM系统中显示的是一致的。
通过上图,我们知道目前该VM的内存为2G。
注意:以上截图,我们都是通过VM与该VM的XML配置文件对比的。
二、修改VM的XML配置文件
现在我们要求给该VM新加一块硬盘、一块网卡,并且把内存升级到4G。
要到达这个要求其实是很容易的,我们只需要修改该VM的XML配置文件即可。如下:
vi /etc/libvirt/qemu/server2003-cf.xml
2.1添加硬盘
新加一块硬盘,XML配置中的代码如下:
<disk type=’block’ device=’disk’>
<driver name=’qemu’ type=’raw’ cache=’none’ io=’native’/>
<source dev=’/dev/vg/test‘/>
<target dev=’hdb‘ bus=’ide’/>
</disk>
注意:要添加硬盘,我们只需要复制原来硬盘对应的代码,去掉address那一行,然后把source和target所在行修改即可。
需要特别注意的是,address那一行,其实我们也可以进行修改的。如果我们不修改的话,在重新加载该VM的XML配置后,KVM会给该硬盘自动添加上。
如果我们一定要修改的话,我们只需要修改unit为1即可。unit为1代表该硬盘在VM系统中显示为第二块硬盘。通过对比我们也可以知道,第一块硬盘的unit为0。
其完整XML配置代码,如下:
<disk type=’block’ device=’disk’>
<driver name=’qemu’ type=’raw’ cache=’none’ io=’native’/>
<source dev=’/dev/vg/test‘/>
<target dev=’hdb‘ bus=’ide’/>
<address type=’drive’ controller=’0′ bus=’0′ target=’0′ unit=’1′/>
</disk>
2.2添加网卡
新加一块网卡,XML配置中的代码如下:
<interface type=’bridge’>
<mac address=’52:54:00:b7:e9:d5‘/>
<source bridge=’br0‘/>
</interface>
添加网卡比较简单,我们只需要复制现在网卡的配置信息,然后修改下即可。
注意:网卡的MAC地址,我们可以进行自定义,同时该网卡需要桥接到哪一块KVM网卡上面,我们也是可以选择的。
同时,还需要注意在此我们没有复制address行。那是因为这个配置是和硬盘是类似的。
如果我们也想直接添加address行,我们只需修改addres行中的slot选项。只需要把该项修改为与其他的slot不同即可。
其完整XML配置代码,如下:
<interface type=’bridge’>
<mac address=’52:54:00:b7:e9:d5‘/>
<source bridge=’br0‘/>
<address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>
</interface>
2.3升级内存
内存升级,如下:
<name>server2003-cf</name>
<uuid>8b97cecd-2d34-c317-613b-c829b6ac6f2d</uuid>
<memory unit=’KiB‘>4194304</memory>
<currentMemory unit=’KiB’>4194304</currentMemory>
<vcpu placement=’static’>8</vcpu>
内存的升级比较简单,我们只需要计算下升级后内存的大小,然后修改XML文件即可。
注意:在VM的XML配置文件中,内存默认是以KiB为单位的。现在我们把内存升级到4G,那么XML配置文件对应的数字为4*1024*1024=4194304KiB。
有关硬盘、网卡、内存的配置信息修改完毕后,我们就需要保存XML配置文件。
三、重新加载XML配置
VM的XML配置文件修改完毕后,我们现在来重新加载该XML配置文件。
使用define命令,如下:
virsh define /etc/libvirt/qemu/server2003-cf.xml
注意:virsh define命令不仅具有新添加一个VM的功能,而且还能重新加载VM的XML配置文件。
四、启动VM查看添加的设备
VM的XML配置加载完毕后,我们现在来启动VM。如下:
virsh start server2003-cf
进入VM查看新加的硬盘、网卡和升级后的内存,如下:
通过上图,我们可以看到前面我们添加的硬盘、网卡都已经正常添加,同时内存也升级到4G。
到此,我们有关给KVM中的VM添加设备结束。