(编辑:jimmy 日期: 2025/10/31 浏览:2)
1,创建虚拟机
复制代码代码如下:
[root@localhost ~]# virt-install --name=centos1 \            #生成一个虚拟机  
--ram 1024 --vcpus=1 \  
--disk path=/root/centos1.img,size=10 \  
--accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \  
--graphics vnc,port=5921 --network bridge=br0  
2,virsh的其他操作
复制代码代码如下:
[root@localhost /]# virsh start centos1       #启动虚拟机  
  
[root@localhost /]# virt-viewer centos1       #如果有图形界面的话,可以进入虚拟机的界面  
  
[root@localhost ~]# virsh shutdown centos1    #关闭虚拟机  
  
[root@localhost /]# virsh reboot centos1      #重启虚拟机  
  
[root@localhost /]# virsh suspend centos1     #暂停虚拟机  
  
[root@localhost /]# virsh resume centos1      #恢复虚拟机  
  
[root@localhost /]# virsh autostart centos1   #自动加载虚拟机  
virsh参数如下:
autostart         #自动加载指定的一个虚拟机  
connect           #重新连接到hypervisor  
console           #连接到客户会话  
create            #从一个SML文件创建一个虚拟机  
start             #开始一个非活跃的虚拟机  
destroy           #删除一个虚拟机  
define            #从一个XML文件定义一个虚拟机  
domid             #把一个虚拟机名或UUID转换为ID  
domuuid           #把一个郁闷或ID转换为UUID  
dominfo           #查看虚拟机信息  
domstate          #查看虚拟机状态  
domblkstat        #获取虚拟机设备快状态  
domifstat         #获取虚拟机网络接口状态  
dumpxml           #XML中的虚拟机信息  
edit              #编辑某个虚拟机的XML文件  
list              #列出虚拟机  
migrate           #将虚拟机迁移到另一台主机  
quit              #退出非交互式终端  
reboot            #重新启动一个虚拟机  
resume            #重新恢复一个虚拟机  
save              #把一个虚拟机的状态保存到一个文件  
dump              #把一个虚拟机的内核dump到一个文件中以方便分析  
shutdown          #关闭一个虚拟机  
setmem            #改变内存的分配  
setmaxmem         #改变最大内存限制值  
suspend           #挂起一个虚拟机  
vcpuinfo          #虚拟机的cpu信息  
version           #显示virsh版本  
3,virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用
复制代码代码如下:
# virt-clone --connect=qemu:///system -o centos1 -n centos3 -f  /root/centos3.img          #克隆centos1 
正在克隆 centos1.img                                                             | 10.0 GB     00:07       
  
Clone 'centos3' created successfully.  
libguestfs-tools是虚拟机一个管理包,很有用的工具
[root@localhost ~]# yum -y install libguestfs-tools   #安装工具包  
4,未登录的情况下,查看镜像目录
复制代码代码如下:
[root@localhost ~]# virt-ls centos.img /home   #查看centos.img镜像文件中/home目录  
tank  
5,未登录的情况下,将镜像文件中的文件copy出来
复制代码代码如下:
[root@localhost ~]# virsh list --all       #查看所有的虚拟机名称  
 Id    名称                         状态  
----------------------------------------------------  
 1     centos1                        running  
 2     centos6.5                      running  
 -     arch                           关闭  
 -     arch1                          关闭  
 -     arch2                          关闭  
 -     arch3                          关闭  
 -     arch5                          关闭  
 -     centos3                        关闭  
 -     ubuntu                         关闭  
 -     ubuntu1                        关闭  
[root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp       #将centos1中的文件copy到tmp下面  
6,查看虚拟机的分区情况
复制代码代码如下:
[root@localhost ~]# virt-filesystems -d centos1  
/dev/sda1  
/dev/VolGroup/lv_root  
  
[root@localhost ~]# virt-list-partitions /root/centos.img  
/dev/sda1  
/dev/sda2  
  
[root@localhost ~]# virt-df centos.img  
Filesystem                           1K-blocks       Used  Available  Use%  
centos.img:/dev/sda1                    495844      34510     435734    7%  
centos.img:/dev/VolGroup/lv_root       8780808    2842056    5492700   33%  
7,mount虚拟机
复制代码代码如下:
[root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb  
[root@localhost ~]# cd /mnt/usb/  
[root@localhost usb]# ls  
bin   dev  home  lib64       media  mnt  opt   root  selinux  sys  usr  
boot  etc  lib   lost+found  misc   net  proc  sbin  srv      tmp  var  
8,修改kvm中虚拟机的内存大小
复制代码代码如下:
[root@nfs ~]# virsh edit vm01  ##注意vi直接编辑不生效
 
  vm01
  df8604c1-dcf3-fa98-420f-6eea7b39c395
  1048576 ###本来开始设置为1G,现在这个单位是k
  1048576
修改为1.5G
复制代码代码如下:
[root@nfs ~]# expr 1536 \* 1024
1572864</p>
<p>[root@nfs ~]# virsh list
 Id Name                 State
----------------------------------
  1 win2003              running
  3 vm01                 running</p>
<p>[root@nfs ~]# virsh  shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它
Domain vm01 is being shutdown</p>
<p>[root@nfs ~]# virsh list                      ###确认已经被关闭
 Id Name                 State
----------------------------------
  1 win2003              running</p>
<p>[root@nfs ~]# virsh start vm01            ###启动它
Domain vm01 started</p>
<p>[root@nfs ~]# virsh list
 Id Name                 State
----------------------------------
  1 win2003              running
  3 vm01                   running
到机器上查看内存大小:
复制代码代码如下:
[root@vm01 liuxiaojie]# free -m
             total       used       free     shared    buffers     cached
Mem:          1505        618        886          0         29        361
-/+ buffers/cache:        227       1277
Swap:         2000          0       2000
9,删除一个虚拟机(vm01)
复制代码代码如下:
[root@nfs qemu]# virsh undefine  vm01
[root@nfs qemu]# rm -f /home/data/vm01.img
10,删除一个域
复制代码代码如下:
[root@nfs web01]# virsh list --all
 Id Name                 State
----------------------------------
  1 web01                running  ##处于工作状态
  - myweb01              shut off
  - myweb03              shut off
  - mywin2003            shut off
  - myxp                 shut off
  - xp                   shut off
 
复制代码代码如下:
[root@nfs web01]# virsh undefine web01   ##处于工作状态也能删除!
Domain web01 has been undefined 
复制代码代码如下:
[root@nfs web01]# virsh list
 Id Name                 State
----------------------------------
  1 web01                running
复制代码代码如下:
[root@nfs web01]# virsh destroy web01
Domain web01 destroyed
复制代码代码如下:
[root@nfs web01]# virsh list --all    ##web01已经没有了!
 Id Name                 State
----------------------------------
  - myweb01              shut off
  - myweb03              shut off
  - mywin2003            shut off
  - myxp                    shut off
  - xp                        shut off
复制代码代码如下:
[root@nfs web01]# virsh define web01
error: Failed to open file 'web01': No such file or directory