xiahe999 发表于 2017-6-24 16:01:57

一些kvm虚拟机操作的命令

  创建一个40G的raw的磁盘



1 dd if=/dev/zero of=disk.img bs=1M count=0 seek=40960
  将raw磁盘转化为qcow2



1 qemu-img convert -f raw -O qcow2 disk.img disk.qcow2
  将qcow2文件再压缩



qemu-img convert -c -O qcow2 disk.qcow2 disk1.qcow2 
  创建增量文件



1 qemu-img create -f qcow2 -b disk.qcow2 disk01.qcow2
  查看镜像文件信息



qemu-img info disk01.qcow2
  修改增量文件的base文件
  rebase [-f fmt] [-t cache] [-T src_cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
         Changes the backing file of an image. Only the formats "qcow2" and "qed" support changing the backing file.



qemu-img rebase -b new_base_file filename

  使用virsh管理虚拟机



1 virsh list            #显示正在运行的虚拟机
2 virsh list --all       #显示所有虚拟机包括没运行的
3 virsh destroy vm1 # 强制关闭虚拟机vm1
4 virsh undefine vm1#移除虚拟机vm1
5 virsh setmem vm1 --size 4096 # 将正在运行的vm1虚拟机内存改为4096,注意不能超过设置的最大值
6 virsh setvcpus vm1 --coun 4 #将正在运行的vm1虚拟机cpu改为4颗
  使用virsh给正在运行的虚拟机添加硬盘



virsh attach-disk vm1 /pool/disk01.img vdb --cache none #使用命令行的模式添加磁盘,
使用xml文件的方式添加磁盘
cat /pool/disk.xml
<disk type='file' device='disk'>
<driver name='qemu' type=’qcow2’ cache='none'/>
<source file=' /userpool/pxe/disk02.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
virsh attach-device vm1 /pool/disk.xml
  注意:在添加磁盘的时候若不申明格式,则默认采用raw的格式
  挂载raw的镜像文件
  挂载的时候要指明起始头
  使用fdisk 查看img文件的信息
  # fdisk -ul desktop.img
  命令(输入 m 获取帮助):p
  磁盘 desktop.img:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x1cedb058
  设备 Boot      Start         End      Blocks   IdSystem
desktop.img1   *      2048    75497471    37747712   83Linux
desktop.img2      75499518    83884031   4192257    5Extended
desktop.img5      75499520    83884031   4192256   82Linux swap / Solaris
  起始扇区是2048 每个扇区512个字节
  则 2048*512=1048576



1 mount -o loop,offset=1048576 disk.img /mnt
  挂载qcow2文件镜像的时候 需要将qcow2映射成一个设备
  借用到nbd模块



1 cat /boot/config-3.10.0-229.el7.x86_64 |grep NBD
2 modprobe nbd max_part=16
3 qemu-nbd -c /dev/nbd0 rhel6u3.qcow2
4 mount /dev/nbd0p1 /mnt
页: [1]
查看完整版本: 一些kvm虚拟机操作的命令