ZimaBoard愛好家の皆さん、こんにちは!本日は、熱心なコミュニティメンバーであるTyrehlによる包括的なチュートリアルをお届けします。TyrehlはZimaBoardへのZFSインストール手順を巧みに案内するだけでなく、ZimaBoard自体の全体像も包括的に紹介しています。
コミュニティの洞察から詳細なインストール手順まで、Tyrehlの記事はZFSとZimaBoardの両方の可能性を最大限に引き出すためのワンストップリソースです。コミュニティの参加と技術的ノウハウの架け橋となるこの貴重な寄稿に、心から感謝します。さあ、一緒にこの旅に出て、あなたのZimaBoard体験を高めましょう。楽しい探検を!
はじめに
シングルボードコンピュータ(SBC)はホームラボのシナリオで非常に人気があり、近年ではプロフェッショナルな環境や産業分野でも地歩を固めています。現在ではエッジコンピューティングや小型フォームファクターシステムを中心とした大きなエコシステムがあります。
適度な計算能力は、4コアと十分なRAMを備えたさまざまなSBCで簡単に手に入ります。彼らが通常不足しがちなのはストレージ面です。SDカードやフラッシュストレージは一般的に遅く、書き込み負荷の高いシナリオでは故障しやすいです。USB接続のディスクは同じ信頼性を提供せず、良いUSB-to-SATAコネクタを選ぶのも簡単ではありません。
ZimaBoardには切り札があります。2つのSATAポート、デュアル100/1000イーサネット、そしてさまざまなPCIe拡張オプションがあり、とても柔軟なシステムを実現しています。
SBCが現実的に達成できる限界はどこにあり、なぜストレージはいつもそんなに厄介なのでしょうか?特に得意なタスクがないコンパクトなマシンと、6台のSATAディスクを備え外部ATX電源が必要なケーブルだらけのモンスターの間の黄金の中間点はどこにあるのでしょうか?
この記事はZimaBoardの強みを探り、それを活かして有効活用する方法を紹介することを目的としています。見た目が馬鹿げて実用的でないセットアップにならないように。
動機
前述の通り、多くの計算リソースは簡単に展開・利用できます。メモリも安価なので、ストレージがすぐに制約要因となります。インフラに関わったことがある人なら、このことはよくご存じでしょう。k8sのネットワークストレージオプションや、クラスターにS3互換APIをもたらすと主張するさまざまなプラットフォームを見てみれば、その展開や適切な運用がいかに面倒かがわかります。
優れたI/O機能を持つZimaBoardは、小型フォームファクタのNASや堅牢なローカルストレージを備えた汎用サーバーに最適な候補です。ここに課題があります。小型フォームファクタのパッケージで、動作が「ただ動く」プラットフォーム上で、どのように耐障害性のあるストレージを提供するかということです。
ハードウェア面では、ZimaBoard背面の電源とSATAコネクタから2台の2.5インチディスクのみを動作させることに制限します。これにより外部電源や拡張カードを必要としない非常にコンパクトなソリューションになります。
少ないほうが多い
大量のストレージを展開するのは良いことですが、耐障害性のあるストレージを持つことはさらに重要です。そのためにはストレージの冗長性を提供するより高度なファイルシステムが必要です。
ZFSはほとんどのハードウェアRAIDコントローラを凌駕するソフトウェアRAID機能を提供します。増分スナップショット、リモートシステムやストレージプール間の同期、暗号化など多くの注目すべき機能を持つ優れたファイルシステムです。
今日はディスクを冗長化して動作させることに焦点を当てます。通常ZFSはRAIDZアレイの管理に使われますが、今回は2台のディスクに限定しているため、選択肢はZFSミラープールのみです。これにより容量は半分になりますが、冗長性が向上し、1台のディスク障害を耐えられるようになります。理想的ではありませんが、これで対応します。
ハードウェア
ディスク
一般的にZimaBoardコミュニティは2.5インチディスクの使用を推奨しています。主な利点は12Vレールを必要としないことです。3.5インチディスクでの成功例も報告されていますが、結果は環境によって異なります。私の場合は2台の1TB SSDを選びました。容量が必要ならHDDを選んでも構いません。
コネクタと3Dプリントアクセサリー
2台のディスクを接続し電源を供給するには公式のYスプリッターが強く推奨されます。USBからSATAへの電源アダプターを使うなどの回避策もあります。見た目は悪いですが動作はします。すべてをまとめるために3DプリントのデュアルHDDスタンドが非常に役立ちます。最終的には非常に携帯性が高く低プロファイルなパッケージになります。


リンクは記事の最後に含まれています。このバージョンは小型で実用的なため非常にコンパクトだと感じました。ラックマウント用の3Dプリントプレートもいくつか存在しますので、スペースがあれば利用できます。
ZFSのインストール
ZimaBoardはデフォルトでDebianが搭載されています。これは邪魔にならず驚かされることもない堅実なディストリビューションとして私個人のおすすめでもあります。他のディストリビューションを使用する場合は、それぞれのドキュメントとZFSのインストール手順を参照してください。
開始する前に、可能であれば最新のLTSリリースにアップデートすることを忘れないでください。データをバックアップして、簡単に環境をリセットしてやり直せるようにしましょう。そして、トラブルシューティングを容易にするためにすべての手順を記録してください。こちらもご覧ください スクリプト これを便利に行うためのコマンド。
詳細な手順や高度な使用例は以下に記載されています https://wiki.debian.org/ZFS これはZFSのセットアップに推奨される主要な情報源です。
事前条件
HTTPSリポジトリにアクセスできることを確認してください:
1 apt install -y lsb-release apt-transport-https
リリース用のBackportsリポジトリを/etc/apt/sources.listを編集するか、‘/etc/apt/sources.list.d/’の下に新しいソースファイルを追加して設定してください:
1 #コードネームを決定するか、以下を手動で置き換え:
2 codename=$(lsb_release -cs)
3 #バックポートリポジトリをソースリストに追加:
4 echo “deb http://deb.debian.org/debian $codename-backports main contrib non-free”|sudo tee /etc/apt/sources.list.d/debian_backports.list && sudo apt update
ZFSパッケージ
最後に、Debianのドキュメントに従い、最新のLinuxヘッダーと関連するZFSパッケージをインストールします:
1 sudo apt install linux-headers-amd64;sudo apt install -t $codename-backports zfsutils-linux zfs-dkms
「ああ、何か問題が発生しました」
ZFSのインストール失敗は通常、古いまたは不正なカーネル、またはヘッダーの欠如に起因します。すべてのZFS関連パッケージを完全に削除し、インストールされているヘッダーを確認し、インストールドキュメントを再確認するのが最善です。
1 sudo dpkg -l | egrep ‘linux-image|linux-headers’
プールとファイルシステムの作成
ID別にディスクを一覧表示:
ls -l /dev/disk/by-id/
2 ls -l /dev/disk/by-id/
3 lrwxrwxrwx 1 root root 9 12月 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333D1 -> ../../sdb
lrwxrwxrwx 1 root root 9 12月 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333DB -> ../../sda
4 lrwxrwxrwx 1
安定したデバイスIDを指定してプールを作成します。例:
1 zpool create $mirror_pool_name mirror ata-KINGSTON_SA400S37960G_50026B73818333D1 ata-KINGSTON_SA400S37960G_50026B73818333DB
暗号化されたファイルシステムを作成する:
1 zfs create \
2 -o encryption=on \ # 不要なら削除
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name
実際の使用シナリオとパフォーマンス
ZimaBoardはZFSの実行に問題はなく、暗号化のみがCPU使用率に目立つ影響を与える以外は十分なパフォーマンスを持っています。トランスコーディングやストリーミング(例:Jellyfin)も問題ありません。非常に大きなファイルを暗号化されたファイルシステムに読み書きする場合、CPUに大きな負荷がかかることに注意してください。これはシステム上で実行されている他の作業に影響を与える可能性があります。
SMB/NFS
一般的なテストでは、12GBの単一ファイルをZFSミラープールに書き込むのに約5分かかり、ディスクIOがボトルネックでした。ZFSプールからの読み取りははるかに速く、半分以下の時間で済みました。実質的に1Gbpsのネットワーク接続が完全に最大限に活用されました。両方のテストは暗号化されていないファイルシステムで行われました:

次のテストは、暗号化がCPUに与える大きな影響を示しています。同じ12GBのファイルを暗号化されていないZFSファイルシステムから読み取り、暗号化されたものに書き込みました。パフォーマンスは依然として優れていますが、CPU使用率は急上昇し、プロセス全体で非常に高いままでした。

リソースと参考資料
- DebianでのZFSインストール: https://wiki.debian.org/ZFS#Installation
- https://www.printables.com/model/224057-zimaboard-dual-hdd-stand
- SATA Yケーブル: https://shop.zimaboard.com/products/sata-y-cable-for-zimaboard-2-5-inch-hdd-3-5-inch-hdd-raid-free-nas-unraid
結論
質問がありますか、またはチュートリアルのどの部分についてもさらに詳しい説明を求めていますか?Tyrehlがサポートします!Discordコミュニティに参加して、Tyrehlと直接つながり、有意義な議論に参加しましょう。あなたの好奇心はチュートリアルで止まる必要はありません – TyrehlはあなたのZFSの旅をサポートする準備ができています。Discordサーバーに参加する:[ zimaboard.com/discord]

