kvm虚拟机命令梳理
1 1)查看KVM虚拟机配置文件及运行状态 2 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ 3 autostart目录是配置kvm虚拟机开机自启动目录。 4 5 virsh命令帮助 6 # virsh -help 7 或直接virsh命令和,再执行子命令。如下所示。 8 # virsh 9 欢迎使用 virsh,虚拟化的交互式终端。 10 输入:'help' 来获得命令的帮助信息 11 'quit' 退出 12 virsh # help 13 ....... 14 15 查看kvm虚拟机状态 16 #virsh list --all 17 18 2)KVM虚拟机开机 19 # virsh start oeltest01 20 21 3)KVM虚拟机关机或断电 22 关机 23 默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。 24 # chkconfig acpid on 25 # service acpid restart 26 virsh关机 27 # virsh shutdown oeltest01 28 29 强制关闭电源 30 # virsh destroy wintest01 31 32 4)通过配置文件启动虚拟机 33 # virsh create /etc/libvirt/qemu/wintest01.xml 34 35 5)配置开机自启动虚拟机 36 # virsh autostart oeltest01 37 38 autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。 39 40 6)导出KVM虚拟机配置文件 41 # virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml 42 43 KVM虚拟机配置文件可以通过这种方式进行备份。 44 45 7)添加与删除KVM虚拟机 46 删除kvm虚拟机 47 # virsh undefine wintest01 48 说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。 49 50 重新定义虚拟机配置文件 51 通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。 52 # mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml 53 # virsh define /etc/libvirt/qemu/wintest01.xml 54 55 8)编辑KVM虚拟机配置文件 56 # virsh edit wintest01 57 virsh edit将调用vi命令编辑/etc/libvirt/qemu/wintest01.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。 58 可以但不建议直接通过vi编辑。 59 # vim /etc/libvirt/qemu/wintest01.xml 60 61 9)irsh console 控制台管理linux虚拟机 62 配置virsh console见下文 63 kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置 64 # virsh console oeltest01 65 66 10)其它virsh命令 67 挂起服务器 68 # virsh suspend oeltest01 69 70 恢复服务器 71 # virsh resume oeltest01 72 73 virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。 74 75 76 -------------------------------------------其他命令------------------------------------------- 77 1)创建虚拟机 78 [root@localhost ~]# virt-install --name=centos1 \ #生成一个虚拟机 79 --ram 1024 --vcpus=1 \ 80 --disk path=/root/centos1.img,size=10 \ 81 --accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \ 82 --graphics vnc,port=5921 --network bridge=br0 83 84 2)virsh的其他操作 85 [root@localhost /]# virsh start centos1 #启动虚拟机 86 [root@localhost /]# virt-viewer centos1 #如果有图形界面的话,可以进入虚拟机的界面 87 [root@localhost ~]# virsh shutdown centos1 #关闭虚拟机 88 [root@localhost /]# virsh reboot centos1 #重启虚拟机 89 [root@localhost /]# virsh suspend centos1 #暂停虚拟机 90 [root@localhost /]# virsh resume centos1 #恢复虚拟机 91 [root@localhost /]# virsh autostart centos1 #自动加载虚拟机 92 93 -------------------------------------------virsh参数如下------------------------------------------- 94 autostart #自动加载指定的一个虚拟机 95 connect #重新连接到hypervisor 96 console #连接到客户会话 97 create #从一个SML文件创建一个虚拟机 98 start #开始一个非活跃的虚拟机 99 destroy #删除一个虚拟机 100 define #从一个XML文件定义一个虚拟机 101 domid #把一个虚拟机名或UUID转换为ID 102 domuuid #把一个郁闷或ID转换为UUID 103 dominfo #查看虚拟机信息 104 domstate #查看虚拟机状态 105 domblkstat #获取虚拟机设备快状态 106 domifstat #获取虚拟机网络接口状态 107 dumpxml #XML中的虚拟机信息 108 edit #编辑某个虚拟机的XML文件 109 list #列出虚拟机 110 migrate #将虚拟机迁移到另一台主机 111 quit #退出非交互式终端 112 reboot #重新启动一个虚拟机 113 resume #重新恢复一个虚拟机 114 save #把一个虚拟机的状态保存到一个文件 115 dump #把一个虚拟机的内核dump到一个文件中以方便分析 116 shutdown #关闭一个虚拟机 117 setmem #改变内存的分配 118 setmaxmem #改变最大内存限制值 119 suspend #挂起一个虚拟机 120 vcpuinfo #虚拟机的cpu信息 121 version #显示virsh版本 122 123 3)virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用! 124 # virt-clone --connect=qemu:#/system -o centos1 -n centos3 -f /root/centos3.img #克隆centos1 125 正在克隆 centos1.img | 10.0 GB 00:07 126 127 Clone 'centos3' created successfully. 128 libguestfs-tools是虚拟机一个管理包,很有用的工具 129 [root@localhost ~]# yum -y install libguestfs-tools #安装工具包 130 131 4)未登录的情况下,查看镜像目录 132 [root@localhost ~]# virt-ls centos.img /home #查看centos.img镜像文件中/home目录 133 tank 134 135 5)未登录的情况下,将镜像文件中的文件copy出来 136 [root@localhost ~]# virsh list --all #查看所有的虚拟机名称 137 Id 名称 状态 138 ---------------------------------------------------- 139 1 centos1 running 140 2 centos6.5 running 141 - arch 关闭 142 - arch1 关闭 143 - arch2 关闭 144 - arch3 关闭 145 - arch5 关闭 146 - centos3 关闭 147 - ubuntu 关闭 148 - ubuntu1 关闭 149 [root@localhost ~]# virt-copy-out -d centos1 /etc/passwd /tmp #将centos1中的文件copy到tmp下面 150 151 6)查看虚拟机的分区情况 152 [root@localhost ~]# virt-filesystems -d centos1 153 /dev/sda1 154 /dev/VolGroup/lv_root 155 [root@localhost ~]# virt-list-partitions /root/centos.img 156 /dev/sda1 157 /dev/sda2 158 [root@localhost ~]# virt-df centos.img 159 Filesystem 1K-blocks Used Available Use% 160 centos.img:/dev/sda1 495844 34510 435734 7% 161 centos.img:/dev/VolGroup/lv_root 8780808 2842056 5492700 33% 162 163 7)mount虚拟机 164 [root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb 165 [root@localhost ~]# cd /mnt/usb/ 166 [root@localhost usb]# ls 167 bin dev home lib64 media mnt opt root selinux sys usr 168 boot etc lib lost+found misc net proc sbin srv tmp var 169 170 8)修改kvm中虚拟机的内存大小 171 [root@nfs ~]# virsh edit vm01 ##注意vi直接编辑不生效 172 vm01 173 df8604c1-dcf3-fa98-420f-6eea7b39c395 174 1048576 ###本来开始设置为1G,现在这个单位是k 175 1048576 176 177 修改为1.5G 178 [root@nfs ~]# expr 1536 \* 1024 179 1572864</p> <p>[root@nfs ~]# virsh list 180 Id Name State 181 ---------------------------------- 182 1 win2003 running 183 3 vm01 running 184 185 [root@nfs ~]# virsh shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它 186 Domain vm01 is being shutdown 187 >[root@nfs ~]# virsh list ###确认已经被关闭 188 Id Name State 189 ---------------------------------- 190 1 win2003 running 191 192 [root@nfs ~]# virsh start vm01 ###启动它 193 Domain vm01 started 194 195 [root@nfs ~]# virsh list 196 Id Name State 197 ---------------------------------- 198 1 win2003 running 199 3 vm01 running 200 201 到机器上查看内存大小: 202 [root@vm01 liuxiaojie]# free -m 203 total used free shared buffers cached 204 Mem: 1505 618 886 0 29 361 205 -/+ buffers/cache: 227 1277 206 Swap: 2000 0 2000 207 208 9)删除一个虚拟机(vm01),可以删除一个状态为“shut off”的虚拟机 209 [root@nfs qemu]# virsh undefine vm01 210 [root@nfs qemu]# rm -f /home/data/vm01.img 211 212 10)删除一个域 213 [root@nfs web01]# virsh list --all 214 Id Name State 215 ---------------------------------- 216 1 web01 running #处于工作状态 217 - myweb01 shut off 218 - myweb03 shut off 219 - mywin2003 shut off 220 - myxp shut off 221 - xp shut off 222 [root@nfs web01]# virsh undefine web01 ##处于工作状态也能删除! 223 Domain web01 has been undefined 224 [root@nfs web01]# virsh list 225 Id Name State 226 ---------------------------------- 227 1 web01 running 228 [root@nfs web01]# virsh destroy web01 229 Domain web01 destroyed 230 [root@nfs web01]# virsh list --all ##web01已经没有了! 231 Id Name State 232 ---------------------------------- 233 - myweb01 shut off 234 - myweb03 shut off 235 - mywin2003 shut off 236 - myxp shut off 237 - xp shut off 238 [root@nfs web01]# virsh define web01 239 error: Failed to open file 'web01': No such file or directory 240 241 -------------------------------------------virsh相关命令------------------------------------------- 242 1)安装libvirt 243 #yum install kvm virt-* libvirt 244 2)检查是否安装成功 245 #lsmod |grep kvm 246 3)相关命令 247 #virsh -c qemu:#/system list 248 #virsh list 249 #virsh list --all #查看所有状态的虚拟机 250 #virsh shutdown myWin7 #关闭myWin7虚拟机 251 #virsh destroy myWin7 #删除myWin7虚拟机 252 #virsh start node4 #开机虚拟机 253 #virsh define /etc/libvirt/qemu/node5.xml #根据主机配置文档添加虚拟机 254 #virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml #将node4虚机的配置文件保存至node6.xml 255 #virsh edit node6 #修改node6的配置文件 256 #virsh suspend vm_name #暂停虚拟机 257 #virsh resume vm_name #恢复虚拟机 258 4)vm配置文件路径 259 /etc/libvirtd/qemu/***.xml 可以通过vim对配置文件进行管理,编辑后需要#service libvirtd restart(不会对现有VM有影响。)
作者: 东邪西毒
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,负责保留追究法律责任的权利。