UbuntuでLVMスナップショットを使用するにはどうすればよいですか?


19

これらのオプションを使用してUbuntuをインストールしました。

  • ディスクを消去してUbuntuをインストールします
  • 新しいUbuntuインストールを暗号化する
  • LVMを使用する

必要なときにシステムの変更を元に戻すことができるように、LVMスナップショットを作成するにはどうすればよいですか?

回答:


22

注:すべてのコマンドは sudo

まず、ルートボリュームのサイズを小さくして、スナップショットボリューム用のスペースを確保します。

  • Live CDから起動
  • fdisk -l デバイスの名前を表示します。
    デバイス開始終了セクターサイズタイプ
    / dev / sda1 2048 1050623 1048576 512M EFIシステム
    / dev / sda2 1050624 2050047 999424 488M Linuxファイルシステム
    / dev / sda3 2050048 500117503 498067456 237.5G Linuxファイルシステム
    
    /dev/sda3 私の場合
  • cryptsetup luksOpen /dev/sda3 crypt1 ボリュームを復号化する
  • vgscan --mknodes すべてのボリュームグループを見つける
    すべての物理ボリュームを読み取ります。これは時間がかかる場合があります...
    メタデータタイプlvm2を使用してボリュームグループ「ubuntu-vg」が見つかりました
    
  • vgchange -ay すべてのボリュームグループをアクティブにする
    ボリュームグループ「ubuntu-vg」内の2つの論理ボリュームがアクティブになりました
    
  • lvreduce -r -L -20G /dev/ubuntu-vg/rootルートボリュームのサイズを20 Gb削減します。これにはしばらく時間がかかる場合があります(私には約4分かかりました)。
    そのスペースは、後でLVMスナップショットを作成するために使用されます。
  • vgs 実際に20Gの空き容量があることを確認します
    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 2 0 wz--n- 230.44g 20.01g
    
  • reboot Live CDを削除する

スナップショットを作成します(つまり、「実験」モードをアクティブにします)

システムで何か危険なことをしたいときはいつでも、次のコマンドを実行してください

  • lvcreate -s -n snap -L 20G /dev/ubuntu-vg/root
    注:/dev/ubuntu-vg/rootは、スナップショットを取得する論理ボリュームです
  • lvs ボリュームが作成されたことを確認する
    LV VG Attr LSize Pool Origin Data%Meta%Move Log Cpy%Sync Convert
    ルートubuntu-vg owi-aos --- 201.59g                                                    
    snap ubuntu-vg swi-as --- 20.00gルート0.00                                   
    swap_1 ubuntu-vg -wi-ao ---- 15.90g
    
    スナップショットは、実行した瞬間からアクティブになりますlvcreate。これで新しいことを試すことができます。

シナリオ#1:変更を元に戻したい

  • lvconvert --merge /dev/mapper/ubuntu--vg-snap
    論理ボリュームubuntu-vg / rootには使用中のファイルシステムが含まれています。
    オープンオリジンボリューム上でマージできません。
    スナップショットubuntu-vg / snapのマージは、ubuntu-vg / rootの次回のアクティブ化で発生します。
    
  • reboot

シナリオ#2:変更を保持したい

  • lvremove /dev/mapper/ubuntu--vg-snap

結論として

基本的にlvcreate、プロセスを開始するには実行するlvconvert --merge必要lvremoveがあります。その後、実行または終了する必要があります。

スナップショットがアクティブな場合、コピーオンライト戦略により、すべての変更が20Gbのスペース(または設定した値)に保存されることに注意してください。残りの容量を確認する1つの方法は、lvsコマンドのData%列を調べることです。


聞いて良かった:)ありがとう@ cl-netbox
Aleksandr Gornostal

lvreduceコンテナで実行する前にファイルシステムを縮小する必要はありませんか?
マーク

@マーク-rフラグはそれを行います
アレクサンドルゴルノシュタル

lvconvert --mergeファイルシステムがマウントされているときに実行しても安全ですか、それともLiveCDから実行する必要がありますか?
CharlesB

1
それはのは、マウントされたときにはい@CharlesB、あなたはそれを実行する必要があります
アレクサンドルGornostal
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.