Linux磁盘扩容(超详细)
[root@aichef-01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─centos-root 253:0 0 35G 0 lvm /
└─centos-swap 253:1 0 4G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom
[root@aichef-01 ~]#
从 lsblk
的输出中可以看到,你的磁盘 /dev/sda
总大小为 60GB,当前分区情况如下:
/dev/sda1
:1GB,挂载在/boot
。/dev/sda2
:39GB,用于 LVM。- LVM 逻辑卷
centos-root
:35GB,挂载在根分区/
。 - LVM 逻辑卷
centos-swap
:4GB,用于交换分区。
- LVM 逻辑卷
从输出中可以看到,磁盘 /dev/sda
的总大小为 60GB,但当前只分配了 40GB(1GB + 39GB),还有大约 20GB 的未分配空间。你可以将这些未分配的空间用于扩容。
以下是扩容步骤:
1. 扩展 /dev/sda2
分区
你需要先将未分配的空间分配给 /dev/sda2
分区。
使用 fdisk
调整分区大小:
- 运行
fdisk /dev/sda
:fdisk /dev/sda
- 输入
p
查看当前分区表,确认/dev/sda2
的结束扇区。 - 输入
d
删除/dev/sda2
分区(注意:删除分区不会删除数据,因为 LVM 信息仍然存在)。 - 输入
n
创建一个新分区:- 选择主分区(
p
)。 - 分区号保持为
2
。 - 起始扇区与之前相同(默认即可)。
- 结束扇区设置为最大可用空间(直接按回车)。
- 选择主分区(
- 输入
t
设置分区类型:- 选择分区
2
。 - 输入
8e
(Linux LVM 类型)。
- 选择分区
- 输入
p
确认分区表正确。 - 输入
w
保存并退出。
重新加载分区表:
partprobe /dev/sda
2. 扩展物理卷(PV)
调整分区后,需要扩展物理卷以使用新的空间:
pvresize /dev/sda2
3. 扩展逻辑卷(LV)
接下来,扩展逻辑卷 centos-root
:
lvextend -l +100%FREE /dev/mapper/centos-root
4. 调整文件系统大小
最后,调整文件系统以使用新的空间。
如果是 ext4 文件系统:
resize2fs /dev/mapper/centos-root
如果是 xfs 文件系统:
xfs_growfs /dev/mapper/centos-root
要查看文件系统类型,可以使用以下命令之一:
方法 1:使用 df -T
df -T
命令会显示文件系统类型和挂载点。
df -T
输出示例:
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root xfs 36643840 1234567 35409273 4% /
/dev/sda1 ext4 1038336 123456 914880 12% /boot
- 在
Type
列中可以看到文件系统类型(例如xfs
或ext4
)。
方法 2:使用 lsblk -f
lsblk -f
命令会显示块设备的文件系统类型。
lsblk -f
输出示例:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 123e4567-e89b-12d3-a456-426614174000 /boot
└─sda2 LVM2_member 123e4567-e89b-12d3-a456-426614174001
├─centos-root xfs 123e4567-e89b-12d3-a456-426614174002 /
└─centos-swap swap 123e4567-e89b-12d3-a456-426614174003 [SWAP]
- 在
FSTYPE
列中可以看到文件系统类型(例如xfs
或ext4
)。
方法 3:使用 blkid
blkid
命令会显示块设备的详细信息,包括文件系统类型。
blkid
输出示例:
/dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" TYPE="ext4"
/dev/sda2: UUID="123e4567-e89b-12d3-a456-426614174001" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="123e4567-e89b-12d3-a456-426614174002" TYPE="xfs"
/dev/mapper/centos-swap: UUID="123e4567-e89b-12d3-a456-426614174003" TYPE="swap"
- 在
TYPE
字段中可以看到文件系统类型(例如xfs
或ext4
)。
方法 4:查看 /etc/fstab
/etc/fstab
文件中记录了挂载点和文件系统类型。
cat /etc/fstab
输出示例:
UUID=123e4567-e89b-12d3-a456-426614174002 / xfs defaults 0 0
UUID=123e4567-e89b-12d3-a456-426614174000 /boot ext4 defaults 1 2
- 在第三列中可以看到文件系统类型(例如
xfs
或ext4
)。
通过以上方法,你可以轻松确定文件系统类型。根据文件系统类型,选择正确的命令来调整文件系统大小:
- 如果是
ext4
,使用resize2fs
。 - 如果是
xfs
,使用xfs_growfs
。
5. 验证扩容
使用以下命令检查扩容是否成功:
df -h /
lsblk
总结
通过以上步骤,你可以将未分配的 20GB 空间分配给根分区 /
。如果你有其他需求(例如扩容 /boot
或交换分区),请告诉我,我会进一步指导你。
评论区