[訳]How-to set up a redundant storage pool with ZFS and Ubuntu


データに冗長性がなく、バックアップがない場合は、ほとんど存在しません.
大企業は、データ量の大きい重要な取引データを処理し、データの冗長性とバックアップ措置を取ってデータの安全を確保します.すでに業界内の基準となっている.しかし、中小規模企業、SOHO(スモールオフィス、ホームオフィス)では、データの損失に耐えられません.
大手企業のように、多くの中小企業、SOHOのスタジオやパーソナルスタジオにはIT部門もなく、CTOsやCIOsは言うまでもありません.
私は膨大なデータを直接処理したことがあります.私は6 TB以上のストレージを持っています.私は家にファイルサーバーを持っています.上には私が保存した家族の写真と私のすべてのドキュメントがあります.これは私の人生の中で最も重要な部分の一つです.
この方法には、すべてのデータが同じ場所に格納されているため、管理、メンテナンス、保護が容易になります.これは集中的なファイルサーバなので、誰もが私のローカルネットワークでこれらのファイルにアクセスできます.私は複数のデバイスで仕事をすることができます.ノートパソコン、PC、タブレット、携帯電話で、彼らの間でファイルをコピーする心配はありません.もし私の主なパソコンやノートパソコンが壊れたら、コンピュータに保存されているデータを救う心配はありません.私の家に永遠に保存されるような設備は何もないからです.
しかし、すべての卵をかごに入れるのはいい考えではありません.冗長性を追加し、複数の物理バックアップがあることを確認する必要があります.
ZFSが答え
ここにはZFSとBtrfsの2つの優れたファイルシステムがあります.BTRFSは非常に新しいもので、まだ開発されている状態なので、使用することをお勧めしません.ZFSは、一方では、ストレージプール(zpool)、書き込み時のレプリケーション、スナップショット、データ整合性の検証、自動修復、保護機能など、時間の試練を経て、安定した、極めて豊富な機能を備えています.しかし、ZFSのライセンス問題も各地にあり、以前に書いたことがあります.
最初はFreeNASを思い浮かべてしばらく走りましたが、Linuxと私のサーバーを完全に制御するのが好きでした.だから私はZFSファイルシステムとUbuntuを選んだ.
以下はUbuntuでZFSの使用を開始する方法です.要件:14.04 Ubuntu serverには、少なくとも3つのハードディスクドライブがあります.最もUbuntuシステムで、ストレージプールにインストールするために2つのSSDまたはハードディスクドライブが必要です.メモリは少なくとも8 GB(1 GBはUbuntuで、それから1 TBのデータを増加するごとに1 GBのRAMを増加する)のいかなるまともなCPUを増加します.
提案:UbuntuのLTS(長期サポート)バージョンを使用するファイルサーバを強くお勧めします.RAID-Zを作成するには、少なくとも2つの同じストレージ容量のSATAハードディスクが必要です.異なる容量のハードディスク(HDD)がある場合は、総ストレージは小さなハードディスクドライブのサイズになります.3番目の外部ハードディスクドライブを強くお勧めします.これにより、データを定期的にバックアップできます.
HDDがあればZFSをインストールできます.ZFSは間もなく来るUbuntu 16にプリインストールされているが.04のリリースでは、PPAを14.04にインストールする必要があります.
sudo apt-add-repository ppa:zfs-native/stable

その後Repoを更新
sudo apt-get update

ソフトウェアとロードモジュールをインストールします.
sudo apt-get install ubuntu-zfs

sudo /sbin/modprobe zfs

次に、次のコマンドを実行して、システムにpoolsまたはハードディスクドライブがあるかどうかを確認します.
sudo zfs list

出力の結果はno datasets availableであるべきである.ここではデータセットが作成されていないことは知っていますが、正しくインストールされているかどうかを確認したいと思います.
ディスクドライブストレージプールを作成する時です.システムでドライブを認識する必要があるためです.したがって、lsblkコマンドを初めて実行して、各ドライブを識別します.
sudo lsblk

ブロックデバイスの名前をメモしてください.「sda,sdb,sdc,」
各ドライブのIDを見つける必要があります.ドライブのプールで使用します.
sudo ls -l /dev/disk/by-id/

このコマンドはあなたに長い出力を与えます.これは私のシステムの一例です(私のUbuntuシステムでは、出力されたドライブSDAを削除しました.私の場合、プールで2つのドライブSDCとSDDを使用します):
swapnil@nas:~$ sudo ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root 9 Feb 20 17:48 ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E0318132 -> ../../sdc
lrwxrwxrwx 1 root root 9 Feb 20 17:48 ata-WDC_WD40EFRX-68WT0N0_WD-WCC4E4LRJ111 -> ../../sdd
lrwxrwxrwx 1 root root 9 Feb 20 17:48 wwn-0x50014ee20922e8a8 -> ../../sdc
lrwxrwxrwx 1 root root 9 Feb 20 17:48 wwn-0x50014ee20b453ec7 -> ../../sdd

From this output note down the IDs that start with ‘wwn’, so in my case it was ‘wwn-0x50014ee20922e8a8’ and ‘wwn-0x50014ee20b453ec7’

この形式でzpoolを作成します.
zpool create -f -o ashift=12 -m raidz
1
zpool create -f -o ashift=12 -m raidz
私の場合、ポイントに掛けるのは「/mnt/bank」、poolは「swapool」
zpool create -f -o ashift=12 -m /mnt/bank swapool raidz wwn-0x50014ee20922e8a8 wwn-0x50014ee20b453ec7

ステータスをチェックすると、時間がかかる場合があります.
sudo zfs list

今回は、poolの作成に成功したことを意味する出力が得られます.この2つのHDDでファイルがミラーリングされます.冗長性をさらに高めるために、より多くのドライブを追加できます.
ファイルをpoolにコピーし始める前に、もっと仕事があります.データセットを作成し、これらのデータセットに格納する必要があります.データセットは、ZFSの機能によって作成されたディレクトリやフォルダのようなものです.異なるファイルタイプのデータセットを作成するか、1つのデータセットのみを作成できます.データセットを作成すると、通常のディレクトリまたはファイルを作成できます.
データセットを作成するコマンドです.
sudo zfs create /directory_name

ここでは、私のシステムの例です.私は異なるタイプのファイルに対して異なるデータセットを作成しました.
sudo zfs create swapool/p_w_picpaths
sudo zfs create swapool/music
sudo zfs create swapool/movies
sudo zfs create swapool/documents
sudo zfs create swapool/ebooks

これにより、データに非常に組織的な構造が得られます.
必要なすべてのデータセットを作成すると、通常のシステム・ユーザーが書き込むことができるように、プールでファイル権限を変更する必要があります.
sudo chown -R user_name:group_name /path_of_pool

Example:

sudo chown -R swapnil:users /mnt/bank/

すべての構成が完了しました.新しく作成した冗長ファイルストレージにファイルを格納し始めます.後述する記事では、このストレージの定期的なメンテナンス、ドライブ上のデータを自動的にバックアップし、ローカルネットワークを介してこのストレージにアクセスしてファイルサーバにする方法について説明します.
ソース:How-to set up a redundant storage pool with ZFS and Ubuntu
License:Attribution-NonCommercial-NoDerivatives 4.0 International本稿はSuzf Blogから出ている.未記載の場合、いずれもSUZFである.NETオリジナル.転載は出典を明記してください.http://suzf.net/thread-0905-1075.html