Arquivo da tag: ocfs2

Criando um disco de uso compartilhado no VMware usando Raw Device Mapping

Caso você precise utilizar um disco compartilhado (usando os sistemas de arquivos GFS ou OCFS2) no VMware deverá criar discos do tipo Raw Device Mapping. O VMware possui um método de criação de discos compartilhados que utiliza SCSI Bus Sharing que não é confiável quando utilizado com GFS ou OCFS2 e não dever ser usado.

Antes do procedimento, deve ser entendido como o VMware aloca os discos que estarão disponíveis para as máquinas virtuais:

Método 1: Você formata uma partição como VMFS no seu host VMware e cria os arquivos, que serão os discos das máquinas virtuais, dentro desta partição. Talvez o acesso a disco não seja tão rápido quanto o método 2 mas lhe dá muita flexibilidade para mover a máquina virtual para onde quiser.

Método 2: Você entrega para a máquina virtual a partição inteira e ela cria suas partições. Eu não testei, mais acredito que este tipo de alocação seja mais performático que o método 1. A desvantagem é não poder mover facilmente a máquina virtual para outro disco ou storage facilmente.

Este procedimento explica como criar discos compartilhados utilizando o método 2 (Raw Device Mapping).

Crie uma lun no seu storage, conforme procedimento fornecido pelo seu fabricante, e mapeie a mesma para o seu host VMware ESX.

Se tudo correr bem, ela será reconhecida e aparecerá em Configuration, Storage Adapters, vmhbaX (sendo X o número da hba na qual você mapeou a LUN). Na figura abaixo foram criadas 2 luns de 10 GB:

Uma vez que a LUN foi reconhecida pelo VMware, você poderá “entregá-la” para as máquinas virtuais que a utilizarão. Edite a máquina virtual e adicione um novo disco. Escolha o tipo Raw Device Mappings:

Selecione a LUN que será destinada à máquina virtual e clique em Next:

Selecione a opção Store with Virtual Machine e clique em Next:

Na tela seguinte deixe marcada a opção Physical e clique em Next:

Selecione o ID SCSi para o novo disco. Coloque um ID diferente do disco de sistema. Por exemplo: O disco de sistema é ID 0:0 e o /var é 0:1. Então atribuia a este disco o ID 1:0. Isso fará que uma nova controladora seja adicionada a sua máquina virtual. Depois de atribuído o ID, clique em Next para continuar e confirme a criação do disco.

Depois de adicionar o disco, clique na controladora recém-criada e altere a opção SCSI Bus Sharing para Physical.

O procedimento termina aqui. O problema é que o VMware só deixa adicionar a LUN Raw Device em somente uma máquina virtual, talvez para proteger o próprio usuário evitando a adição do disco em mais de uma máquina virtual. Para poder adicionar a LUN em mais de uma máquina virtual precisamos adotar um “artifício técnico”. Remova a sua máquina virtual do inventário (Remove from inventory) e realize o mesmo procedimento na outra máquina virtual. Cuidado para não remover a máquina virtual usando a opção imediatamente abaixo desta!

Depois que você adicionar o disco em todas as máquinas virtuais, você poderá adicionar todas as máquinas novamente no inventário.Para adicionar novamente você precisar dar um Browse datastore no Datastore onde ela se encontra. Para isso vá no seu host, clique na tab Summary e clique com o botão direito no Datastore onde a máquina se encontra e clique em Browse Datastore.

Selecione a pasta da máquina virtual, ache o arquivo .vmx , clique com o botão direito do mouse nele e clique na opção Add to Inventory. A máquina virtual será adicionada novamente à lista de máquinas virtuais do seu host:

IMPORTANTE: Este procedimento não é suportado pela VMware. A única solução de cluster com disco compartilhado é utilizando o Microsoft Cluster. Mesmo assim eu fiz vários testes com Linux e OCFS2 e funcionou perfeitamente. Entretanto eu recomendo que você também realize seus testes antes de implantar qualquer solução usando disco compartilhado em produção.

Criando um disco de uso compartilhado no VMware

No VMware, por padrão, é possível utilizar um disco para somente uma máquina virtual de cada vez. Você pode compartilhar o disco desde que somente uma das máquinas virtuais esteja ligada por vez.

Se você precisa usar o um sistema de arquivos compartilhado como o GFS ou OCFS2 no Linux ou deixar o disco disponível para escrita em uma máquina e as outras usando o disco somente para leitura vai precisar fazer algumas alterações na configuração da controladora SCSI.

Atualização em 9/2/2010: Apesar de ser funcional, este procedimento não se aplica a sistemas de arquivos em que mais de um nó precisa ler e escrever no disco. Nos meus testes com GFS e OCFS2, havia momentos em que um ou mais hosts perdiam acesso ao disco sem explicação. A maneira melhor de habilitar o acesso de várias máquinas virtuais ao mesmo disco físico é usar Raw Device Mapping ou RDM.

Este tutorial ainda é útil para montagem de discos para escrita somente em um host e leitura nos demais.

Como fazer:

1) Acesse a console do VMware ESX ou ESXi, edite a máquina virtual e adicione um novo disco.

2) Ao escolher o ID SCSI do disco, escolha um ID em uma controladora diferente do disco existente. Exemplo, se seu disco de sistema está usando o ID 0:0, escolha para o novo disco o ID 1:0. Isso fará que o VMware adicione outra controladora SCSI.

add-new-scsi-disk

3) Após concluir o assistente, você notará em negrito os dispositivos que serão adicionados. Clique na controladora SCSI e altere a opção SCSI Bus Sharing para Physical e clique em OK para concluir.

change-controller-settings

Pronto! Agora você poderá adicionar este disco em outra máquina virtual e as duas poderão acessar o disco.

IMPORTANTE: Você não pode fazer isso com Windows para as duas máquinas enxergarem o disco para escrita em uma partição NTFS, por exemplo. Se o Windows permitir o acesso de duas máquinas ao mesmo tempo, a partição será corrompida e vai haver perda de dados. Mesmo no Linux, até pode atribuir uma partição EXT3, por exemplo, para dois ou mais servidores, mas somente 1 deles poderá montar o disco para escrita. Os dois únicos sistemas de arquivos que suportam este recurso que testei são o GFS e OCFS2 no Linux. Logo, logo colocarei tutoriais de como implementar os dois aqui no blog.