You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从RAID1模式的/home分区腾挪空间创建新存储分区的配置方法咨询

从RAID1模式的/home分区腾挪空间创建新存储分区的配置方法咨询

首先先把你当前的磁盘分区/RAID状态贴出来方便参考:

lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT

loop0         7:0    0     4G  0 loop  /var/tmp

nvme0n1     259:0    0   3.5T  0 disk

├─nvme0n1p1 259:1    0   256M  0 part

│ └─md0       9:0    0   256M  0 raid1 /boot/efi

├─nvme0n1p2 259:2    0     8G  0 part

│ └─md1       9:1    0     8G  0 raid1 [SWAP]

├─nvme0n1p3 259:3    0     2G  0 part

│ └─md2       9:2    0     2G  0 raid1 /boot

├─nvme0n1p4 259:4    0   300G  0 part

│ └─md3       9:3    0 299.9G  0 raid1 /

└─nvme0n1p5 259:5    0   3.2T  0 part

└─md4       9:4    0   3.2T  0 raid1 /home

nvme1n1     259:6    0   3.5T  0 disk

├─nvme1n1p1 259:7    0   256M  0 part

│ └─md0       9:0    0   256M  0 raid1 /boot/efi

├─nvme1n1p2 259:8    0     8G  0 part

│ └─md1       9:1    0     8G  0 raid1 [SWAP]

├─nvme1n1p3 259:9    0     2G  0 part

│ └─md2       9:2    0     2G  0 raid1 /boot

├─nvme1n1p4 259:10   0   300G  0 part

│ └─md3       9:3    0 299.9G  0 raid1 /

└─nvme1n1p5 259:11   0   3.2T  0 part

└─md4       9:4    0   3.2T  0 raid1 /home

看你的配置,是双NVMe盘做了全系统的RAID1冗余,/home挂在md4这个RAID1卷上。下面分带RAID冗余和不带RAID两种方案给你讲操作步骤,优先推荐带RAID的,毕竟冗余能降低数据丢失风险:

一、保留RAID1模式创建新分区(推荐)

这个方案会让新分区也保持RAID1冗余,和现有系统的冗余策略一致:

  • 第一步:先备份/home数据!
    虽然RAID1有冗余,但分区操作属于高风险操作,一定要先把/home里的重要数据备份到外部存储(比如USB硬盘)。用rsync备份的命令参考:

    rsync -av /home/ /path/to/external/backup/home/
    
  • 第二步:卸载/home分区
    先切换到root用户,然后确保没有普通用户在使用/home(可以用who命令查看,让用户退出或者直接重启到单用户模式更稳妥),然后执行卸载:

    umount /home
    
  • 第三步:缩小现有RAID1的/home卷

    1. 先缩小RAID卷上的文件系统(假设你的/home是ext4格式,XFS不支持缩小,要是XFS的话只能备份后重建分区):
      resize2fs /dev/md4 1.7T  # 原来3.2T,减去1.5T,留1.7T给/home,也可以多留几十G余量
      
    2. 停止RAID1卷:
      mdadm --stop /dev/md4
      
    3. 分别修改两个NVMe盘上的p5分区:
      先操作第一个盘:
      fdisk /dev/nvme0n1
      
      在fdisk交互界面:
      • 输入d删除p5分区
      • 输入n创建新的p5分区,类型选主分区,起始位置尽量和原来的一致,结束位置设为1.7T左右
      • 输入w保存修改
        然后同样操作第二个盘fdisk /dev/nvme1n1,删除p5再创建同样大小的新p5。
    4. 重新组装RAID1卷:
      mdadm --assemble /dev/md4 /dev/nvme0n1p5 /dev/nvme1n1p5
      
      用mdadm --detail /dev/md4检查RAID状态,确认同步完成后再继续。
    5. 调整文件系统适配新的分区大小:
      resize2fs /dev/md4
      
  • 第四步:创建新的RAID1分区

    1. 在两个NVMe盘上分别创建新的分区(比如p6):
      同样用fdisk /dev/nvme0n1和fdisk /dev/nvme1n1,创建大小为1.5T的主分区p6,保存修改。
    2. 创建新的RAID1卷:
      mdadm --create /dev/md5 --level=1 --raid-devices=2 /dev/nvme0n1p6 /dev/nvme1n1p6
      
      等待RAID同步完成(可以用cat /proc/mdstat查看进度)。
    3. 格式化新分区:
      mkfs.ext4 /dev/md5  # 也可以换成你需要的文件系统,比如xfs
      
  • 第五步:挂载新分区

    1. 创建挂载点:
      mkdir /data  # 可以换成你想要的挂载目录名
      
    2. 编辑/etc/fstab添加自动挂载条目,确保重启后自动挂载:
      添加一行:
      /dev/md5 /data ext4 defaults 0 2
      
    3. 手动挂载测试:
      mount /data
      
  • 第六步:恢复/home数据并重新挂载

    rsync -av /path/to/external/backup/home/ /home/
    mount /home
    

二、不使用RAID创建新分区(不推荐)

如果不在乎新分区的冗余,只想快速划出空间,可以用这个方案:

前面的备份、卸载/home、缩小RAID1卷的步骤和上面完全一样,之后的操作改为:

  • 创建独立分区
    只需要在其中一个NVMe盘上创建1.5T的分区(比如nvme0n1p6),格式化:
    mkfs.ext4 /dev/nvme0n1p6
    
  • 挂载新分区
    同样创建挂载点,编辑/etc/fstab添加条目:
    /dev/nvme0n1p6 /data ext4 defaults 0 2
    
    然后挂载即可。
  • 最后恢复/home数据并挂载/home。

一些重要提醒

  1. 如果你的/home是XFS文件系统,XFS不支持缩小操作,只能先备份数据,然后删除md4和两个盘的p5分区,重新创建更小的p5分区并组装RAID1,格式化后恢复数据,再创建新分区。
  2. 操作fdisk的时候一定要仔细,别误删了/boot、/或者swap的分区,不然系统直接挂掉。
  3. RAID同步过程可能需要一段时间,尤其是大磁盘,耐心等同步完成再做后续操作。

备注:内容来源于stack exchange,提问作者Anoop Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 09:29:29