LVMは起動時にスナップショットソースのマージが完了するのを待つことができますか?

LVMは起動時にスナップショットソースのマージが完了するのを待つことができますか?

LVMとスナップショットを使用する製品があります。基本インストールを作成したら、次のようにパーティションスナップショットを作成します。

lvcreate -L 15G -s -n lv_root_gold /dev/vg_sys/lv_root
lvcreate -L 15G -s -n lv_home_gold /dev/vg_sys/lv_home
lvcreate -L 1G -s -n lv_services_gold /dev/vg_sys/lv_services

私のシステムでは、ほとんどのソフトウェアは/servicesにインストールされているlv_services lvにインストールされます。これにより、lv_services_goldスナップショットに多くの変更が行われます。

ソフトウェアアップデートを展開するときは、システム全体を初期スナップショットにロールバックします。すべてのコンピュータが同じ状態でインストールされていることを確認するためにこれを行います。再起動したら、「元の」状態のボックスの新しいスナップショットを撮り、新しいソフトウェアのインストールに進みます。

以下を使用してシステムをロールバックするとき:

lvconvert --merge -y /dev/vg_sys/lv_root_gold
lvconvert --merge -y /dev/vg_sys/lv_services_gold
lvconvert --merge -y /dev/vg_sys/lv_home_gold

すべてのパーティションがマウントされているため、再起動が必要です。ただし、再起動すると、パーティションの1つがAtr(O)riginに保持され、スナップショットがマージされます。

  LV                 VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home            vg_sys -wi-ao----  15.00g                                                    
  lv_services        vg_sys Owi-aos---   1.00g             0.00  
  lv_root            vg_sys -wi-ao----  20.00g                                                    

"lvdisplay vg_sys/lv_services_gold"コマンドは、マージのためにスナップショットがまだ存在することを示します。ただし、スナップショットはlvsコマンドでは表示されません。

システムの起動時にスナップショットを完全にマージし、システムがオンラインになった後に「O」属性を防ぐためにブロックするように「lvconvert」に指定できる修飾子はありますか?再起動すると、lv_services LVは「オリジナルがスナップショットとマージされる」モードではなくなりました。

この時点で私の解決策は、システムの起動時にスナップショットがあったことを確認することです。それ以外の場合は、LVが「O」状態であることを確認してください。その場合は、すべてのLVが「マージされたスナップショットを含むソース」になるまで再起動してください。その後、新しいスナップショットを撮ってソフトウェアをインストールします。繰り返し再起動を避けたいです。

ベストアンサー1

質問を投稿してすぐに答えを見つけました。 lvs がマージ状態を報告すると、「Data%」列の値が 0.00 に低下します。 [O]マージされたスナップショットフィールドを持つriginは、次のコマンドを実行して消去できます。

lvchange --refresh <<VG_NAME>>

はい(lvconvert --mergeおよび再起動後の初期lvsコマンド):

root@testbox:~# lvs
  LV                 VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_services        vg_sys Owi-aos---   1.00g             0.00  

root@testbox:~# lvchange --refresh vg_sys
root@testbox:~# lvs
  LV                 VG         Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_services        vg_sys -wi-ao----   1.00g  

おすすめ記事