我有一台 CentOS 服务器,用作我的系统日志服务器(CentOS Linux 版本 7.4.1708(核心))。随着系统日志的大小不断增长,我们不得不多次扩展卷。现在主磁盘是 500 GB。我们最近将 VMWare 中的大小增加到 800 GB。我一直在关注这个优秀的文档https://www.rootusers.com/how-to-increase-the-size-of-a-linux-lvm-by-expanding-the-virtual-machine-disk/。
我的磁盘如下所示:
fdisk -l
Disk /dev/sda: 859.0 GB, 858993459200 bytes, 1677721600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a207b
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 62914559 30944256 8e Linux LVM
/dev/sda3 62914560 524287999 230686720 83 Linux
/dev/sda4 524288000 943718399 209715200 8e Linux LVM
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 800G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 29.5G 0 part
│ ├─centos-root 253:0 0 447.5G 0 lvm /
│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]
├─sda3 8:3 0 220G 0 part
│ └─centos-root 253:0 0 447.5G 0 lvm /
└─sda4 8:4 0 200G 0 part
└─centos-root 253:0 0 447.5G 0 lvm /
sr0 11:0 1 1024M 0 rom
当尝试创建新分区时,我收到以下错误消息:
If you want to create more than four partitions, you must replace a primary partition with an extended partition first.
看来我已经达到了 4 个主分区的限制,所以现在我正在尝试找出我的选择。有没有办法在不格式化驱动器的情况下扩展到这个新的 300 GB?我可以在不破坏数据的情况下将我当前的主分区转换为扩展分区吗?
答案1
您可以按照此处描述的方式进行操作: https://nacko.net/resizing-a-raw-virtual-machine-lvm-partition-using-fdisk/
重申要点:您可以卸载分区,使用分区工具将其删除,然后使用相同的数据重新创建分区,但分区末尾除外,末尾可以更大。您只能对磁盘上的最后一个分区执行此操作。
请注意,这需要格外小心,请在执行此操作之前进行备份。
此后您应该确保这些更改已被采纳。
完成后,您可以执行 pvresize、lvextend 并最终执行 resize2fs。
答案2
还有另一种方法可以完成这项工作。我碰巧遇到了我们的一位客户遇到的这个问题,这种方法很有效。由于您没有删除任何分区,因此风险相对较低。但无论如何,合适的备份非常重要。
无需在 VMWare 中增加现有硬盘的空间,只需添加另一个 VMDK。这将在 fdisk 中显示为 /dev/sdb 或现有硬盘之后的任何硬盘。主分区数量限制仅适用于该特定硬盘。您可以根据需要添加任意数量的硬盘,并拥有单独的分区表。
在新硬盘上创建一个新的分区,然后你就可以做建立,扩展, 进而调整2fs大小。
此方法对我来说很有效,可以摆脱将现有主分区转换为扩展分区的风险以及可能丢失数据的可能性。