本帖最后由 李见_云计算 于 2017-4-25 17:26 编辑
虚拟机磁盘扩容是aSV3.6版本的新增功能,在虚拟磁盘空间不够用时可以扩充空间。 本文分享的主要内容: 1. VMP上虚拟机磁盘如何扩容 2. Windows系统,磁盘扩容后如何把新增空间合并到现有分区 3. Linux系统,磁盘扩容后如何增大LVM分区的空间 4. Linux系统,磁盘扩容后如何增大固定分区的空间
关闭虚拟机,编辑虚拟机,修改磁盘大小,比如从80GB修改成120GB。
点确定弹出提示 因为扩容后磁盘变大了,跟之前的快照和异地备份不兼容,需要删除。如果还想保留之前的快照,建议从该快照克隆一台虚拟机做备份。
点确定后,开机进入操作系统,接下来看如何使用这新增的40GB空间。
如果是Windows系统,操作会比较简单 1. 我想把新增的空间单独划分成一个或多个分区使用 在磁盘管理中可以看到40GB的未指派空间 右键->新建磁盘分区,根据向导操作即可创建新的分区。
2. 我想把新增的空间加到现有的分区中使用,扩展分区的空间 可以使用windows磁盘管理,扩展卷功能,把扩容的空间扩展到现有分区。建议在操作之前给虚拟机做个快照或异地备份,以免因手滑丢失数据。 如果是在原有的d盘的基础上进行添加,直接在d盘点击右键,选择扩展卷,根据向导操作选择下一步即可增加d盘容量。
对于Linux系统,操作会麻烦一些,而且各种Linux系统会有一些差异,如果按下面的方法不可行,可以去网上搜索其他方法来尝试。但要注意的是操作前一定要给虚拟机做个快照或异地备份。
如果Linux系统使用了LVM分区,扩容分区就相对容易,Linux自身已经提供了相应的机制,可以保证数据的安全。 使用root帐号登录Linux系统,执行fdisk -l 看下目前的分区情况 接下来我们把刚扩容的40GB空间添加到home和root分区。
1. 执行 fdisk /dev/vda ,输入n, p,后面都用默认值即可
2. 查看新增的分区,输入w保存
3. 执行 partprobe 让新的分区表立即生效 4. vgdisplay 显示使用的Volume Group
5. vgextend rhel /dev/vda3 把刚才新增的分区vda3加到VG rhel中
6. vgdisplay 可以看到Free空间增加了40GB
7. lvextend -L +30G /dev/mapper/rhel-home 给home分区增加30GB空间。
8. df看home分区的空间并没有增长,还差一步
9. resize2fs /dev/mapper/rhel-home 让扩容生效。resize2fs只对ext家族文件系统有效,xfs文件系统则要使用 xfs_growfs /dev/mapper/rhel-home 10. 再次df查看已经成功扩容了
未使用LVM的分区,新增磁盘空间只能用于创建新的分区或者合并到最后一个分区。每个Linux系统的分区都可能不同,请了解分区原理后谨慎操作。
1. Fdisk -l 查看当前分区结构。磁盘已扩展到15665个cylinders,但是分区表只用到了10444个,扩容的空间在后面未被使用 这个跟fdisk的版本有关,有的fdisk –l显示的不一样,有的使用的是sectors的显示方式,原理也是一样的,本质都是没有全部用完,下图显示的是188743680sectors,但是分区只使用了167772159sectors。
2. fdisk /dev/sda 重新分区。上面扩展分区sda4的Start和End限制了后面分区大小,必须删除sda4重新分区。这是个非常危险的操作,务必先备份虚拟机再操作。 输入u转换成sector方式,记录下sda4-sda6每个分区的Start、End和Blocks
删除sda4,sda5和sda6会被一起删除
新建扩展分区,输入n、e,First sector输入之前记录的84912128,End使用默认的最大值。完成后扩展分区比之前增大了40GB
新建sda5,First sector输入之前的84914176,Last sector输入之前的89108479,注意都不要用默认值。
把sda5转换成swap分区,输入t、5、82,sda5就变成了swap分区
新建sda6,First sector输入之前记录的89110528,因为是最后一个分区,Last sector可以用默认值(全部空间),或者用一个大于等于之前End 的值167772159,这样后面还有剩余空间,可以创建一个新分区
跟之前的分区表对比,看每个分区的Start、End和Blocks是否正确,如果有问题可以放弃此次操作,输入q退出。没问题则输入w保存。 3. 重启系统或执行partprobe使新的分区表生效 4. resize2fs /dev/sda6扩容分区大小,xfs文件系统则使用xfs_growfs /dev/sda6。然后df就可以看到最后一个分区空间变大了 5. 检查下被删除并重建的分区内文件是否能正常访问。 |