RAID10のLVM仮想プール+ RAID1のメタデータ

RAID10のLVM仮想プール+ RAID1のメタデータ

SSD 2個とHDD 4個および該当PV( /dev/ssd1, /dev/ssd2, /dev/hdd1~ /dev/hdd4)が与えられました。

わかりました。識別子が正しくありません。これは、私が話しているデバイスを追跡しやすくするためです。

私が望むもの

  • すべてのハードドライブはRAID10アレイを形成します。
  • この RAID10 には LVM 仮想プールがあります。
  • すべてのSSDはRAID1アレイを形成します。
  • 仮想プールのメタデータがこのRAID1に常駐するようにします。

私がしたこと

  1. すべての物理PVを含むVGの作成
    vgcreate appdata /dev/sdd1 /dev/sdd2 /dev/hdd1 /dev/hdd2 /dev/hdd3 /dev/hdd4
    
  2. 2つのLVを作成します。 1つはメタデータ用、もう1つはデータ用です。
    lvcreate --type raid1 -m 1 -n ThinMetaAD -L 15G appdata /dev/ssd1 /dev/ssd2
    lvcreate --type raid10 -n ThinAD -L 465G appdata /dev/hdd1 /dev/hdd2 /dev/hdd3 /dev/hdd4
    
  3. 変換ベースLVシンマニュアル
    lvconvert --type thin-pool --poolmetadata appdata/ThinMetaAD appdata/ThinAD
    

私が得たもの

$ lsblk

NAME                              MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
ssd                                 8:0    0 223.6G  0 disk
└─ssd1                              8:1    0    16G  0 part
  ├─appdata-ThinAD_tmeta_rmeta_0  252:2    0     4M  0 lvm
  │ └─appdata-ThinAD_tmeta        252:6    0    15G  0 lvm
  │   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tmeta_rimage_0 252:3    0    15G  0 lvm
    └─appdata-ThinAD_tmeta        252:6    0    15G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm
hdd                                 8:16   0 465.8G  0 disk
└─hdd1                              8:17   0 465.8G  0 part
  ├─appdata-ThinAD_tdata_rmeta_0  252:7    0     4M  0 lvm
  │ └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
  │   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tdata_rimage_0 252:8    0   232G  0 lvm
    └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm
hdd                                 8:32   0 465.8G  0 disk
└─hdd2                              8:33   0 465.8G  0 part
  ├─appdata-ThinAD_tdata_rmeta_1  252:9    0     4M  0 lvm
  │ └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
  │   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tdata_rimage_1 252:10   0   232G  0 lvm
    └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm
hdd                                 8:48   0 465.8G  0 disk
└─hdd3                              8:49   0 465.8G  0 part
  ├─appdata-ThinAD_tdata_rmeta_2  252:11   0     4M  0 lvm
  │ └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
  │   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tdata_rimage_2 252:12   0   232G  0 lvm
    └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm
hdd                                 8:64   0 931.5G  0 disk
└─hdd4                              8:65   0   466G  0 part
  ├─appdata-ThinAD_tdata_rmeta_3  252:13   0     4M  0 lvm
  │ └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
  │   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tdata_rimage_3 252:14   0   232G  0 lvm
    └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm
ssd                           
└─ssd2                       259:5    0    16G  0 part
  ├─appdata-ThinAD_tmeta_rmeta_1  252:4    0     4M  0 lvm
  │ └─appdata-ThinAD_tmeta        252:6    0    15G  0 lvm
  │   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tmeta_rimage_1 252:5    0    15G  0 lvm
    └─appdata-ThinAD_tmeta        252:6    0    15G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm

質問

上記の設定が私が元々望んだ意味で正しいかどうか疑問に思います。特にpartition以下のように下の3つのレベルが心配です。

hdd                                 8:32   0 465.8G  0 disk
└─hdd2                              8:33   0 465.8G  0 part
>>├─appdata-ThinAD_tdata_rmeta_1  252:9    0     4M  0 lvm
>>│ └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
>>│   └─appdata-ThinAD            252:16   0   464G  0 lvm
  └─appdata-ThinAD_tdata_rimage_1 252:10   0   232G  0 lvm
    └─appdata-ThinAD_tdata        252:15   0   464G  0 lvm
      └─appdata-ThinAD            252:16   0   464G  0 lvm
  1. 私の設定は正しいですか?
  2. それ以外の場合は、目的の結果を得るためにどのような手順を実行する必要がありますか?私が望むもの

答え1

lsblk一般的なデバイス依存性のため、このように表示されます。複雑な設定では、これは物理ストレージと直接関係がない可能性があるため、「間違っている」ようです。

おそらくLVMツールはより明確な画像を提供できます。

# lvs --all --segments --options +seg_le_ranges appdata
  LV                      VG      Attr       #Str Type      SSize  LE Ranges                       
  ThinAD                  appdata twi-a-tz--    1 thin-pool  9.00g [ThinAD_tdata]:0-2303           
  [ThinAD_tdata]          appdata rwi-aor---    2 raid1      9.00g [ThinAD_tdata_rimage_0]:0-2303,[ThinAD_tdata_rimage_1]:0-2303
  [ThinAD_tdata_rimage_0] appdata iwi-aor---    1 linear     9.00g /dev/loop2001:1-2304            
  [ThinAD_tdata_rimage_1] appdata iwi-aor---    1 linear     9.00g /dev/loop2002:1-2304            
  [ThinAD_tdata_rmeta_0]  appdata ewi-aor---    1 linear     4.00m /dev/loop2001:0-0               
  [ThinAD_tdata_rmeta_1]  appdata ewi-aor---    1 linear     4.00m /dev/loop2002:0-0               
  [ThinAD_tmeta]          appdata ewi-aor---    2 raid1     92.00m [ThinAD_tmeta_rimage_0]:0-22,[ThinAD_tmeta_rimage_1]:0-22
  [ThinAD_tmeta_rimage_0] appdata iwi-aor---    1 linear    92.00m /dev/loop1001:1-23              
  [ThinAD_tmeta_rimage_1] appdata iwi-aor---    1 linear    92.00m /dev/loop1002:1-23              
  [ThinAD_tmeta_rmeta_0]  appdata ewi-aor---    1 linear     4.00m /dev/loop1001:0-0               
  [ThinAD_tmeta_rmeta_1]  appdata ewi-aor---    1 linear     4.00m /dev/loop1002:0-0               
  [lvol0_pmspare]         appdata ewi-------    1 linear    92.00m /dev/loop2001:2305-2327         

ループデバイス、/dev/loop100xメタデータ、データを使用して/dev/loop200xおおよその設定を試しました。出力には他のデバイスとサイズをリストする必要があります。

すべての tmeta コンテンツは /dev/loop1xxx にあり、すべての tdata コンテンツは /dev/loop2xxx にあるため、期待どおりに機能します。

pmspare(フルメタデータスペア)ボリュームは例外です。これについてはlvmthinのマンページで説明されています。

関連情報