Virsh 基本管理及虚拟机的新建、存储池、XML文件

本文详细介绍了KVM环境下虚拟机的基本管理操作,包括启动、关闭、配置编辑等,以及如何手动和快速创建新虚拟机。还涵盖了虚拟机的克隆过程,包括配置文件和磁盘文件的复制,以及利用qcow2磁盘复用技术实现虚拟机的快速构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、virsh 基本管理操作
列出虚拟机:# virsh list --all
列出虚拟网络 :# virsh net-list --all
查看KVM服务器的节点,即KVM服务器信息 :# virsh nodeinfo
指出虚拟机的配置信息:# virsh dominfo pc207
开启虚拟机 :virsh start pc207
关闭虚拟机: virsh shutdown pc207
强制关机 : virsh destroy pc207
设置为自动启动: virsh autostart pc207
取消自动启动: virsh autostart --disable pc207
删除虚拟机: # virsh undefine pc207 # rm -rf /var/lib/libvirt/images/pc207.qcow2
编辑虚拟机配置 :#virsh edit pc207
(注意:uuid 值可以删除,系统会重新生成;)
二、手动新建虚拟机
复制一台新的虚拟机,虚拟机的cpu/内存/网络参数均不会改变。
虚拟机文件的组成分为:
xml 配置文件 : /etc/libvirt/qemu (用来定义虚拟机的名称、UUID cpu 、内存、虚拟磁盘、网卡等信息)
磁盘镜像文件 : /var/lib/libvirt/images (保存虚拟机的操作系统机文档数据)
注意:克隆或者复制虚拟机之前要删除被复制虚拟机的唯一性硬件设备-图形删除 :两个channel(接口设备)
2.1 复制xml配置文件,该文件位于/etc/libvirt/qemu/虚拟机名.xml
查看磁盘文件# qemu-img info pc207.qcow2
#cd /etc/libvirt/qemu
#cp pc207.xml pc51.xml
修改xml 配置文件
#vim pc51.xml
(修改name 、 source file磁盘文件名、 删除UUID MAC地址 )
2.2 创建新的磁盘文件
#cd /var/lib/libvirt/images/
#cp pc207.qcow2 pc51.qcow2
2.3 导入虚拟机信息
#virsh define /etc/libvirt/qemu/pc51.xml
#virsh list --all
三、快建新虚拟机
思路:提前准备一台模板虚拟机(镜像磁盘文件+xml配置文件);
基于qcow2磁盘复用技术快建虚拟机的磁盘;
通过调整模板及的配置文件快建新虚拟机的xml的配置文件
导入新虚拟机
Copy -on- write 写时复制技术原理:
( 内核只为新生成的子进程创建虚拟空间结构,它们来复制于父进程的虚拟究竟结构,但是不为这些段分配物理内存,它们共享父进程的物理空间,当父子进程中有更改相应段的行为发生时,再为子进程相应的段分配物理空间。)
直接映射原始盘的数据内容;
当原始盘有修改的时候在修改之前将旧数据存入前盘;
对前盘的修改不会回写到原始盘
3.1 首先关闭虚拟机pc207 #virsh destroy pc207
3.2 生成前端盘
qemu-img 通过 -b 选项复用指定原始盘
-qemu-img create -f qcow2 -b 原始盘 前端盘

#cd /var/lib/libvirt/images/
#qemu-img create -f qcow2 -b pc207.qcow2 pc56.qcow2
3.3 生成新的虚拟机
#virsh edit pc207 (修改name 、 source file磁盘文件名、 删除UUID MAC地址 )
编辑了域 pc56 XML 配置
3.4 导入新虚拟机信息
#cd /etc/libvirt/qemu/
#virsh define pc56.xml
3.5 验证
#virsh list --all
查看虚拟机信息:#qemu-img info 虚拟机名


XML 配置文件
——定义了一个虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置。
——默认位于/stc/libvirt/qemu/虚拟机。xml
导出xml配置文件
——查看:virsh dumpxml 虚拟机名
——备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml
对虚拟机的配置进行调整:
——编辑:virsh edit 虚拟机名
若修改name \uuid \disk \ mac 可自动保存为新虚拟机配置
导入虚拟机
根据修改后的独立xml文件定义虚拟机
——virsh define xml描述文件
删除虚拟机:
——virsh undefine 虚拟机名


xml 配置文件中的内容:

platform 虚拟机名称
881b60b5-a6b0-8f72-b177-b8ff2db043e2
None
设置内存大小 10485760
设置虚拟机运行内存,即设备先分给虚拟机的内存,当不够的时候再分,设置的内存为上限值
10485760
虚拟机的cpu个数
4
开启启动项,和类型的设置
hvm

设置虚拟机cpu的线程和核数,并不是必须的,三者相乘应该是cpu的个数

时间的设定,使用宿主机的时间

指定开机关机重启的命令
<on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash>
添加必要的磁盘
/usr/libexec/qemu-kvm
添加磁盘信息,指定为vda,即C盘


网卡信息,使用桥接方式连接

配置vnc信息

—————————————————————————————
克隆虚拟机:
1)查找后端文件
#cd /var/lib/libvirt/images/
#ls
2)停止虚拟机
#virsh destroy centos7.0
3)创建新的虚拟机映像
qemu-img create -b rhel6.qcow2 -f qcow2 xin.img
]# cd /var/lib/libvirt/images/
]# qemu-img convert -O qcow2 xin.img xin.qcow2 //镜像格式转换
images]# ls
4)修改模板xml
]# virsh edit centos7.0
5)启动虚拟机,并查看
]# virsh list --all
]# virsh dominfo xin
virsh start xin
virsh console xin
虚拟机还原初始状态


使用guestmonut工具 (需要注意selinux机制的影响)
——支持离线挂载raw、qcow2格式虚拟机磁盘
——可以在虚拟机关机的情况下,直接修改磁盘中的文档
——方便对虚假机定制、修复、脚本维护
如何挂载虚拟盘:基本用法:
guestmount -a 虚拟机磁盘路径 -i /挂载点


KVM——存储池
KVM平台以存储池的形式对存储进行统一管理,所谓存储池可以理解为本地目录、通过远端磁盘阵列(iSCSI、NFS)分配过来磁盘或目录,当然也支持各类分布式文件系统。存储池(Storagepools)是放置虚拟机的存储位置,具体的虚拟机实例放置在卷(Volume)上。。
virsh中pool命令能够查看、创建、激活、注册、删除存储池。
默认KVM将这些存储池的配置文件存放于/etc/libvirt/storage
]# cd /etc/libvirt/storage/
]# ls
autostart CentOS-7-x86_64-Everything-1511.xml default.xml ISO.xml test.xml
查看当前存储池列表:virsh # pool-list --all
查看某一存储池的具体信息(以XML形式存在) :virsh # pool-dumpxml default


例子1:创建一个存储池
[如果通过执行virsh pool-create xx.xml创建的存储池,创建完成之后,一些命令无法正常使用。(建议先define,再启动);
在删除存储池的时候,如果存储池里面有存储卷,需要先删除所有存储卷,才可以删除存储池。]
]# mkdir /home/img
]# vim /home/pool01

pool01 //存储池名称
160982630400
32855879680
128126750720

/home/img //存储路径 0771 0 107 ]# virsh virsh # pool-create /home/pool01 或者 virsh # pool-define /home/pool01 从 pool01 中创建池 /home/pool01 virsh # pool-list --all virsh pool-autostart pool01 (设置开机自启动) ]# virsh pool-info pool01 删除一个存储池 : ]# virsh pool-destroy pool01 或者 virsh pool-delete pool01 销毁池 pool01 _____________________________________________________________________________________

例子2:KVM 基于 LVM 的存储池

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值