当硬盘空间不够了就可用virsh工具进行硬盘的添加。

1.首先查看虚拟机硬盘情况

virsh domblklist suse01

image.png

2.添加新硬盘

生成新硬盘有两种办法:一种是使用dd命令,一种是使用qemu-img命令。

2.1、使用dd命令添加

2.1.1、dd命令详解

dd 命令用于复制文件并对原文件的内容进行转换和格式化处理。dd 命令功能很强大的,对于一些比较底层的问题,使用 dd 命令往往可以得到出人意料的效果。用的比较多的还是用 dd 来备份裸设备。

语法

dd(选项)

选项

bs=<字节数>:将ibs(输入)与obs(输出)设成指定的字节数;
ibs=<字节数>:每次读取的字节数;
obs=<字节数>:每次输出的字节数;
cbs=<字节数>:转换时,每次只转换指定的字节数;
conv=<关键字>:指定文件转换的方式;
count=<区块数>:仅读取指定的区块数;
of=<文件>:输出到文件;
seek=<区块数>:一开始输出时,跳过指定的区块数;
skip=<区块数>:一开始读取时,跳过指定的区块数;
--help:帮助;
--version:显示版本信息。

2.1.2、dd添加硬盘

使用dd添加1G的硬盘

dd if=/dev/zero/ of=/var/lib/libvirt/images/suse01_1.img bs=1M count=1000

其中参数解释:

  • if 代表输入文件。如果不指定 if,默认就会从 stdin 中读取输入。
  • of 代表输出文件。如果不指定 of,默认就会将 stdout 作为默认输出。
  • bs 代表字节为单位的块大小。
  • count 代表被复制的块数。
  • /dev/zero 是一个字符设备,会不断返回 0 值字节(\0)。

块大小可以使用的计量单位表

单元大小 代码
字节(1B) c
字节(2B) w
块(512B) b
千字节(1024B) k
兆字节(1024KB) M
吉字节(1024MB) G

具体如下图:

image.png

2.1.3、将硬盘添加到虚拟机

硬盘添加到虚拟机,需要使用 attach-disk 命令。

virsh attach-disk suse01 /var/lib/libvirt/imanges/suse01_1.img vdb --config --live --persistent

--config --live --persistent 永久的添加硬盘

操作如下:

image.png

suse01虚拟机里面的结果:

image.png

硬盘添加成功!

2.2、使用qemu-img命令添加

2.2.1、qemu-img命令详解

2.2.2、qemu-img添加硬盘

qemu-img create -f qcow2 suse01_2.qcow2 10G

image.png

2.2.3、将硬盘添加到虚拟机

virsh attach-disk suse01 /root/suse01_2.qcow2 vdc --subdriver qcow2       

image.png

硬盘添加成功!

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

只有把抱怨环境的情绪,化为上进的力量,才是成功的保证!