Compreendendo o multipath e os mountpoints

5

Acabei de conhecer o multipathing em nosso ambiente de produção e nunca ouvi falar do conceito antes. Depois de algumas pesquisas, acho que estou começando a entender como o conceito funciona em teoria, mas estou tendo problemas para extrapolar isso para o que estou vendo na caixa em que estou trabalhando.

De multipath -ll eu recebo saída como:

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

De fdisk -l eu sei que esses são todos discos de 60GB, com a mesma configuração de partição:

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

O que é confuso para mim é como as partições são montadas no servidor:

$ 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

Apenas considerando / boot por agora: ele é montado em mpath0p1, eu posso ver isso. Mas como isso corresponde ao disco físico / LVM por trás do multipath?

    
por Greg Miller 20.02.2017 / 20:07

2 respostas

3

Seu dispositivo com vários caminhos é apenas uma abstração de vários caminhos para um disco. Portanto, o relacionamento correspondente sobre o qual você está perguntando é que o dispositivo mpathN é o mesmo que o dispositivo subjacente na extremidade do tecido que você tem.

Como você viu, é possível visualizar a tabela de partições no dispositivo mpath e seus membros constituintes e ver o mesmo layout.

Algumas pessoas vêem uma semelhança entre os conceitos de multipath e RAID1. Eles não estão relacionados, mas achei uma comparação útil. Os dispositivos subjacentes de um dispositivo multipath não são cópias duplicadas como no RAID1. Eles são apenas anexos paralelos ao mesmo disco / LUN, geralmente remoto.

Em relação à sua pergunta sobre como as partições são montadas, elas são montadas como poderiam ser sem multipath (presumindo que os dispositivos não são codificados no fstab e no lvm.conf). Então você tem mpath0p1 montado em /boot . No seu caso - se esses dispositivos não foram gerenciados por multipathd - isso é o mesmo que a montagem /dev/sda1 at /boot (e no seu exemplo, sdi1, sdd1 ou sdl1 podem ser substituídos por sda1). A diferença é que, se sua conexão de fibra (ou qualquer outra) que apresenta sda1 for desconectada, seu disco ainda estará acessível, usando o driver multipath, via sdd, sdi e sdl.

Nesse caso, você tem a primeira partição do disco remoto mpath0 montado em /boot , a primeira partição do disco mpath2 at /u02 . A segunda partição na sua saída fdisk de sda é marcada como uma partição física LVM. Presumivelmente, isso contém o grupo de volumes VolGroup00 e, por sua vez, o volume lógico LogVol00 , que é montado em /

    
por 20.02.2017 / 21:40
4

você tem três níveis de abstração

(physical device) <= paths => (unix devices)

você tem quatro caminhos do dispositivo 36000d3100088060000000000000000b9 para o dispositivo unix real. Como você não especifica um nome em /etc/multipath.conf, um mpathX foi dado a você.

(unix devices) <= partitions => (partitions)

daqui uma das partições (a primeira) é /boot (/ dev / sda1), e outras são usadas como VG (grupo de volumes no paradigma LVM) /dev/sda2 usado como VolGroup0 .

Você tem pelo menos 3 dispositivos (porque o segundo dispositivo é sdd e um disco de 60G não pode ser dividido em 493G).

Eu acho que você tem um 60G que dá /boot e VolGroup0 , então pelo menos um ~ 493 G volume, cuja partição completa é /u02 e dois outros dispositivos.

    
por 20.02.2017 / 21:48