温馨提示×

如何调整Linux分区大小

小樊
58
2025-09-22 16:41:11
栏目: 智能运维

调整Linux分区大小的通用流程与注意事项

调整Linux分区大小(包括扩展或缩小)是一项需要谨慎操作的任务,直接影响数据安全与系统稳定性。以下是详细的操作指南及关键注意事项:

一、操作前必备准备

  1. 备份重要数据:无论使用何种工具,调整分区大小均存在数据丢失风险。建议使用rsyncrsync -av /path/to/data /path/to/backup)或第三方工具(如Deja Dup)完整备份目标分区数据。
  2. 检查分区状态:使用lsblk查看磁盘与分区布局(如/dev/sda1挂载在/home),df -h确认分区挂载状态,umount卸载待调整分区(若为系统分区如/,需使用Live CD/USB启动)。
  3. 检查文件系统错误:对于ext2/3/4文件系统,使用e2fsck -f /dev/sdXnsdXn为目标分区)强制检查并修复错误,避免调整后文件系统损坏。

二、扩展分区大小(常见场景)

1. 非LVM分区(直接调整)

若分区有未分配的相邻空间,可使用partedfdisk扩展分区,再调整文件系统:

  • 使用parted(推荐,支持GPT/MBR)
    sudo parted /dev/sdX  # 进入parted交互界面(sdX为目标磁盘,如/dev/sda)
    print                # 查看分区表,确认目标分区编号(如分区3)
    resizepart 3 20G     # 将分区3扩展至20G(或输入+5G扩展5G)
    quit                 # 退出并保存更改
    sudo partprobe       # 更新内核分区表信息(避免重启)
    sudo resize2fs /dev/sdX3  # 调整ext4文件系统大小(ext系列通用)
    sudo xfs_growfs /dev/sdX3   # 调整XFS文件系统大小(仅XFS适用)
    
  • 使用fdisk(仅MBR分区表)
    sudo fdisk /dev/sdX
    p                    # 查看分区表,记录目标分区起始扇区
    d                    # 删除目标分区(如分区3)
    n                    # 创建新分区,选择p(主分区),输入相同起始扇区,设置更大结束扇区(如+20G)
    t                    # 修改分区类型(如保持ext4的83类型)
    w                    # 保存并退出
    sudo partprobe
    sudo resize2fs /dev/sdX3
    

2. LVM分区(动态扩展)

若使用LVM(逻辑卷管理),扩展流程更灵活,无需卸载分区:

# 1. 扩展物理卷(若有新磁盘/dev/sdb,需先初始化为物理卷)
pvcreate /dev/sdb

# 2. 将物理卷添加到卷组(vg0为现有卷组名)
vgextend vg0 /dev/sdb

# 3. 扩展逻辑卷(lv_root为现有逻辑卷名,+10G表示增加10G,或+100%FREE用尽剩余空间)
lvextend +10G /dev/mapper/vg0-lv_root

# 4. 调整文件系统大小
sudo resize2fs /dev/mapper/vg0-lv_root  # ext系列
sudo xfs_growfs /dev/mapper/vg0-lv_root # XFS

三、缩小分区大小(需更谨慎)

缩小分区风险更高,需严格遵循以下步骤:

  1. 备份数据:再次确认重要数据已备份。
  2. 卸载分区:确保分区未挂载(umount /dev/sdXn)。
  3. 检查文件系统:使用e2fsck -f /dev/sdXn修复错误。
  4. 缩小文件系统:先调整文件系统大小,再调整分区表(避免文件系统超出分区范围):
    • ext系列resize2fs /dev/sdXn 10G(将文件系统缩小至10G)
    • XFS:XFS不支持在线缩小,需使用LVM或备份数据后重新创建分区。
  5. 调整分区表:使用partedfdisk缩小分区:
    • partedresizepart 3 10G(将分区3缩小至10G,起始位置不变)
    • fdiskd删除分区,n重新创建(保持起始扇区,设置更小结束扇区)。
  6. 重新挂载分区mount /dev/sdXn /mnt(恢复挂载)。

四、关键注意事项

  • 系统分区处理:若需调整//boot等系统分区,建议使用Live CD/USB启动(如Ubuntu Live USB),避免分区正在使用导致操作失败。
  • 分区对齐:调整分区时,起始扇区需与磁盘扇区对齐(通常为4K对齐),避免性能下降。
  • 文件系统兼容性:ext系列使用resize2fs,XFS使用xfs_growfs(仅支持扩展),Btrfs使用btrfs filesystem resize,需根据文件系统类型选择对应命令。
  • LVM的优势:若频繁调整分区大小,建议使用LVM,其动态扩展/缩小的特性可减少数据丢失风险。

通过以上步骤,可安全地调整Linux分区大小。操作前务必确认每一步的正确性,避免误操作导致数据丢失。

0