收起左侧

【eaves】在fnOS上使用原生btrfs(一)

2
回复
209
查看
[ 复制链接 ]

5

主题

9

回帖

0

牛值

fnOS系统内测组

前言

这是part1,part2是更换硬盘,懒得写了改天更新

不是新手向的,不是新手向的,不是新手向的

mdadm挺稳定的,mdadmin挺稳定的,mdadm挺稳定的

fnOS的文件系统嵌套的层数有点过分,用着一直不是很痛快,他的文件系统是这样套娃的:

/dev/sdX -> mdadm(raid) -> lvm -> btrfs
image.png

由于fnOS的盘换了系统能直接识别,所以一定会在一些地方留下标记,比较显然的就是vgname的格式:trim_{uuid},用fapolicyd记录一下trim是怎么创建存储空间的

吐槽一下自己,好像没拿fapolicy来做过audit,全用来分析软件行为了

image.png

image.png

可以看到过程中除了vgname=trim_{uuid} lvname=0外,trim进程没有留下别的tag

大胆推测小心取证,只要我们的vgname和lvname符合上述规律,飞牛就可以在/dev/mapper里识别到trime_{uuid}-0,只要trim支持这个lv最后做成的格式,就可以使用了

已经帮大家试过了,结论就是目前只支持ext4和btrfs,前端有报错,就懒得用fapolicyd看了, 应该是写死在trim的二进制程序里的,fapolicyd也看不到啥
image.png

所以按理来说,xfs的支持真的有手就行,只差一个挂载了,不知道飞牛团队什么时候能安排一下

操作步骤

pvcreate

pvcreate /dev/sdX

image.png

vgcreate

uuidgen |awk '{gsub("-","_",$1); print "trim_"$1}
vgcreate trim_{uuid} /dev/sdX

image.png

lvcreate

lvcreate -l +100%FREE -n 0 -y trim_{uuid}/dev/sdX

image.png

mkfs.btrfs

mkfs.btrfs \
  -d raid0 \
  -m raid1 \
  /dev/trim_77613c80_e0c3_4e95_8f6e_114ae5b7330d/0 \
  /dev/trim_77613c80_e0c3_4e95_8f6e_114ae5b7330d/1 \
  /dev/trim_77613c80_e0c3_4e95_8f6e_114ae5b7330d/2

image.png

尝试挂载

image.png

另外两个盘会提示未挂载

重启看看有没有问题

image.png升级看看有没有问题

image.png

good

因为没有套一层mdadm,可以直接当条带用了,对于重要文件可以做多副本或raid5

btrfs subvolume create /vol1/1000/data
btrfs property set /vol1/1000/data disk_space raid5

已知问题

image.png

image.png

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

2

主题

73

回帖

0

牛值

初出茅庐

这是不是意味着 ZFS又能进一步了?

和zfs没啥关系,方便利用btrfs的特性罢了,比如我不需要对所有数据进行保护,但是希望部分重要数据多副本  详情 回复
4 天前

5

主题

9

回帖

0

牛值

fnOS系统内测组

4 天前 楼主 显示全部楼层
yyywd 发表于 2025-6-5 11:49
这是不是意味着 ZFS又能进一步了?

和zfs没啥关系,方便利用btrfs的特性罢了,比如我不需要对所有数据进行保护,但是希望部分重要数据多副本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则