Linux系统在磁盘扩容后,需要通过一系列步骤让系统识别并使用新增的存储空间,整个过程涉及硬件识别、分区管理、文件系统调整及挂载配置,具体操作需根据扩容场景(新增磁盘或扩容现有分区)选择不同方法。
系统识别新增存储空间
扩容后,Linux系统可能无法立即识别新增空间,需先触发内核重新扫描磁盘,对于SCSI/SATA磁盘,可通过以下命令操作:
echo 1 > /sys/class/scsi_device/0:0:0:0/device/rescan # 替换为目标磁盘设备路径
或使用partprobe
工具(需安装parted
包)重读分区表:
partprobe
完成后,通过lsblk
或fdisk -l
查看磁盘信息,例如lsblk
会显示磁盘总容量是否更新,若新增空间未显示,需检查磁盘连接或RAID配置(如为RAID磁盘需先通过mdadm --detail /dev/md0
确认阵列状态)。
分区管理(若需新建分区)
若扩容为新增磁盘或需独立分区,使用fdisk
(MBR分区表)或parted
(GPT分区表)进行分区,以parted
为例:
- 进入交互式界面:
parted /dev/sdb
(假设新磁盘为/dev/sdb
) - 设置分区表:
mklabel gpt
- 创建分区:
mkpart primary ext4 0% 100%
(使用全部空间) - 打印分区信息确认:
print
- 退出:
quit
对于扩容现有分区(如根分区/dev/sda2
),需调整分区大小,若原分区为MBR,fdisk
中可删除旧分区后重建(注意备份数据);若为GPT,parted
可直接调整:
parted /dev/sda resizepart 2 100% # 调整分区2为全部可用空间
文件系统调整与挂载
新建文件系统
若为新分区,需格式化文件系统(如ext4):
mkfs.ext4 /dev/sdb1
扩容现有文件系统
若为扩容已有分区,需根据文件系统类型调整大小:
- ext4:先检查文件系统:
e2fsck -f /dev/sda2
,再调整大小:resize2fs /dev/sda2
- xfs:使用
xfs_growfs
:xfs_growfs /mnt/data
(挂载点路径)
挂载与配置
创建挂载点并挂载:
mkdir /data mount /dev/sdb1 /data
配置开机自动挂载,编辑/etc/fstab
,添加以下行:
/dev/sdb1 /data ext4 defaults 0 0
常用工具对比
工具 | 用途 | 示例命令 |
---|---|---|
lsblk |
查看磁盘及分区信息 | lsblk -f (显示文件系统类型) |
fdisk |
MBR分区管理 | fdisk /dev/sda |
parted |
GPT分区管理及调整 | parted /dev/sda resizepart 2 100% |
resize2fs |
ext4文件系统扩容 | resize2fs /dev/sda2 |
xfs_growfs |
XFS文件系统扩容 | xfs_growfs /data |
FAQs
Q1:扩容后Linux系统无法识别新空间,如何排查?
A:首先检查物理连接(如磁盘是否松动),确认RAID阵列状态(若为RAID),通过dmesg | grep sd
查看内核日志,确认磁盘是否被识别,若磁盘存在但无分区,需使用parted
或fdisk
创建分区;若分区存在但未格式化,需创建文件系统;若为扩容现有分区,需用partprobe
重读分区表后调整文件系统大小。
Q2:为什么扩容分区后文件系统大小未变化?
A:通常因未执行文件系统调整命令,ext4分区需先运行e2fsck -f
检查,再用resize2fs
扩容;XFS分区需使用xfs_growfs
(而非resize2fs
),需确认分区已正确调整(通过parted print
检查分区末尾扇区是否更新),且文件系统挂载状态下才能在线扩容(XFS支持,ext4需卸载或使用在线工具)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/22532.html