概要
- SynologyやTrueNAS等の専用NASソフト不要、 Debian 12 でZFS NASを最小構成で構築する手順
- ZFSの自己完結性 と、ディスク移行時の柔軟性が大きな利点
- RAIDZ1構成 (1台冗長)で 4x4TB NVMe SSD を利用
- Sambaによる ネットワーク共有 とTime Machine対応
- 初心者向け、 Linux基本操作 のみで構築可能
最小構成ZFS NAS構築手順(GUI不要・Debian 12編)
-
前提条件
- RAIDレベル: RAIDZ1 (1台冗長)
- OS: Debian 12 Bookworm
- 暗号化: なし
- ZFS実装: OpenZFS 2.1.1
- CPU: 4コア Xeon等サーバー向けCPU
- メモリ: 16GB ECC RDIMM
- ストレージ: 4x4TB NVMe SSD
- バックアップ: ZFS Backup Scheduler等を別途利用
- 必要スキル: Linuxの基礎知識
-
ZFSの特徴
- 自己完結型ファイルシステム
- OSが破損しても、ディスクを他マシンに移して zfs import で即復旧可能
- 設定情報は全て ディスク自体に保存
- RAIDZ2等でも同様の自由度
- 自己完結型ファイルシステム
-
ディスクの確認と整理
- ディスク一覧取得:
lsblk -d -o TRAN,NAME,TYPE,MODEL,SERIAL,SIZE - ディスクID確認:
ls -lh /dev/disk/by-id - vdev_id.conf でエイリアス設定(任意)
vim /etc/zfs/vdev_id.conf alias nvme0 /dev/disk/by-id/xxx alias nvme1 /dev/disk/by-id/xxx ... udevadm trigger- /dev/nvme1等の直接指定は非推奨、 IDベースでの指定が安全
- ディスク一覧取得:
-
ZPOOL作成
- ZFSインストール(Debianの場合)
apt install zfsutils-linux - ashift=12 指定でzpool作成(4Kセクタ最適化)
zpool create -o ashift=12 s16z1 raidz1 nvme0 nvme1 nvme2 nvme3 - プール状態確認
zpool status s16z1 - 圧縮・マウントポイント設定
zfs set mountpoint=/mnt/s16z1 s16z1 zfs set compression=lz4 s16z1 - ZFSデータセット作成 (例:docs, backups)
zfs create s16z1/docs zfs create s16z1/backups- データセット は単なるフォルダ以上の管理単位
- スナップショット、レプリケーション、暗号化等のZFS機能を個別適用可能
- ZFSインストール(Debianの場合)
-
Sambaによる共有設定
-
Sambaインストール
apt install samba -
専用UNIXユーザー作成(例:john)
useradd -m john passwd john smbpasswd -a john -
Samba設定ファイル編集
vim /etc/samba/smb.conf- 例:[docs]と[backups]の2つの共有を作成
- Time Machine用にはfruitモジュール等を有効化
[docs] path = /mnt/s16z1/docs browseable = yes read only = no guest ok = no valid users = john create mask = 0755 [backups] path = /mnt/s16z1/backups read only = no guest ok = no inherit acls = yes spotlight = yes fruit:aapl = yes fruit:time machine = yes vfs objects = catia fruit streams_xattr valid users = john
-
-
動作確認
- macOS Finderで
smb://<サーバIP>/docsや/backupsに接続 - Time Machineは backups共有 を指定
- Linuxクライアントからは
smbclientコマンドでアクセス可能
- macOS Finderで
-
補足
- /etc/zfs/vdev_id.conf は利便性向上用であり、OS障害時の復旧には不要
- ZFSのレプリケーション・暗号化等は別記事で解説予定
TrueNAS等を使わない理由
- TrueNAS は多機能だが、 必要最低限の機能だけで十分な場合 は過剰
- シンプルな構成の方が トラブル時の自己解決性 が高い
- ZFSの本質的な利便性 (ディスク単体移行、自己完結性)を最大限活かせる
ZFSのデータ移行・復旧の強み
- ディスク構成情報は全てディスクに記録
- 新しいマシンやOSに zfsツールのみインストール → zfs import で即データ認識
- RAIDZ1/2/3 等、どのレベルでも同様のメリット
- ホストOS障害時のリスク低減
まとめ
- Debian 12 + ZFS + Samba で、 GUI不要の高品質NAS を最小構成で実現
- ZFSの自己完結性 と 柔軟なデータセット管理 が最大の魅力
- Samba連携 でWindows/macOS双方からのアクセスやTime Machineバックアップも簡単
- 将来的な拡張 (暗号化、レプリケーション等)も容易
参考:Oracle ZFSシステムの美しい外観 https://docs.oracle.com/cd/E78901_01/html/E78910/gqtmb.html