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

Ubuntu 22.04.3安装时自定义ZFS存储布局(SSD Mirror+RAIDZ1 HDD)的方法咨询

Ubuntu 22.04.3安装时自定义ZFS存储布局(SSD Mirror+RAIDZ1 HDD)的方法咨询

兄弟我太懂你的痛点了!Ubuntu 22.04的默认安装器对ZFS的支持真的相当阉割——那个“用ZFS安装”的选项完全是傻瓜式的,根本没法自定义镜像、RAIDZ这些结构,更别说指定不同挂载点了。其实咱们可以绕开这个限制,用live环境提前搭好ZFS的池和数据集,再让安装器“捡现成”,具体操作步骤如下:

  • 第一步:进入Live环境并打开终端
    启动Ubuntu安装介质后,先别急着点“安装Ubuntu”,直接按Ctrl+Alt+T打开终端,咱们要用命令行手动搭建ZFS结构。

  • 第二步:清空目标磁盘的分区表
    假设你的两块SSD是/dev/sda、/dev/sdb,四块HDD是/dev/sdc到/dev/sdf,先把这些磁盘的原有数据和分区表彻底清除(一定要确认磁盘路径,别误删重要数据!):

    sudo wipefs -a /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
    
  • 第三步:创建SSD镜像池(系统分区用)
    用两块SSD创建一个镜像vdev的ZFS池,命名为sys(名字可以自己改),同时开启压缩、关闭atime来优化性能,适配4K扇区:

    sudo zpool create -f -o ashift=12 -O compression=lz4 -O atime=off sys mirror /dev/sda /dev/sdb
    

    解释下关键参数:

    • ashift=12:适配现代磁盘的4K扇区,避免性能损失
    • compression=lz4:开启轻量高速度的压缩,不影响性能还能省空间
    • atime=off:关闭文件访问时间记录,提升磁盘IO性能
  • 第四步:给系统池创建对应数据集
    针对/、/boot、/var这些系统分区创建独立的数据集,方便后续管理:

    sudo zfs create sys/root
    sudo zfs create sys/boot
    sudo zfs create sys/var
    sudo zfs create sys/tmp_home  # 先建临时home,安装完成后再迁到HDD池
    
  • 第五步:创建HDD的RAIDZ1池(大存储用)
    用四块HDD创建RAIDZ1池,命名为data,同样配置性能优化参数:

    sudo zpool create -f -o ashift=12 -O compression=lz4 -O atime=off data raidz1 /dev/sdc /dev/sdd /dev/sde /dev/sdf
    
  • 第六步:给存储池创建业务数据集
    按需创建/home、/data对应的数据集:

    sudo zfs create data/home
    sudo zfs create data/data
    
  • 第七步:启动安装器并指定挂载点
    现在打开“安装Ubuntu”,一路走到“安装类型”步骤,选择其他选项(手动分区),然后找到咱们刚才创建的ZFS数据集:

    • 选中sys/root,设置挂载点为/,勾选“格式化”(其实ZFS已经格式化好了,这里只是确认挂载)
    • 选中sys/boot,设置挂载点为/boot
    • 选中sys/var,设置挂载点为/var
    • 选中sys/tmp_home,设置挂载点为/home
      完成后继续安装流程即可。
  • 第八步:安装完成后迁移Home到HDD池
    重启进入新系统后,把临时home的内容迁移到HDD池的数据集,然后替换挂载点:

    # 完整复制home目录内容,保留权限和属性
    sudo rsync -avx /home/ /data/home/
    # 卸载临时home
    sudo umount /home
    # 把data/home的挂载点设为系统默认的/home
    sudo zfs set mountpoint=/home data/home
    # 验证挂载是否成功
    df -h /home
    

    确认没问题后,可以删掉临时的系统home数据集:

    sudo zfs destroy sys/tmp_home
    

额外注意事项

  • 务必反复确认磁盘路径,/dev/sdX的顺序可能会变,也可以用lsblk命令查看磁盘的UUID或型号来精准定位
  • 如果你的SSD是NVMe盘,路径会是/dev/nvme0n1、/dev/nvme1n1这类,替换对应路径即可
  • 安装前一定要备份所有重要数据,wipefs和ZFS创建池的操作会彻底清除磁盘内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 12:48:12