以前のチュートリアルでは、LVMボリュームの実装を見てきました ホストのスペースを管理するために非常に有益な場合があります。
論理ボリューム管理 レイヤーは、システムの実行中にスペースを自由に追加または削除するために使用できるAPIを公開します。
ただし、システム管理者にとって非常に有益なLVMによって公開される別の重要な機能があります。LVMスナップショット。
コンピュータサイエンスでは、スナップショットは、ある特定の時点でのシステムの状態を説明するために使用されます。
このチュートリアルでは、LVMスナップショットを簡単に実装する方法を確認します。 。
また、スナップショットを使用してファイルシステム全体をバックアップする方法についても説明します。 自由に復元できます。
前提条件
LVMスナップショットを作成するには、明らかに、システム上に少なくとも論理ボリュームを作成する必要があります。
これが当てはまるかどうかわからない場合は、「lvs」コマンドを実行して、既存の論理ボリュームを表示できます。
$ lvs

この状況では、システム上に3GBの論理ボリュームが作成されています。
ただし、3 GBの論理ボリュームがあるからといって、必ずしもシステム全体が使用されているとは限りません。
論理ボリュームの実際のサイズを確認するには、「df」コマンドを使用して使用済みディスク容量を確認できます。
$ df -h
注 :使用されているスペースを確認するには、論理ボリュームをマウントする必要があります。
論理ボリュームまたはパーティションのマウントについて不明な点がある場合は、ファイルシステムのマウントに関するチュートリアルを確認してください。

ここに表示されているように、論理ボリュームの容量は3 GBですが、ファイルシステムで使用されるのは3.1MBのみです。
例として、サーバーの/etcフォルダーをバックアップするとします。
$ cp -R /etc /mnt/lv_mount
構成フォルダーが論理ボリュームにコピーされたので、このファイルシステムのLVMスナップショットを作成する方法を見てみましょう。
lvcreateを使用したLVMスナップショットの作成
論理ボリュームのLVMスナップショットを作成するには、「snapshot」の「-s」オプションを指定して「lvcreate」コマンドを実行し、サイズと名前を指定して「-L」オプションを実行する必要があります。論理ボリューム。
オプションで、「-n」オプションを使用してスナップショットの名前を指定できます。
$ lvcreate -s -n <snapshot_name> -L <size> <logical_volume>

注 :「 snapshot」を含むスナップショット名を作成することはできません 」は予約済みのキーワードであるため、名前に含まれています。
また、スナップショットはデフォルトで同じボリュームグループに作成されるため、ボリュームグループに十分な空き容量があることを確認する必要があります。
スナップショットが作成されたので、「lvs」コマンドまたは「lvdisplay」コマンドを直接実行してスナップショットを検査できます。
$ lvs
$ lvdisplay <snapshot_name>

ご覧のとおり、論理ボリュームには、元の論理ボリュームとは異なる属性のセットがあります:
- s :スナップショットの場合、「o」はスナップショットにコピーされた元の論理ボリュームの起点を意味します。
- w :書き込み可能とは、スナップショットに読み取りおよび書き込み権限があることを意味します。
- i :「継承」の場合;
- a :「割り当て済み」の場合、実際のスペースがこの論理ボリューム専用であることを意味します。
- o :(6番目のフィールド)は、論理ボリュームがマウントされていることを示す「オープン」を意味します。
- s :両方の論理ボリュームのスナップショットターゲットタイプ
これで、スナップショット論理ボリューム が作成されたら、ファイルシステムのバックアップを実行するためにマウントする必要があります。
マウントを使用したLVMスナップショットのマウント
LVMスナップショットをマウントするには、「mount」コマンドを使用して、論理ボリュームへのフルパスを指定し、使用するマウントポイントを指定する必要があります。
$ mount <snapshot_path> <mount_point>
例として、「 / dev / vg_1 / lvol0」をマウントするとします。 」から「/mnt / lv_snapshot 」システムのマウントポイント。
これを実現するには、次のコマンドを実行します:
$ mount /dev/vg_1/lvol0 /mnt/snapshot
「lsblk」コマンドを再度実行すると、取り付け操作が有効であることをすぐに確認できます。
$ lsblk

LVMスナップショットのバックアップ
スナップショットがマウントされたので、tarまたはrsyncコマンドのいずれかを使用してスナップショットのバックアップを実行できるようになります。
バックアップを実行する場合、基本的に2つのオプションがあります。ローカルコピーを実行できます。 、またはアーカイブをリモートバックアップサーバーに直接転送することを選択できます 。
ローカルLVMスナップショットバックアップの作成
LVMスナップショットをバックアップする最も簡単な方法は、「tar」コマンドを「create」の「-c」オプション、gzipファイルを作成する「z」オプション、および指定する「-f」とともに使用することです。宛先ファイル。
$ tar -cvzf backup.tar.gz <snapshot_mount>
この場合、スナップショットは「/ mnt / lv_snapshot」マウントポイントにマウントされるため、バックアップコマンドは次のようになります:
$ tar -cvzf backup.tar.gz /mnt/lv_snapshot
このコマンドを実行すると、現在の作業ディレクトリにバックアップが作成されます。
LVMスナップショットバックアップの作成と転送
場合によっては、LVMバックアップを定期的に保存するために使用できるバックアップサーバーを所有していることがあります。
このようなバックアップを作成するには、「rsync」コマンドを使用して、バックアップするファイルシステムと使用する宛先サーバーを指定します。
# If rsync is not installed already, you will have to install using apt
$ sudo apt-get install rsync
$ rsync -aPh <snapshot_mount> <remote_user>@<destination_server>:<remote_destination>
注 :Linuxでのファイル転送についてよくわからない場合は、このテーマについて作成したチュートリアルを確認してください。
例として、スナップショットが「/ mnt / lv_snapshot」にマウントされており、「192.168.178.33」IPアドレスにあるバックアップサーバーにスナップショットを送信するとします。
リモートバックアップサーバーに接続するには、「kubuntu」アカウントを使用し、ファイルを「/backups」フォルダーに保存することを選択します。
$ rsync -aPh /mnt/lv_snapshot [email protected]:/backups
論理ボリュームのスナップショットがバックアップされたので、オンデマンドで簡単に復元できます。

LVMスナップショットの復元
LVMがバックアップされたので、ローカルシステムに復元できるようになります。
LVM論理ボリュームを復元するには、「-mergesnapshot」オプションを指定して「lvconvert」コマンドを使用し、論理ボリュームスナップショットの名前を指定する必要があります。
「–mergesnapshot」を使用すると、スナップショットは元の論理ボリュームにマージされ、その直後に削除されます。
$ lvconvert --mergesnapshot <snapshot_logical_volume>
この場合、論理ボリュームのスナップショットの名前はlvol0であるため、次のコマンドを実行します
$ lvconvert --mergesnapshot vg_1/lvol0

お気づきかもしれませんが、両方のデバイス(元のデバイスとスナップショットを開いてマージ操作を成功させることはできません。
または、論理ボリュームを更新して、「lvchange」を使用して最新のメタデータを使用して再アクティブ化することもできます
$ lvchange --refresh vg_1/lv_1
マージ操作が成功した後、論理ボリュームが使用可能な論理ボリュームのリストから正常に削除されたことを確認できます。
$ lvs

完了!
論理ボリュームのスナップショット が削除され、変更が元の論理ボリュームにマージされました。
結論
このチュートリアルでは、LVMスナップショットについて学習しました 、それらが何であるか、およびファイルシステムをバックアップおよび復元するためにそれらをどのように使用できるか。
特に中規模から大規模の企業で作業している場合は、定期的にバックアップを作成することが不可欠です。
バックアップを作成し、それらを復元できる 簡単に、システムでの主要なデータ損失を防ぐことができるようにするための最良の方法です。
Linuxシステム管理に興味がある場合 、ウェブサイトにはそれ専用の完全なセクションがありますので、ぜひチェックしてください!