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 +devices두 개의 파티션에 미러링되는 것으로 표시되지만 :

  [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.

관련 정보