Linux
 Computer >> コンピューター >  >> システム >> Linux

ZFSスナップショットとクローンの使用方法

ZFSスナップショットとクローンの使用方法

ストレージデバイスでZFSを使用することにした場合は、おめでとうございます。地球上で最も複雑で機能豊富なファイルシステムの1つを使用しています。また、家族の写真やビデオなどの長期データを保存することにした場合は、ZFSを真剣に検討してください。 4台のミラーリングされたハードドライブなどの冗長セットアップでは、ビットの腐敗やその他の形式のストレージの劣化、コンピュータエラーなどが原因で、1ビットのデータが失われることは絶対にありません。 ZFSは、データを自動的に自己修復および回復できます。複雑なアルゴリズム、ハッシュ、およびマークルツリーはデータの整合性を保証します。

ただし、このチュートリアルでは、ZFSが長期データのアーカイブに最適な理由については説明していません。代わりに、スナップショットとクローンで何ができるかについて話し合っています。

ZFSスナップショットとクローンとは何ですか?

スナップショットは、特定の時点でのデータの状態の正確な画像です。たとえば、複雑なWebサイトで作業しているとします。すべてのコード、データベース、および画像をZFSデータセットに保存します。 Webサイトのデザインを変更し、いくつかの画像を変更し、いくつかのレイアウトの寸法を変更し、いくつかのコードを変更して、これらすべてに適合させます。以前のデザインに戻したい場合は、それらすべての変更を個別に元に戻す必要があります。 ZFSを使用すると、現在のデザインのスナップショットを作成し、必要なすべての変更を加えることができます。新しいデザインに不満がある場合は、前のスナップショットにロールバックするだけです。もちろん、Git、GitHub、さらにはスナップショットを取得してロールバックする機能を備えたコードエディターもあります。ただし、ZFSには次の機能も含まれています。

  • スナップショットはグローバルです。プロジェクトに含まれるすべてのデータのスナップショットを作成します。
  • プロジェクトの規模に関係なく、スナップショットとロールバックはほぼ瞬時に行われます(数百ギガバイトの場合でも)。

ZFSスナップショットとクローンの使用方法

スナップショットの数に制限はありません。 「デザイン1」、「デザイン2」、「デザイン3」を自由に切り替えたり、変更を加えたり、新しいスナップショット「デザイン2 –改善」を作成したりできます。

クローン

スナップショットは基本的に、戻ることができる凍結されたデータ状態ですが、クローンは、共通のポイントから開始するブランチのようなものです。それをよりよく理解するために、このシナリオを想像してください:あなたは広告キャンペーンのためにビデオを作成します。次に、このビデオのスナップショットを作成します(実際には、ビデオを保存するZFSデータセットのスナップショットを作成します)。ここで、このスナップショットを3回複製します。 1人の従業員に「クローン1」、別の従業員に「クローン2」、3番目の従業員に「クローン3」を与えます。今では、それぞれが独自のスペースで作業し、必要な変更を加えることができます。

なぜこれが便利なのですか?ビデオは大量のディスクスペースを占有する可能性があります。高解像度の生フィルムには、数百または数千GBのストレージが必要になる場合があります。メインビデオに500GBのストレージが必要で、3人がクローンを作成してさまざまな変更に取り組む必要がある場合、1500GBを超えるストレージが必要になります。

ZFSを使用すると、スナップショットと3つ(またはそれ以上)のクローンに必要なストレージは501GB以下になります。変更されないデータのブロック(すべてのクローンに共通のこれがあります)は、一度だけ保存されます。このように、各エディターが追加した差異のみが追加データとして保存されます。実際のシナリオでは、3つのクローンすべてに650GBのデータなどが必要になる場合があります。これはストレージとリソースの効率的な使用であり、データは適切に分離されているため、各編集者は心ゆくまで作業できます。

もちろん、ディスク容量の要件が問題にならない場合でも、同じコンテンツを複数の異なる方向に分岐する必要がある他の多くのシナリオで役立ちます。

ZFSスナップショットの操作に使用されるコマンド

他のLinuxディストリビューションでもこのファイルシステム/ボリュームマネージャーを使用できますが、UbuntuはこれまでのところZFSに対して最高のサポートを提供しています。

すべてのユーザーがZFSを提供するために使用できるディスク全体を持っているわけではないため、sudo zpool create pool_name /dev/sda3などのコマンドを使用して空のパーティションにプールを作成することもできることを知っておくと便利です。 、ここで/dev/sda3 は、最初のディスク上の3番目のパーティションのデバイス名です。

適切なパッケージをインストールして最初のZFSデータセットを作成したら、これがスナップショットの作成方法です。

まず、スナップショットを作成するZFSデータセットの名前を見つけます。

zfs list

ZFSスナップショットとクローンの使用方法

この例では、データセットの名前はdataです。 スナップショットの名前はsnap1になります 。次のコマンドでこれらの値を自分の場合に当てはまる値に置き換えます。スナップショットを作成するには、次のように入力します。

sudo zfs snapshot data@snap1

あなたの場合、データセットの名前がvideosの場合 、スナップショットをfirstと呼びたい 、コマンドは次のようになります:

sudo zfs snapshot videos@first

変更をロールバックし、データセットをスナップショットを作成したときの正確なコンテンツに復元するには、次を使用します。

sudo zfs rollback data@snap1

スナップショットが不要になったら、次のコマンドで削除します。

sudo zfs destroy data@snap1

ZFSクローンの操作に使用されるコマンド

「data@snap1」というスナップショットがあると仮定して、次のようにクローンを作成します。

sudo zfs clone data@snap1 data/clone1

ZFSスナップショットとクローンの使用方法

クローンを削除するには:

sudo zfs destroy data/clone3

また、クローンのスナップショットを作成することもできます。

sudo zfs snapshot data/clone2@snap_of_clone

将来、作成したすべてのスナップショットとクローンを記憶したい場合は、次を使用します。

zfs list -t all

ZFSスナップショットとクローンの使用方法

結論

これは、ZFSスナップショットとクローンで実行できるすべての基本的な操作をカバーしています。各データセットには、「。zfs」と呼ばれる隠しディレクトリがあることを知っておくと便利な場合があります。 ls /data/.zfs/snapshot/snap1/のようなコマンドを使用する 、スナップショットでファイルの状態を確認できます。通常の(読み取り専用)ディレクトリのように機能するため、スナップショット全体を元に戻す必要がない場合は、スナップショットから個々のファイルをコピーすることもできます。


  1. FedoraでFlatpakを有効にして使用する方法

    Fedora32とUbuntu20.04のリリースにより、Linuxユーザーは、喜びであろうと悲しみであろうと、パッケージのフォーマットに変化が見られました。 SnapやFlatpakのようなユニバーサルパッケージフォーマットが人気を博し始めており、私の意見では、正当な理由があります。これは、無料とプロプライエタリの両方の多種多様なソフトウェアにアクセスするための簡単でシンプルな方法であり、開発者向けのパッケージ化も簡単です。 ただし、特に新規ユーザーの場合、Linuxシステムを使い始めるのは混乱を招く可能性があります。ここでは、FedoraでFlatpakを使用する方法を学習しますが、手

  2. Excel でスパークラインを使用する方法

    Excel にデータのワークシートがあり、すぐにデータの傾向を確認したいと思ったことはありませんか?過去 5 年間の学生のテストの点数や会社の収益があり、Excel でグラフを作成すると時間がかかり、最終的にワークシート全体を使い果たしてしまうのではなく、1 つのセルにいくつかの小さなミニ グラフを表示します。 Excel 2010、2013、および 2016 には、基本的に単一の Excel セル内にミニチャートを作成できるスパークラインと呼ばれる優れた機能があります。スパークラインを任意のセルに追加して、データのすぐ隣に配置できます。このようにして、行ごとにデータをすばやく視覚化できま