问题导读
1.在Centos6中如何安装KVM?
2.virsh提供哪两种执行模式?
3.virsh是否允许把某一个虚拟机目前的设置值存储下来?
什么是kvm?
openstack学习之什么是hypervisor、KVM、Xen及他们之间的关系
openstack的虚拟化技术有个kvm,什么是kvm?什么qemu、libvirt?
使用libvirt管理kvm虚拟机
上面从不同角度解释了什么是kvm。如果我们初学,其实还是没有真正认识它是什么?
如果我们知道vmware,并且我们使用vmware搭建过hadoop集群、openstack集群。那么我们就知道kvm其实跟vmware是功能相同的软件。
它可以根据镜像安装系统,同样也有自己的网络模式
相关资料如下:
链接: http://pan.baidu.com/s/1o6BJyGy 密码:
什么是virsh?
virsh更像是Kvm的命令行管理工具,如同window的cmd,而我们操作window,经常通过界面操作。如果熟悉命令,virsh操作Kvm更方便。
##############################################
在Centos6中安装KVM的方法
1、使用最小化服务器安装完centos6系统;
2、配置该服务器能上internet;
3、yum groupinstall Virtual*
4、重启服务器;
5、使用#lsmod |grep kvm,有下面类似输出,则表明KVM安装完成。
kvm_amd(或者kvm_intel) 50380 0
kvm 305081 1 kvm_amd(或者kvm_intel)
本节将介绍 virsh 这个管理工具的使用方法。 1 基本语法 virsh的基本用法如下: virsh [COMMAND] [ARGS...]
另外需要注意的是,virsh提供两种执行模式:”直接模式(Direct Mode)”与”互动模式(Interactive Mode)”。在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh,如果在互动模式中,则virsh会提供一个提示字符串, 你可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。 与xm一样,COMMAND也是 virsh提供的命令,常用的命令如表 28-5所示。
__________________________________________________________________
表28-5 virsh常用命令一览表
命令 说明
help 显示该命令的说明
quit 结束 virsh,回到 Shell
connect 连接到指定的虚拟机服务器
create 启动一个新的虚拟机
destroy 删除一个虚拟机
start 开启(已定义的)非启动的虚拟机
define 从 XML 定义一个虚拟机
undefine 取消定义的虚拟机
dumpxml 转储虚拟机的设置值
list 列出虚拟机
reboot 重新启动虚拟机
save 存储虚拟机的状态
restore 回复虚拟机的状态
suspend 暂停虚拟机的执行
resume 继续执行该虚拟机
dump 将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown 关闭虚拟机
setmem 修改内存的大小
setmaxmem 设置内存的最大值
setvcpus 修改虚拟处理器的数量
____________________________________________________________________
而virsh命令语法的ARGS则是COMMAND 搭配的参数。不同的COMMAND可能需搭配不同的参数,至于什么COMMAND可以搭配哪些参数,我将会在对各功能的介绍中提到。 总地来说,如果ARGS需指定虚拟机,你可以使用下列的格式指定是哪一个虚拟机器。 虚拟机的名称。 虚拟机启动后的标识符。 虚拟机的 UUID。 以下就是使用 virsh 的示范。
[root@linux ~]# virsh ?①
欢迎使用 virsh - 虚拟化的互动模式终端机。
类型:
[help]以取得命令的求助画面
[quit]离开
virsh # list
Id 名称 状态
----------------------------------
0 Domain-0 执行中
virsh # quit ②
[root@linux ~]# virsh list ③
Id 名称 状态
----------------------------------
0 Domain-0 执行中
[root@linux ~]# ① 以互动模式执行 virsh。 ② 结束 virsh 的执行,回到默认的 Shell 下。 ③ 这是以直接模式执行 virsh,结果与互动模式完全一样。 由于virsh与xm的部分功能相同,因此,本节仅介绍virsh与xm的不同之处。 2查看Domain信息 virsh 可以查看虚拟机的相关信息,你只需在执行 virsh 时配合如表28-6所示的命令。
____________________________________________________________________________
表28-6 查看Domain信息执行的命令
命令 说明
domid 查看虚拟机的标识符
domname 查看虚拟机的名称
domuuid 查看虚拟机的 UUID
domstate 查看虚拟机目前的状态
dominfo 查看虚拟机的信息
执行上述的每一个命令时,你都必须指定虚拟机的名称、标识符和UUID。以下是我使用 virsh 查看虚拟机信息的示范。
______________________________________________________________________________
[root@linux ~]# virsh domid system1
3 ?①
[root@linux ~]# virsh domname 3
system1 ②
[root@linux ~]# virsh domuuid system1
8f35e0d3-f9d0-11f7-c0a5-30bd84228549 ③?
[root@linux ~]# virsh dominfo system1 ④?
Id: 3
名称: system1
UUID: 8f35e0d3-f9d0-11f7-c0a5-30bd84228549
操作系统类型: linux
状态: 以组绝
处理器数目: 1 处理器时间: 23.7s 最大内存: 512000 KB
已使用的内存: 511824 KB
[root@linux ~]#
① 这是 system1 虚拟机的标识符。
② 这是标识符 3 的虚拟机之名称。
③ system1 的 UUID。
④ 这则是 system1 完整的信息。
3 转储区域配置
除了上述的功能外,virsh也允许把某一个虚拟机目前的设置值存储下来。virsh把设置值存储下来的动作,称为”转储(Dump)”。
转储虚拟机设置值有什么好处?
好处很多,我至少想到两个。首先,转储虚拟机的设置值可以让你把某一个虚拟机的设置备份下来,以供日后恢复该设置配置。其次,如果要用 virsh 来启动一个虚拟机,你必须指定该虚拟机的配置文件。因此,如果你希望用virsh 来管理所有的虚拟机,
那么请务必把每一个虚拟机的设置值转储下来后妥善保存。
如果要转储虚拟机的设置值,你可以执行:
virsh dumpxml DOMAIN
其中的DOMAIN就是要转储的虚拟机。你可以使用虚拟机的名称、标识符或是UUID来指定要转储到哪一个虚拟机。以下是我使用virsh转储虚拟机的范例。
- [root@linux ~]# virsh dumpxml system1 ?①
- <domain type='xen' id='3'>
- <name>system1</name>
- <uuid>8f35e0d3f9d011f7c0a530bd84228549</uuid>
- <bootloader>/usr/bin/pygrub</bootloader>
- <os>
- <type>linux</type>
- <kernel>/var/lib/xen/vmlinuz.39zui7</kernel>
- <initrd>/var/lib/xen/initrd.bTaKXX</initrd>
- <cmdline>ro root=LABEL=/</cmdline>
- </os>
- <memory>512000</memory>
- <vcpu>1</vcpu>
- <on_poweroff>destroy</on_poweroff>
- <on_reboot>restart</on_reboot>
- <on_crash>restart</on_crash>
- <devices>
- <interface type='bridge'>
- <source bridge='xenbr0'/>
- <mac address='00:16:3e:1f:9a:73'/>
- <script path='vif-bridge'/>
- </interface>
- <disk type='block' device='disk'>
- <driver name='phy'/>
- <source dev='/dev/xmdisk/system1'/>
- <target dev='xvda'/>
- </disk>
- <graphics type='vnc' port='5900'/>
- <console tty='/dev/pts/4'/>
- </devices>
- </domain>
- [root@linux ~]# ls ② anaconda-ks.cfg Desktop/ install.log install.log.syslog [root@linux ~]# virsh dumpxml system1 > system1.virsh.xml ?③ [root@linux ~]# ls anaconda-ks.cfg Desktop/ install.log
复制代码
|