SSD 2개와 HDD 4개 및 해당 PV( /dev/ssd1
, /dev/ssd2
, /dev/hdd1
~ /dev/hdd4
)가 주어졌습니다.
알아요. 식별자가 정확하지 않습니다. 이는 단지 제가 말하는 장치를 더 쉽게 추적할 수 있도록 하기 위한 것입니다.
내가 원하는 건
- 모든 하드 드라이브는 RAID10 어레이를 형성합니다.
- 이 RAID10에는 LVM 가상 풀이 있습니다.
- 모든 SSD는 RAID1 어레이를 형성합니다.
- 가상 풀의 메타데이터가 이 RAID1에 상주하도록 만듭니다.
내가 뭘 한거지
- 모든 물리적 PV를 포함하는 VG 생성
vgcreate appdata /dev/sdd1 /dev/sdd2 /dev/hdd1 /dev/hdd2 /dev/hdd3 /dev/hdd4
- 2개의 LV를 생성합니다. 하나는 메타데이터용이고 다른 하나는 데이터용입니다.
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
- 변환 기반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
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 맨페이지에 설명되어 있습니다.