Centos7 KVM虚拟机硬盘热添加和扩容
一、为虚拟机添加一块数据盘
1、添加一块磁盘
qemu-img create -f qcow2 web-add.qcow2 2G
2、虚拟机添加一块硬盘
virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2 临时添加磁盘
virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2 --config 永久添加磁盘
virsh detach-disk web vdb 分离磁盘
3、格式化硬盘,并挂载硬盘
lsblk 查看添加硬盘是否添加成功
mkfs.xfs /dev/vdb 不分区,直接格式化
mount /dev/vdb /mnt 挂载硬盘
二、把数据盘扩容
1、首先卸载硬盘
umount /mnt
2、分离磁盘
virsh detach-disk web vdb
3、调整磁盘为4G
qemu-img resize web-add.qcow2 4G
4、给虚拟机添加硬盘
virsh attach-disk web /opt/web-add.qcow2 vdb --subdriver qcow2
5、查看硬盘情况
[root@localhost ~]# mount /dev/vdb /mnt 挂载硬盘
[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 3.5G 981M 2.6G 28% / devtmpfs 484M 0 484M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 6.7M 490M 2% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup /dev/vda1 1014M 130M 885M 13% /boot tmpfs 100M 0 100M 0% /run/user/0 /dev/vdb 2.0G 33M 2.0G 2% /mnt 分区情况没有变,需要手动修改 [root@localhost ~]# fdisk -l 磁盘 /dev/vda:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000ce86b 设备 Boot Start End Blocks Id System /dev/vda1 * 2048 2099199 1048576 83 Linux /dev/vda2 2099200 10485759 4193280 8e Linux LVM 磁盘 /dev/mapper/centos-root:3753 MB, 3753902080 字节,7331840 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:536 MB, 536870912 字节,1048576 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/vdb:4294 MB, 4294967296 字节,8388608 个扇区 这里分区变大了 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
5、手动修改分区情况
[root@localhost ~]# xfs_growfs /mnt meta-data=/dev/vdb isize=512 agcount=4, agsize=131072 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=524288, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 524288 to 1048576 这里变化了 [root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 3.5G 981M 2.6G 28% / devtmpfs 484M 0 484M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 6.7M 490M 2% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup /dev/vda1 1014M 130M 885M 13% /boot tmpfs 100M 0 100M 0% /run/user/0 /dev/vdb 4.0G 33M 4.0G 1% /mnt 已经变成4G了
三、系统盘扩容
注意:此功能有前提:安装系统的时候选择自定义分区,选择标准分区,只添加一个根目录,所有空间都给根分区,此操作才能实现。
1、关机
[root@centoszhu opt]# virsh destroy web
2、、查看系统盘
[root@centoszhu opt]# qemu-img info web.qcow2 image: web.qcow2 file format: qcow2 virtual size: 5.0G (5368709120 bytes) 系统盘只有5个G disk size: 1.3G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false
3、调整硬盘大小
qemu-img resize web.qcow2 10G [root@centoszhu opt]# qemu-img info web.qcow2 image: web.qcow2 file format: qcow2 virtual size: 10G (10737418240 bytes) disk size: 1.3G cluster_size: 65536 Format specific information: compat: 1.1 lazy refcounts: false [root@centoszhu opt]# virsh start web 域 web 已开始
4、虚拟机查看硬盘大小
[root@localhost ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/vda1 5.0G 1.1G 4.0G 21% / devtmpfs 486M 0 486M 0% /dev tmpfs 496M 0 496M 0% /dev/shm tmpfs 496M 6.7M 490M 2% /run tmpfs 496M 0 496M 0% /sys/fs/cgroup tmpfs 100M 0 100M 0% /run/user/0 [root@localhost ~]# fdisk -l 磁盘 /dev/vda:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000bfe9a 设备 Boot Start End Blocks Id System /dev/vda1 * 2048 10485759 5241856 83 Linux
5、重新分区
根分区比较特殊,必须重启之后,才能重新加载分区信息
根分区从原来的5G变成10个G。