我有一台 CentOS 服务器,有两个 1 TB 磁盘。然而,它的分区很糟糕。请检查以下内容:
[root@p16282558 ~]# fdisk -l
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xd4f28eb2
Device Boot Start End Blocks Id System
/dev/sdb1 1 523 4194304 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2 523 784 2097152 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sdb3 784 121602 970470104 fd Linux raid autodetect
Partition 3 does not end on cylinder boundary.
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x724abfe3
Device Boot Start End Blocks Id System
/dev/sda1 1 523 4194304 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2 523 784 2097152 82 Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3 784 121602 970470104 fd Linux raid autodetect
Partition 3 does not end on cylinder boundary.
Disk /dev/md3: 993.8 GB, 993761296384 bytes
2 heads, 4 sectors/track, 242617504 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/md1: 4294 MB, 4294901760 bytes
2 heads, 4 sectors/track, 1048560 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg00-usr: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg00-var: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg00-home: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000
当我跑时df
:
[root@p16282558 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md1 4.0G 4.0G 0 100% /
/dev/mapper/vg00-usr 4.0G 1.5G 2.4G 38% /usr
/dev/mapper/vg00-var 4.0G 880M 2.9G 23% /var
/dev/mapper/vg00-home
4.0G 136M 3.7G 4% /home
none 7.9G 556K 7.9G 1% /tmp
/opt
位于 之内/
,并且 中没有剩余空间/
我的/etc/fstab
看起来像这样:
/dev/md1 / ext3 defaults 1 1
/dev/sda2 none swap sw
/dev/sdb2 none swap sw
/dev/vg00/usr /usr ext4 defaults 0 2
/dev/vg00/var /var ext4 defaults,usrquota 0 2
/dev/vg00/home /home ext4 defaults,usrquota 0 2
devpts /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /tmp tmpfs defaults 0 0
那么有一个已满的md1
磁盘和一个未使用的磁盘/dev/md3
(993.8 GB 可用空间)?
但,
[root@p16282558 ~]# df -h /dev/md3
Filesystem Size Used Avail Use% Mounted on
- 7.9G 204K 7.9G 1% /dev
这是否意味着/dev
系统启动时未安装(根据 fstab)?
Output of vgdisplay:
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 925.51 GiB
PE Size 4.00 MiB
Total PE 236931
Alloc PE / Size 3072 / 12.00 GiB
Free PE / Size 233859 / 913.51 GiB
我的问题是:/opt
应该安装在具有更多空间的磁盘/分区中。如何重组磁盘以有效地利用所有磁盘空间?
答案1
根据vgdisplay
输出,您有超过 900GB 的未分配空间(Free PE
值)。
由于您的根卷不是 LVM 卷,并且/opt
当前驻留在 上/
,因此您无法增加可用空间。
但是,您可以做的是为/opt
.
这个过程会是这样的:
# create a new 5gb logical volume
lvcreate -n opt -L 5G vg00
# format it as ext4
mkfs.ext4 /dev/vg00/opt
# move the old dir out of the way
mv /opt /opt.orig
# mount the new logical volume
echo "/dev/vg00/opt /opt ext4 defaults 0 2" >> /etc/fstab
mkdir /opt
mount /opt
# move all data into the new mount
mv /opt.orig/* /opt
rmdir /opt.orig
LVM 确实允许调整卷大小,因此将来如果您需要向 中添加更多空间/opt
,您可以非常轻松地做到这一点。
答案2
如果您查看两者的输出vgs
,vgdisplay
您不会发现您有大约 913.51 GB 的可用 PE。这些是物理范围,因此您的 LVM 卷组 (VG) 没有将这些物理范围分配给任何内容。它们是自由空间。
Output of vgdisplay:
--- Volume group ---
VG Name vg00
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size 925.51 GiB
PE Size 4.00 MiB
Total PE 236931
Alloc PE / Size 3072 / 12.00 GiB
Free PE / Size 233859 / 913.51 GiB
所以我得出的结论是,您需要分配这些物理范围。扩展此 VG 中的逻辑卷 (LV) 之一以分配所有可用空间的最简单方法是使用以下命令,例如:
$ sudo lvextend -l+233859 /dev/vg00/home
+233859
我们将 ( ) 的 PE添加到 LV 中/dev/vg00/home
。