kvm虚拟机日常操作命令梳理
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理。废话不多说,下面列出kvm日常管理中的命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | 1)查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录。 virsh命令帮助 # virsh -help 或直接virsh命令和,再执行子命令。如下所示。 # virsh 欢迎使用 virsh,虚拟化的交互式终端。 输入: 'help' 来获得命令的帮助信息 'quit' 退出 virsh # help ....... 查看kvm虚拟机状态 #virsh list --all 2)KVM虚拟机开机 # virsh start oeltest01 3)KVM虚拟机关机或断电 关机 默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。 # chkconfig acpid on # service acpid restart virsh关机 # virsh shutdown oeltest01 强制关闭电源 # virsh destroy wintest01 4)通过配置文件启动虚拟机 # virsh create /etc/libvirt/qemu/wintest01.xml 5)配置开机自启动虚拟机 # virsh autostart oeltest01 autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。 6)导出KVM虚拟机配置文件 # virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml KVM虚拟机配置文件可以通过这种方式进行备份。 7)添加与删除KVM虚拟机 删除kvm虚拟机 # virsh undefine wintest01 说明:该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件。 重新定义虚拟机配置文件 通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。 # mv /etc/libvirt/qemu/wintest02.xml /etc/libvirt/qemu/wintest01.xml # virsh define /etc/libvirt/qemu/wintest01.xml 8)编辑KVM虚拟机配置文件 # virsh edit wintest01 virsh edit将调用 vi 命令编辑 /etc/libvirt/qemu/wintest01 .xml配置文件。也可以直接通过 vi 命令进行编辑,修改,保存。 可以但不建议直接通过 vi 编辑。 # vim /etc/libvirt/qemu/wintest01.xml 9)irsh console 控制台管理linux虚拟机 配置virsh console见下文 kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置 # virsh console oeltest01 10)其它virsh命令 挂起服务器 # virsh suspend oeltest01 恢复服务器 # virsh resume oeltest01 virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。 -------------------------------------------其他命令------------------------------------------- 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 [root@nfs ~] # virsh shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它 Domain vm01 is being shutdown >[root@nfs ~] # virsh list ###确认已经被关闭 Id Name State ---------------------------------- 1 win2003 running [root@nfs ~] # virsh start vm01 ###启动它 Domain vm01 started [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),可以删除一个状态为“shut off”的虚拟机 [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 -------------------------------------------virsh相关命令------------------------------------------- 1)安装libvirt #yum install kvm virt-* libvirt 2)检查是否安装成功 #lsmod |grep kvm 3)相关命令 #virsh -c qemu:#/system list #virsh list #virsh list --all #查看所有状态的虚拟机 #virsh shutdown myWin7 #关闭myWin7虚拟机 #virsh destroy myWin7 #删除myWin7虚拟机 #virsh start node4 #开机虚拟机 #virsh define /etc/libvirt/qemu/node5.xml #根据主机配置文档添加虚拟机 #virsh dumpxml node4 > /etc/libvirt/qemu/node6.xml #将node4虚机的配置文件保存至node6.xml #virsh edit node6 #修改node6的配置文件 #virsh suspend vm_name #暂停虚拟机 #virsh resume vm_name #恢复虚拟机 4)vm配置文件路径 /etc/libvirtd/qemu/ ***.xml 可以通过vim对配置文件进行管理,编辑后需要 #service libvirtd restart(不会对现有VM有影响。) |
*************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
分类:
虚拟化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?