ラップトップの500GBディスクにLVMを使用してUbuntu14.04をセットアップしています。 zfs/zpoolでセットアップ/プレイアラウンドしたい。私のデータを失うことなくこれのための最良のアプローチは何ですか
ZFSで「遊んで」みたいだけだとすると最も簡単なオプションはおそらくファイルでバックアップされたプールです。別の方法は、LVM内に1つ以上の論理ボリュームを作成し、それらを使用することです。
ZFSの優れた点の1つは、ランダムI/O対応の形式でデータを格納できるほぼすべてのものを提供でき、「正常に機能する」ことです。 実稼働環境では、通常、ZFSにディスク全体を提供します(または複数のディスク全体)、パーティション化などを処理させますが、試してみて、ZFSがどのように機能するかを理解するために、ファイル-裏付けのあるプールは、ほとんどの場合完全に適切です。
実際、完全なストレージレイアウトに似たファイルバックアッププールをすぐに利用できるようにすることをお勧めします。これにより、さまざまな変更を安全にテストし、コミットする前に結果を観察できるためです。 ZFSプールを変更する際の間違いは、コストがかかる可能性があります。
ファイルバックアッププールを作成するには、最初に適切なサイズのファイルのセットを作成します。各デバイス(ファイル)が2 GBの4デバイスのraidz1プールを作成するので、次のようにします。
Sudo mkdir /.zfs
Sudo dd if=/dev/zero of=/.zfs/disk1 bs=1M count=2048
Sudo dd if=/dev/zero of=/.zfs/disk2 bs=1M count=2048
Sudo dd if=/dev/zero of=/.zfs/disk3 bs=1M count=2048
Sudo dd if=/dev/zero of=/.zfs/disk4 bs=1M count=2048
Sudo chmod 0700 /.zfs
これにより、/。zfsにそれぞれdisk1からdisk4という名前の4つのファイルが作成されます。各ファイルのサイズは2 GiBであり、raidz1のオーバーヘッドを考慮すると、6を少し下回る使用可能なストレージ容量が得られますGiB(raidz1では1つデバイスの一部はパリティデータに使用されるため、使用できません)。
次に、プールを作成します(tank
はZFSプールの通常の例の名前です)。
Sudo zpool create tank raidz /.zfs/disk1 /.zfs/disk2 /.zfs/disk3 /.zfs/disk4
これは、デフォルトを使用してtank
という名前のプールを作成し、作成した4つのファイルを使用してそのプールに1つのvdevを設定することを意味します。プールは作成されると自動的にインポートされ、そのルートファイルシステムは/tank
にマウントされます。 Sudo zpool status
を使用して結果を観察できます。これにより、次のようなものが出力されます。
pool: tank
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
/.zfs/disk1 ONLINE 0 0 0
/.zfs/disk2 ONLINE 0 0 0
/.zfs/disk3 ONLINE 0 0 0
/.zfs/disk4 ONLINE 0 0 0
errors: No known data errors
Sudo zpool list
を使用して、プールの生のサイズを確認できます。
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
tank 7,94G 120K 7,94G - 0% 0% 1.00x ONLINE -
Sudo zfs list
を使用した使用済みおよび使用可能なストレージ容量:
NAME USED AVAIL REFER MOUNTPOINT
tank 74,8K 5,84G 25,4K /tank
これらのコマンドには両方とも、何をどのように印刷するかを制御するための多数のオプションがあります。それぞれzpool
とzfs
のマニュアルページを参照してください。
ファイルを/ tankに保存して、一般的にZFSで手を汚すことができるようになりました。プールをエクスポートするには(シャットダウンする前に推奨)、Sudo zpool export tank
(またはSudo zpool export -a
で現在インポートされているすべてのプールをエクスポートします)。プールを再度インポートするには、Sudo zpool import -d /.zfs -a
(または-a
をプールの名前tank
に置き換えます)。 ZFSは通常、そのディレクトリでデバイスを検索しないため、-d /.zfs
が必要になる場合があります。必要に応じて、これらのコマンドをシステムの起動/シャットダウンスクリプトに追加できます。
楽しんで!