KVM为虚拟机添加设备总结

有关为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添加设备结束。

时间: 2016-05-12

KVM为虚拟机添加设备总结的相关文章

为KVM虚拟机添加网卡

前几篇文章介绍了有关KVM安装虚拟机以及如何给虚拟机添加硬盘,今天我们再来介绍下有关如何给KVM虚拟机添加网卡. 给KVM虚拟机添加网卡,可以分为两种形式:图形界面的和virsh attach-interface命令的. 图形界面的很简单,现在已虚拟机centos2为例:如下图操作: 注意该图中的MAC地址 more /etc/udev/rules.d/70-persistent-net.rules 现在上图,我们可以看到新增加的网卡,在系统中显示的是eth1,并且MAC地址为52:54:00:

kvm虚拟化学习笔记(十二)之kvm linux虚拟机在线扩展磁盘

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1295296 KVM虚拟化学习笔记系列文章列表 ---------------------------------------- kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51cto.com/703525/1288795 kvm虚拟化学习笔记(二)之linux kvm虚拟机安装 h

RHCSA 系列(十五): 虚拟化基础和使用 KVM 进行虚拟机管理

假如你在词典中查一下单词 "虚拟化virtualize",你将会发现它的意思是 "创造某些事物的一个虚拟物(而非真实的)".在计算机行业中,术语虚拟化virtualization指的是:在相同的物理(硬件)系统上,同时运行多个操作系统,且这几个系统相互隔离的可能性,而那个硬件在虚拟化架构中被称作宿主机host. RHCSA 系列: 虚拟化基础和使用 KVM 进行虚拟机管理 – Part 15 通过使用虚拟机监视器(也被称为虚拟机管理程序hypervisor),虚拟机

CloudStack 4.4+KVM之虚拟机模板创建

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1565551 CloudStack 4.4+KVM之管理服务器安装   http://koumm.blog.51cto.com/703525/1558660     CloudStack 4.4+KVM之KVM计算节点安装    http://koumm.blog.51cto.com/703525/1558670    

UBuntu系统安装KVM创建虚拟机遭遇故障

 现象: ping不通虚拟机,ssh登录不上,console方式登录不上, 虚拟机无法shutdown,貌似电源管理也没有安装成功. 先来解决网络问题: 还好可以通过virt-cat来检查虚拟机内部的文件. 先关闭虚拟机 virsh destroy vm1 然后检查网卡设置文件: root@dbkvm:~# virt-cat -d vm1 /etc/network/interfaces # This file describes the network interfaces available

CentOS在不重启的情况下为其虚拟机添加新硬盘的教程

  通常在你在虚拟机中添加一块新硬盘时,你可能会看到新硬盘没有自动加载.这是因为连接到硬盘的SCSI总线需要重新扫描来使得新硬盘可见.这里有一个简单的命令来重新扫描SCSI总线和SCSI设备.下面这几步在CentOS 7 和RHEL 7 中测试过. 在ESXi或者vCenter中添加一块新的20G硬盘: 显示当前磁盘分区: 代码如下: [root@centos7 ~]# fdisk -l Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 se

给vmware的Linux虚拟机添加硬盘

给vmware的Linux虚拟机添加硬盘   1.先将虚拟机Power Off,在Virtual Machine Setting对话框里点击左下角的"Add",选择"Hard Disk",之后选择"Create a new virtual disk",分配容量,其他默认配置就可以了.   2.启动虚拟机系统,用root登陆,利用 # ls /dev/sd* 的命令可以看到最后有一个sdb 或sdc(如果是添加的第三块硬盘会是sdc),它没有sdb

求高人指点:CloudStack4.4.0上部署Hyper-V,总是报错:无法添加设备“Virtual Hard Disk”...

问题描述 CloudStack新人,碰到麻烦了,向各位达人请教,该如何解决???具体环境如下:Cloudstack:4.4.0Hyper-v:WindowsServer2012R2Cloudstack按照要求,我创建的是一个高级Zone,没有启用安全组.Hyper-v上创建了一个域.主存储和辅助存储都是用的SMB.顺利的创建完ZonePodCluster,成功添加主存储.辅助存储.主机.导入系统虚拟机模板后,激活Zone,系统虚拟机起不来,错误日志如下:.........2015-06-0518

Windows 7及Win 2008 添加设备时,正在搜索设备无响应的解决办法

问题的发现:前几天做实验,准备在Windows 7的网络设备添加一块Microsoft Loopback Adapter虚拟网卡,进入[添加设备]的时候,发现一直停留在[正在搜索设备... 请确保可以检测您的设备] 很久都没什么反应. 并且我的笔记本和台式机都一样有这个问题.系统都是正版的Windows7专业版,系统其他应用都正常.既然Windows7不能添加虚拟网卡,那就改在Server 2008 上做实验吧,于是远程桌面我的一台服务器,打开[添加设备],发现了同样的问题.如下图所示: Win