李振君 發表於 2016-1-14 12:16:17

KVM虚拟机的常用操作命令整理

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