LVMで「論理ボリュームのスナップショットと復元」を行う方法-パートIII


LVMスナップショットは、lvmボリュームのスペース効率の良いポインティングタイムコピーです。これはlvmでのみ機能し、ソース論理ボリュームからスナップショットボリュームに変更が加えられた場合にのみスペースを消費します。ソースボリュームに合計1GBの大幅な変更が加えられた場合、スナップショットボリュームにも同じ変更が加えられます。スペース効率を高めるために、常に小さなサイズの変更を行うのが最善です。スナップショットのストレージが不足した場合は、lvextendを使用して拡張できます。また、スナップショットを縮小する必要がある場合は、lvreduceを使用できます。

スナップショットの作成後に誤ってファイルを削除した場合でも、スナップショットには削除した元のファイルが含まれているため、心配する必要はありません。スナップショットの作成時にファイルが存在していた可能性があります。スナップショットボリュームを変更しないでください。スナップショットが高速リカバリを実行するために使用されている間はそのままにしてください。

スナップショットをバックアップオプションに使用することはできません。バックアップは一部のデータのプライマリコピーであるため、バックアップオプションとしてスナップショットを使用することはできません。

  1. Create Disk Storage with LVM in Linux – PART 1
  2. How to Extend/Reduce LVM’s in Linux – Part II
  1. Operating System – CentOS 6.5 with LVM Installation
  2. Server IP – 192.168.0.200

ステップ1:LVMスナップショットを作成する

まず、次の「 vgs 」コマンドを使用して、ボリュームグループの空き容量を確認し、新しいスナップショットを作成します。

# vgs
# lvs

ご覧のとおり、上記の vgs 出力には8GBの空き容量が残っています。それでは、 tecmint_datas という名前のボリュームの1つのスナップショットを作成しましょう。デモンストレーションの目的で、次のコマンドを使用して1GBのスナップショットボリュームのみを作成します。

# lvcreate -L 1GB -s -n tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas        

OR

# lvcreate --size 1G --snapshot --name tecmint_datas_snap /dev/vg_tecmint_extra/tecmint_datas

上記のコマンドは両方とも同じことをします:

  1. -s – Creates Snapshot
  2. -n – Name for snapshot

ここでは、上記で強調した各ポイントの説明を示します。

  1. Size of snapshot Iam creating here.
  2. Creates snapshot.
  3. Creates name for the snapshot.
  4. New snapshots name.
  5. Volume which we are going to create a snapshot.

スナップショットを削除する場合は、「 lvremove 」コマンドを使用できます。

#lvremove/dev/vg_tecmint_extra/tecmint_datas_snap

次に、次のコマンドを使用して、新しく作成されたスナップショットを一覧表示します。

# lvs

上記のように、スナップショットは正常に作成されました。スナップショットが作成された場所、その tecmint_datas から始まる矢印でマークしました。はい、 tecmint_datas l-volume のスナップショットを作成したためです。

tecmint_datas にいくつかの新しいファイルを追加しましょう。現在、ボリュームには約650MBのデータがあり、スナップショットサイズは1GBです。したがって、スナップボリュームの変更をバックアップするのに十分なスペースがあります。ここでは、以下のコマンドを使用してスナップショットのステータスを確認できます。

# lvs

ご覧のとおり、スナップショットボリュームの 51%が現在使用されており、ファイルをさらに変更しても問題はありません。詳細については、コマンドを使用してください。

# lvdisplay vg_tecmint_extra/tecmint_data_snap

繰り返しになりますが、上の写真で強調表示されている各ポイントの明確な説明は次のとおりです。

  1. Name of Snapshot Logical Volume.
  2. Volume group name currently under use.
  3. Snapshot volume in read and write mode, we can even mount the volume and use it.
  4. Time when the snapshot was created. This is very important because snapshot will look for every changes after this time.
  5. This snapshot belongs to tecmint_datas logical volume.
  6. Logical volume is online and available to use.
  7. Size of Source volume which we took snapshot.
  8. Cow-table size = copy on Write, that means whatever changes was made to the tecmint_data volume will be written to this snapshot.
  9. Currently snapshot size used, our tecmint_datas was 10G but our snapshot size was 1GB that means our file is around 650 MB. So what its now in 51% if the file grow to 2GB size in tecmint_datas size will increase more than snapshot allocated size, sure we will be in trouble with snapshot. That means we need to extend the size of logical volume (snapshot volume).
  10. Gives the size of chunk for snapshot.

それでは、 tecmint_datas にある1GBを超えるファイルをコピーしてみましょう。どうなるか見てみましょう。これを行うと、「入力/出力エラー」というエラーメッセージが表示されます。これは、スナップショットの容量が不足していることを意味します。

論理ボリュームがいっぱいになると、自動的に削除され、スナップショットボリュームのサイズを拡張しても使用できなくなります。スナップショットの作成時に同じサイズのソースを使用することをお勧めします。 tecmint_datas のサイズは10Gでした。10GBのスナップショットサイズを作成した場合、十分なスペースがあるため、上記のようにオーバーフローすることはありません。ボリュームのスナップを取ります。

ステップ2:LVMでスナップショットを拡張する

オーバーフローする前にスナップショットサイズを拡張する必要がある場合は、を使用して拡張できます。

# lvextend -L +1G /dev/vg_tecmint_extra/tecmint_data_snap

これで、スナップショット用に合計2GBのサイズがありました。

次に、次のコマンドを使用して、新しいサイズとCOWテーブルを確認します。

# lvdisplay /dev/vg_tecmint_extra/tecmint_data_snap

スナップボリュームのサイズと使用量を知るには

# lvs

ただし、同じサイズのソースボリュームのスナップショットボリュームがある場合は、これらの問題について心配する必要はありません。

ステップ3:スナップショットの復元またはマージ

スナップショットを復元するには、最初にファイルシステムをアンマウントする必要があります。

# unmount /mnt/tecmint_datas/

マウントポイントがマウントされていないかどうかを確認するだけです。

# df -h

ここではマウントがアンマウントされているため、スナップショットの復元を続行できます。コマンド lvconvert を使用してスナップを復元します。

# lvconvert --merge /dev/vg_tecmint_extra/tecmint_data_snap

マージが完了すると、スナップショットボリュームは自動的に削除されます。これで、 df コマンドを使用してパーティションのスペースを確認できます。

# df -Th

スナップショットボリュームが自動的に削除された後。論理ボリュームのサイズを確認できます。

# lvs

重要:スナップショットを自動的に拡張するには、confファイルの変更を使用して拡張できます。手動の場合、lvextendを使用して拡張できます。

選択したエディターを使用してlvm構成ファイルを開きます。

# vim /etc/lvm/lvm.conf

自動拡張という単語を検索します。デフォルトでは、値は次のようになります。

ここで 100 75 に変更します。その場合、自動拡張しきい値が 75 で、自動拡張パーセントが 20 の場合、サイズを 20パーセント拡大します

スナップショットボリュームが 75%に達すると、スナップボリュームのサイズが自動的に 20%拡大します。したがって、自動的に拡張できます。 wq!を使用してファイルを保存して終了します。

これにより、オーバーフロードロップからスナップショットが保存されます。これは、より多くの時間を節約するのにも役立ちます。 LVMは、シンプロビジョニング、ストライピング、仮想ボリュームなどの多くの機能をさらに拡張できる唯一のパーティション方式です。シンプールを使用して、次のトピックでそれらを見てみましょう。

全著作権所有。 © Linux-Console.net • 2019-2022