当硬盘空间不够了就可用virsh工具进行硬盘的添加。
1.首先查看虚拟机硬盘情况
virsh domblklist suse01
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 |
具体如下图:
2.1.3、将硬盘添加到虚拟机
硬盘添加到虚拟机,需要使用 attach-disk 命令。
virsh attach-disk suse01 /var/lib/libvirt/imanges/suse01_1.img vdb --config --live --persistent
--config --live --persistent 永久的添加硬盘
操作如下:
suse01虚拟机里面的结果:
硬盘添加成功!
2.2、使用qemu-img命令添加
2.2.1、qemu-img命令详解
略
2.2.2、qemu-img添加硬盘
qemu-img create -f qcow2 suse01_2.qcow2 10G
2.2.3、将硬盘添加到虚拟机
virsh attach-disk suse01 /root/suse01_2.qcow2 vdc --subdriver qcow2
硬盘添加成功!
评论区