我有一台 Ubuntu 12.04 LTS 服务器,它有 6x600GB SAS 驱动器,采用 RAID 5 配置 (Perc 6/i)。
分区方案如下所示:
Partition File System Mount Point Size
/dev/sda1 ext2 /boot 243.00 MiB
/dev/sda2 extended 1.09 TiB
/dev/sda5 lvm2 1.09 TiB
unallocated unallocated 1.64 TiB
我想扩展/dev/sda5
分区以包含未分配的空间,并创建一个大分区。但是,当我尝试扩展分区时,出现错误:
5854484482 个扇区的分区长度超过了 msdos 分区表规定的最大值 4294967295
我相信我需要创建一个新的分区表。然而,我也了解到这样做可能会导致问题。
我的基本问题是:如果我从 GParted Live CD 启动,应用新的分区表,扩展分区/dev/sda2
并增加 LVM 的大小,系统是否会在之后启动,并且 LVM 是否仍然完好无损?我知道总是存在数据损坏的可能性,而且我已经备份了所有内容。真正的问题是这是否是修改磁盘配置的正确方法。
或者,是否有更好的方法将未分配的空间合并到 LVM 中?
答案1
5854484482 个扇区的分区长度超过了 msdos 分区表规定的最大值 4294967295
这清楚地表明(逻辑)磁盘超过 2 TB 限制。
要解决这个问题 - 你必须使用GPT分区表。要更改它,请执行以下操作:
#parted /dev/sda mklabel gpt
如果您将分区表从 msdos 更改为 gpt,您将丢失所有数据!确保您有备份来恢复数据。
如果您决定重新组织磁盘,请考虑使用整个 raid 阵列作为 lvm 物理卷。现在的ubuntu把/boot
分区放在.txt文件里面是没有问题的lvm
。这还有一个好处是您可以轻松调整该分区的大小。
答案2
乔丹提出了最好的建议。虽然msdos分区表不能容纳大于2TB的单个分区,但因为我有一个逻辑卷,所以我可以从未分配的空间(小于2TB)创建一个新分区并将其添加到逻辑卷中。
/dev/sda3
首先,我从未分配的空间创建一个新的、未格式化的分区,以 GParted 命名。
现在新分区已经存在,我需要创建一个 LVM 物理卷:
nalice@gerty:~$ sudo pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
接下来我需要扩展逻辑卷以包含新的物理卷:
nalice@gerty:~$ sudo lvextend -L2731.75G /dev/mapper/GERTY-root
Extending logical volume root to 2.67 TiB
Logical volume root successfully resized
注意,-L
参数lvextend
表示全部的逻辑卷的大小,不是逻辑卷扩展的量。
最后,我扩展了文件系统以包含逻辑卷中的所有可用空间:
nalice@gerty:~$ sudo resize2fs /dev/mapper/GERTY-root
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/mapper/GERTY-root is mounted on /; on-line resizing required
old_desc_blocks = 67, new_desc_blocks = 171
Performing an on-line resize of /dev/mapper/GERTY-root to 716111872 (4k) blocks.
The filesystem on /dev/mapper/GERTY-root is now 716111872 blocks long.
这样,您就拥有了一个 2.9TB 的逻辑卷,而无需更改分区表。
来源:http://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logic-volume-management-in-ubuntu/