방금 프로덕션 환경에서 다중 경로 지정에 대해 배웠지만 이전에는 그 개념을 들어본 적이 없었습니다. 좀 더 조사한 후에 이 개념이 이론적으로 어떻게 작동하는지 이해하기 시작한 것 같지만, 제가 개발 중인 상자에서 보고 있는 내용으로 이를 추론하는 데 약간의 어려움이 있습니다.
multipath -ll에서 다음과 같은 출력을 얻습니다.
mpath0 (36000d3100088060000000000000000b9) dm-0 COMPELNT,Compellent Vol
size=60G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 0:0:0:0 sda 8:0 active ready running
|- 0:0:1:0 sdd 8:48 active ready running
|- 1:0:0:0 sdi 8:128 active ready running
`- 1:0:1:0 sdl 8:176 active ready running
fdisk -l을 통해 두 디스크가 모두 동일한 파티션 설정을 가진 60GB 디스크라는 것을 알았습니다.
Disk /dev/sda: 64.4 GB, 64424509440 bytes
255 heads, 63 sectors/track, 7832 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 7832 62806117+ 8e Linux LVM
그러나 나를 혼란스럽게 하는 것은 파티션이 실제로 서버에 마운트되는 방식입니다.
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
30G 26G 3.8G 87% /
/dev/mapper/mpath0p1 99M 49M 46M 52% /boot
tmpfs 16G 232M 16G 2% /dev/shm
/dev/mapper/mpath2p1 493G 226G 242G 49% /u02
이제 /boot를 고려해 보십시오. mpath0p1에 마운트되며 이 정도를 볼 수 있습니다. 그러나 이것이 다중 경로 뒤의 물리적 디스크/LVM과 어떻게 일치합니까?
답변1
다중 경로 장치는 디스크에 대한 다중 경로의 추상화일 뿐입니다. 따라서 귀하가 요구하는 대응은 mpathN 장치가 귀하가 보유한 패브릭의 맨 끝에 있는 기본 장치와 동일하다는 것입니다.
보시다시피 mpath 장치의 파티션 테이블과 해당 구성 요소를 보면 동일한 레이아웃을 볼 수 있습니다.
어떤 사람들은 다중 경로 지정과 RAID1의 개념이 유사하다고 생각합니다. 서로 관련은 없지만 유용한 비교라고 생각합니다. 멀티패스 장치의 기본 장치는 RAID1의 중복 복사본이 아닙니다. 이는 동일한 디스크/LUN(일반적으로 원격 디스크/LUN)에 대한 병렬 연결입니다.
파티션 마운트 방법에 대한 질문과 관련하여, 파티션은 다중 경로 없이 마운트되는 것과 동일한 방식으로 마운트됩니다(장치가 fstab 및 lvm.conf에 하드코딩되어 있지 않다고 가정). 그래서 당신은 이미 mpath0p1
마운트하고 있습니다. 귀하의 경우 - 이러한 장치가 multipathd에 의해 관리되지 않는 경우 이는 /boot
마운트와 동일합니다(귀하의 예에서는 sdi1, sdd1 또는 sdl1이 sda1을 대체할 수 있음). 차이점은 광섬유(또는 임의) 연결(표시된 sda1)이 중단되더라도 다중 경로 드라이버를 사용하여 sdd, sdi 및 sdl을 통해 디스크에 계속 액세스할 수 있다는 것입니다./dev/sda1
/boot
이 경우 mpath0
원격 디스크의 첫 번째 파티션을 에 마운트하고 /boot
, 디스크의 첫 번째 파티션을 mpath2
에 마운트합니다 /u02
. sda에 대한 fdisk 출력의 두 번째 파티션은 LVM 물리 파티션으로 표시됩니다. 아마도 여기에는 볼륨 그룹 VolGroup00
과 논리 볼륨이 포함되어 있을 것입니다 LogVol00
./
답변2
세 가지 수준의 추상화가 있습니다.
(물리적 장치) <= 경로=> (유닉스 장치)
36000d3100088060000000000000000b9
장치에서 실제 UNIX 장치까지 네 가지 경로가 있습니다. /etc/multipath.conf에 이름을 지정하지 않았으므로 mpathX가 제공됩니다.
(유닉스 장치) <= 파티션=> (파티션)
이제부터 파티션 중 하나(첫 번째 파티션)는 /boot
(/dev/sda1)이고 나머지 파티션은 /dev/sda2
처럼 VG(LVM 패러다임의 볼륨 그룹)로 사용됩니다 VolGroup0
.
장치가 3개 이상 있습니다(두 번째 장치는 sdd이므로 60G 디스크를 493G로 분할할 수 없습니다).
/boot
프로비저닝할 수 있는 60G 공간 과 VolGroup0
완전히 분할된 최소 ~493G 볼륨 /u02
및 두 개의 다른 장치가 있다고 추측합니다 .