前提は NAS なので、 ZFS で、RAID-Z を構築する。
OpenZFS インストール
sudo apt install zfsutils-linux
zfs pool 作成
まずディスクの確認。
ls -lA /dev/disk/by-id/
ata-ST4000DM004-2CV104_******H8 ata-ST4000DM004-2CV104_******VS ata-ST4000DM004-2CV104_******LT
一部マスクしてます。
で、この情報を下に raidz pool を作成。
慣例にならって pool 名を tank にしています。
zpool create tank raidz /dev/disk/by-id/ata-ST4000DM004-2CV104_******H8 /dev/disk/by-id/ata-ST4000DM004-2CV104_******VS /dev/disk/by-id/ata-ST4000DM004-2CV104_******LT
オプション
タイムスタンプ機能を off。圧縮機能をデフォルト設定で ON。ついでに 一ヶ月に一回の Scrub を設定。
sudo zfs set atime=off tank sudo zfs set compression=zstd tank sudo systemctl enable zfs-scrub-monthly@tank.timer
データセット作成
サブフォルダーというか、samba 共有したいフォルダを作成。
sudo zfs create tank/media sudo zfs create tank/iso sudo zfs create tank/backup
samba 共有
zfs 自体に共有機能があって、それを設定してもよいが、一元管理したいので、/etc/samba/smb.conf
に設定を追加する。
$ sudo nano /etc/samba/smb.conf : : #共有するフォルダと共有の情報を追加 [media] comment = Ubuntu22.04 path = /tank/media writable = yes guest ok = no force create mode = 0775 force directory mode = 0775 [iso] comment = Ubuntu22.04 path = /tank/iso writable = yes guest ok = no force create mode = 0775 force directory mode = 0775 [backup] comment = Ubuntu22.04 path = /tank/backup writable = yes guest ok = no force create mode = 0775 force directory mode = 0775
samba を再起動して設定を反映する。
sudo systemctl restart smbd