Fedora32环境构建ZoneFS

系统要求

最好fedora,centos可能会出现不能将HM-SMR盘识别成块设备(/dev/sd*)的情况(识别成SCSI设备,也就是/dev/sg*,这个时候mkzonefs不能识别)

我这里用的是fedora32 server版

内核

zonefs已经加入到linux内核源码中,但是默认情况是不开启的,所以需要手动开始然后编译内核。
这里使用的内核版本是最新的linux 5.6.14

编译过程

dependency

flex
bison
openssl-devel
elfutils-libelf-devel

编译

  1. make oldconfig
  2. 生成.config配置文件,找到CONFIG_ZONEFS_FS,将后面的is not set改成=m
  3. 编译内核:make -j8
  4. 安装模块:make modules_install
  5. 安装内核:make install

启用zonefs

  1. 重启:reboot
  2. 加载zonefs模块:modprobe zonefs(因为zonefs是M参数编译的,所以会被编译成模块而不是编译进内核,这种情况下还需要手动启用)
  3. 检查加载情况:lsmod | grep zonefs

zonefs-tool

dependency

autoconf
automake
libtool
libblkid
libblkid-devel
libuuid
libuuid-devel

编译安装

  1. git clone https://github.com/damien-lemoal/zonefs-tools.git
  2. sh ./autogen.sh
  3. ./configure
  4. make && make install

构建zonefs

  1. mkzonefs -f -o aggr_cnv /dev/sda
  • 此处/dev/sda为HM-SMR设备
  • -f:强制执行
  • -o aggr_cnv:将conventional zone合并成一个大文件
  1. mount -t zonefs /dev/sda /mnt/hm
    这个地方需要内核中已经加载zonefs模块,不然会报错mount: unknown filesystem type 'zonefs'

你可能感兴趣的:(Fedora32环境构建ZoneFS)