在Linux系统中增加磁盘空间是常见的运维操作,主要涉及新增物理磁盘、扩展现有分区或调整分区布局等场景,操作前需注意备份数据,避免误操作导致数据丢失,以下是详细步骤和注意事项。
准备工作:查看当前磁盘状态
操作前需确认系统当前磁盘使用情况和分区结构,使用df -h
查看文件系统使用率(-h
以人类可读格式显示),lsblk
或fdisk -l
查看磁盘及分区信息。lsblk
会显示磁盘名称、大小、挂载点等,帮助识别需要扩容的目标分区或新增磁盘。
场景1:新增物理磁盘并挂载
若系统新增了一块物理磁盘(如/dev/sdb),需先分区、格式化再挂载。
分区
使用fdisk
或parted
工具分区,以fdisk
为例(适合MBR/GPT分区表):
sudo fdisk /dev/sdb
进入交互界面后,输入n
创建新分区,选择分区类型(主分区/逻辑分区),设置起始扇区和大小(如输入+10G
创建10GB分区),最后输入w
保存分区表。
格式化
分区完成后(假设分区为/dev/sdb1),根据文件系统类型格式化,ext4文件系统常用:
sudo mkfs.ext4 /dev/sdb1
若使用xfs文件系统(适合大文件),命令为sudo mkfs.xfs /dev/sdb1
。
创建挂载点并挂载
创建目录作为挂载点(如/data
),执行挂载:
sudo mkdir /data sudo mount /dev/sdb1 /data
设置开机自动挂载
编辑/etc/fstab
文件,添加以下行(确保UUID准确,可通过blkid /dev/sdb1
查询):
UUID=xxxx-xxxx /data ext4 defaults 0 0
场景2:扩展现有LVM逻辑卷(推荐动态扩容)
若系统使用LVM(逻辑卷管理),扩容更灵活,假设目标逻辑卷为/dev/mapper/ubuntu-vg-root
,挂载点为。
检查LVM信息
使用pvdisplay
(物理卷)、vgdisplay
(卷组)、lvdisplay
(逻辑卷)查看当前状态,确认卷组是否有可用空间,若无可用空间,需先扩容物理卷(如新增磁盘并添加到卷组)。
扩容逻辑卷
若卷组有足够空间,直接扩容逻辑卷(例如增加10GB):
sudo lvextend -L +10G /dev/mapper/ubuntu-vg-root
调整文件系统
根据文件系统类型执行扩容命令:
- ext4:先检查文件系统(
sudo e2fsck -f /dev/mapper/ubuntu-vg-root
),再扩容:sudo resize2fs /dev/mapper/ubuntu-vg-root
- xfs:直接执行
sudo xfs_growfs /
(挂载点)
不同文件系统扩容命令对比
文件系统 | 扩容前检查命令 | 扩容命令 |
---|---|---|
ext4 | e2fsck -f 设备 |
resize2fs 设备 |
xfs | 无需检查 | xfs_growfs 挂载点 |
场景3:调整非LVM分区布局(谨慎操作)
若系统未使用LVM,需调整现有分区(如删除小分区、扩展相邻分区),以parted
为例(支持GPT/MBR,操作更安全):
- 删除不需要的分区(如/dev/sda2),确保数据已备份:
sudo parted /dev/sda parted> rm 2
- 扩展目标分区(如/dev/sda1),需确保目标分区后无其他分区(否则需先删除),使用
parted
调整分区大小:parted> resizepart 1 100% # 扩展分区1至磁盘末尾
- 调整文件系统(同场景2,根据文件系统类型执行
resize2fs
或xfs_growfs
)。
注意事项
- 备份优先:分区调整、删除操作可能导致数据丢失,务必提前备份。
- 文件系统兼容性:并非所有文件系统都支持在线扩容(如旧版ext2需卸载后扩容)。
- 分区表类型:GPT分区表支持更多分区,推荐使用;MBR分区最多4个主分区。
- 验证结果:扩容后通过
df -h
确认空间是否生效,避免因/etc/fstab
配置错误导致开机失败。
相关问答FAQs
Q1:Linux扩容后无法识别新增空间,怎么办?
A:首先检查分区是否已挂载(df -h
),若未挂载,手动挂载并确认/etc/fstab
配置正确,若分区已挂载但空间未显示,可能是文件系统未调整,需根据文件系统类型执行扩容命令(如resize2fs
或xfs_growfs
)。
Q2:扩容时提示“文件系统不支持在线扩容”,如何解决?
A:部分文件系统(如ext2、旧版ext3)需卸载后才能扩容,可先卸载分区(umount 设备
),执行e2fsck -f 设备
检查,再用resize2fs 设备
扩容,最后重新挂载,若为xfs文件系统,理论上支持在线扩容,需检查命令是否正确(如xfs_growfs 挂载点
而非设备名)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34960.html