LVMタイプraid1とThinpoolを使用できますか?

LVMタイプraid1とThinpoolを使用できますか?

LVM を使用する mdadm raid から純粋な LVM にインストールを移行するため、元の raid パーティションを LVM グループに別のパーティションとして追加します。

# lvcreate -L 240G -n thin pve /dev/nvme0n1p2
  Logical volume "thin" created.

次に、別のディスク/パーティションにミラーを追加します。

# lvconvert --type raid1 --mirrors 1 pve/thing /dev/nvme1n1p2
  Logical volume pve/thin successfully converted.

LXC用のシンプールストレージシステムを使用すると、それをシンプールに変換できると仮定します。

# lvconvert --type thin-pool pve/thin
  Converted pve/thin to thin pool.

すべてがうまくいくようですが、問題は、最後の変換が以前の変換に影響するかどうかわからないことです。その理由は、リストを作成すると次のような結果がlvs得られるためです。

 thin           pve  twi-a-tz--  240,00g                 0,00   10,42

プロパティ1と7はこれがThinpoolであることを示していますが、raid1や同期された値への言及はありません。

lvs -a -o +devices2つのパーティションにミラーリングされているとマークされていますが、

  [thin_tdata]              pve  rwi-aor---  240,00g                                        24,17            thin_tdata_rimage_0(0),thin_tdata_rimage_1(0)
  [thin_tdata_rimage_0]     pve  iwi-aor---  240,00g                                                         /dev/nvme0n1p2(67074)                  
  [thin_tdata_rimage_1]     pve  Iwi-aor---  240,00g                                                         /dev/nvme1n1p2(67075)                  
  [thin_tdata_rmeta_0]      pve  ewi-aor---    4,00m                                                         /dev/nvme0n1p2(128514)                 
  [thin_tdata_rmeta_1]      pve  ewi-aor---    4,00m                                                         /dev/nvme1n1p2(67074)                  
  [thin_tmeta]              pve  ewi-ao----  120,00m                                                         /dev/sdd2(0)                 

今の問題は、シンプール「背面」でRAIDがまだ機能しているのか、それとも今割り当てられていますが、今は使用されていないのかということです。仮想プールを作成してそれを--raid1型に変換すると、エラーが返されます。

lvsこのシナリオに関するドキュメントが見つからず、typeを返してドライブの状態を監視する予定なので、これが機能しているかどうかlvm-raidの状態を監視する方法がわかりませんr

ベストアンサー1

はい、RAID 1を使用する仮想プールを使用することが可能であり、設定はほぼ正確です。問題は、メタデータがRAID 1ではなくリニアであるため、ドライブを紛失した後に仮想プールが破損することです。メタデータ用に別々のRAID 1 LVを作成した後、--poolmetadata <vg>/<metadata lv>RAID LVをシンプールに変換するときに使用する必要がありますlvconvert

バラよりlvmthin マンページ部分Raidを使用してデバイスエラーを許可する詳細については。

マニュアルページの例:

   # lvcreate --type raid1 -m 1 -n pool0 -L 10G vg /dev/sdA /dev/sdB
   # lvcreate --type raid1 -m 1 -n pool0meta -L 1G vg /dev/sdC /dev/sdD
   # lvconvert --type thin-pool --poolmetadata vg/pool0meta vg/pool0

この設定で出力しますlvs -a

$ sudo lvs raid_test -a
  LV                     VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  [lvol0_pmspare]        raid_test ewi-------  12,00m                                                    
  pool0                  raid_test twi-a-tz-- 100,00m             0,00   10,29                           
  [pool0_tdata]          raid_test rwi-aor--- 100,00m                                    100,00          
  [pool0_tdata_rimage_0] raid_test iwi-aor--- 100,00m                                                    
  [pool0_tdata_rimage_1] raid_test iwi-aor--- 100,00m                                                    
  [pool0_tdata_rmeta_0]  raid_test ewi-aor---   4,00m                                                    
  [pool0_tdata_rmeta_1]  raid_test ewi-aor---   4,00m                                                    
  [pool0_tmeta]          raid_test ewi-aor---  12,00m                                    100,00          
  [pool0_tmeta_rimage_0] raid_test iwi-aor---  12,00m                                                    
  [pool0_tmeta_rimage_1] raid_test iwi-aor---  12,00m                                                    
  [pool0_tmeta_rmeta_0]  raid_test ewi-aor---   4,00m                                                    
  [pool0_tmeta_rmeta_1]  raid_test ewi-aor---   4,00m

属性出力の問題は、lvs最初のビットだけがLVタイプを指定するために使用されることです。 LV(r)aid(t)hin poolシーンプールの両方が勝利しているように見え、そこにのみ行くことができますt

おすすめ記事