我为一台装有 PERC 6/i 存储控制器的 Dell 2950(运行 RHEL 5)添加了三个新驱动器。该机器之前在两个驱动器 + 热插拔上运行 RAID 1。我没有使用新驱动器创建相同的 RAID 1 阵列,而是选择使用 OpenManage 将原始虚拟驱动器转换为包含新驱动器的 RAID 5 阵列,以获得额外的存储空间。
以上所有操作都没有问题,但是当我尝试使用额外空间创建新分区时,fdisk 通知我“没有可用的空闲扇区”,尽管它似乎可以识别额外的空间。
我当前的文件系统使用情况:
[root@local ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.7G 2.1G 7.1G 23% /
/dev/sda1 487M 35M 427M 8% /boot
none 4.0G 0 4.0G 0% /dev/shm
/dev/sda3 487M 11M 451M 3% /tmp
/dev/sda5 4.9G 1.2G 3.5G 25% /usr
/dev/mapper/VarGroup-var
50G 757M 47G 2% /var
fdisk 输出,显示额外的磁盘空间:
[root@local ~]# fdisk -l
Disk /dev/sda: 290.9 GB, 290984034304 bytes
255 heads, 63 sectors/track, 35376 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 514048+ 83 Linux
/dev/sda2 65 1339 10241437+ 83 Linux
/dev/sda3 1340 1403 514080 83 Linux
/dev/sda4 1404 8844 59769832+ 5 Extended
/dev/sda5 1404 2040 5116671 83 Linux
/dev/sda6 2041 2301 2096451 82 Linux swap
/dev/sda7 2302 8844 52556616 8e Linux LVM
有没有什么办法可以在不进行破坏性重新分区的情况下合并额外的磁盘空间?
答案1
PC 分区格式是 30 多年前确定的,并不是特别灵活。您只能有四种基本的分区,编号为 1 至 4。如果需要四个以上的分区,其中一个必须是延长分区(sda4
在您的设置中);扩展分区是一个容器,其中包含任意数量(在最常见的设置下,Linux 中最多为 11 个)的逻辑分区。
您目前有 3 个主分区(sda1
到sda3
),因此您只能创建新的逻辑分区。但是扩展分区已满,因此没有空间容纳这些新的逻辑分区。这解释了 fdisk 的神秘消息。
据我所记得,fdisk
无法扩展扩展分区。请尝试使用parted
或 cfdisk。将扩展分区 ( sda4
) 扩展到磁盘末尾,并在现有可用空间中创建一个新的逻辑分区。
答案2
您是否考虑过重新组织磁盘并在整个磁盘上使用 LVM 并将细分卷管理为单独的挂载点?
答案3
我不知道你说的“破坏性重新分区”是什么意思,但你可以使用 fdisk 而不会丢失数据。从 CD 启动,删除分区 sda[4-7],用所有可用空间重新创建 sda4,用确切地与以前大小相同(注意:确切地),使用剩余空间创建 sda7,然后运行 pvresize 来通知 lvm sda7 的新大小。
这样,除非发生错误,否则您不会丢失任何数据。错误确实会发生,因此请备份。