LVMで読み取り専用のスナップショットを作成し、いくつかの作業の後にそれにロールバックする方法は?


12

LVMで使用したいコマンドは何ですか?

  1. ボリュームの読み取り専用のスナップショットを作成します。
  2. (ボリュームでいくつかの実験を行います);
  3. ボリュームをスナップショットにロールバックしますか?

回答:


11

あなたが探していると思いますlvconvert --merge。manページから:

- マージ

スナップショットを元のボリュームにマージします。カーネルがこの機能をサポートしているかどうかを確認するにsnapshot-mergeは、の出力を 探しますdmsetup targets。元のボリュームとスナップショットボリュームの両方が開いていない場合、マージはすぐに開始されます。それ以外の場合、マージは、起点またはスナップショットのいずれかが初めてアクティブ化され、両方が閉じられたときに開始されます。スナップショットを閉じることができないオリジン(ルートファイルシステムなど)にマージすることは、次にオリジンボリュームがアクティブ化されるまで延期されます。マージを開始すると、結果の論理ボリュームには、オリジンの名前、マイナー番号、およびUUIDが含まれます。
マージの進行中、オリジンへの読み取りまたは書き込みは、マージされるスナップショットに向けられたものとして表示されます。マージが完了すると、マージされたスナップショットは削除されます。 コマンドラインで複数のスナップショットを指定するか、@ tagを使用して、複数のスナップショットをそれぞれのオリジンにマージすることを指定できます。

/ファイルシステムを含む論理ボリュームvg0 / systemがあるとします。

# create a read-only snapshot
lvcreate -pr --snapshot --name system_snapshot vg0/system
# upgrade or something
# if it fails, reboot and do this from a livecd
lvconvert --merge vg0/system_snapshot
# reboot again and you have your old system back

このシナリオではファイルシステムをマウント解除できないため、再起動が必要になるのは、この場合のみです。/ fsでない場合は、アンマウントで十分です。

スナップショットはマージ後に削除されることに注意してください。


答えてくれてありがとう!-pr--permission r)オプションをlvcreateに指定しない場合、スナップショットはデフォルトで読み取り専用になりますか?(LVMは書き込み可能なスナップショット許可しますか?はいの場合、一時的な実験はメインボリュームに表示されず、一時的な書き込み可能なスナップショットで実行されるという代替シナリオが考えられます。)
imz-Ivan Zakharyaschev

1
デフォルトはRWです。
stribika

3
ライブCDからマージを行うべきではありません。コマンドを発行すると、再起動後に自動的にマージされます。
Hanan N.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.