Verifique se o disco FibreChannel está montado em algum outro lugar

0

Eu tenho dois servidores RHEL 6.5. Cada um tem acesso ao mesmo FibreChannel LUN com multipathing e LVM - digamos /dev/mapper/vg0-lv_shared .

lv_shared pode ser montado em server1 ou server2 mas não em ambos simultaneamente. Eu não posso usar serviços de cluster, então estou trabalhando em um script simples.

É possível verificar no servidor1 se o servidor2 possui o lv_shared montado, caso não haja conexão SSH entre os servidores?
Em outras palavras - Como posso verificar se o disco disponível para o servidor1 está montado em algum outro lugar?

    
por onio 26.12.2015 / 21:25

1 resposta

1

Isso é comumente feito através de tags LVM (disponíveis desde o LVM2). Aqui está um pequeno exemplo para demonstrá-los:

Suponha que você tenha um VG chamado "vg01" com 2 LVs "lvtest" e "lvother":

[root@centos ~]# lvs vg01
  LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lvother vg01 -wi------- 12.00m
  lvtest  vg01 -wi------- 12.00m

Agora você ativa as tags de host LVM:

[root@centos ~]# grep ^tags /etc/lvm/lvm.conf
tags { hosttags = 1 }

E defina um filtro de ativação com base no seu nome de host:

[root@centos ~]# cat /etc/lvm/lvm_centos.conf (centos.conf == hostname.conf)
activation { volume_list=["@centos"] }

Agora vamos verificar / definir / del algumas tags:

[root@centos ~]# lvs vg01 -o +tags
 LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert LV Tags
 lvother vg01 -wi------- 12.00m
 lvtest  vg01 -wi------- 12.00m

Atualmente não há tags definidas (última coluna)

Ativar o volume não funcionará:

[root@centos ~]# vgchange -ay /dev/vg01
 Not activating vg01/lvtest since it does not pass activation filter.
 Not activating vg01/lvother since it does not pass activation filter.
 0 logical volume(s) in volume group "vg01" now active

Vamos adicionar algumas tags e tentar novamente

[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvtest
 Logical volume "lvtest" changed.

[root@centos ~]# lvchange --addtag @centos /dev/vg01/lvother
 Logical volume "lvother" changed.

[root@centos ~]# lvs vg01 -o +tags
 LV      VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert LV Tags
 lvother vg01 -wi------- 12.00m                                              centos
 lvtest  vg01 -wi------- 12.00m                                              centos

[root@centos ~]# vgchange -ay /dev/vg01
 2 logical volume(s) in volume group "vg01" now active

Melhor. ; -)

Portanto, no seu caso, você deve apenas definir uma tag no lv_shared com o nome do host do servidor que deve montar o LV.

    
por 26.12.2015 / 23:41

Tags