O Repositório de Armazenamento XEN possui o tipo de opção = lvm ausente (XCP)

3

Vários documentos on-line sobre este assunto falam sobre a criação de um SR com a opção type = lvm , mas tentam estes:

# xe sr-create type=lvm device-config:device=/dev/server/sr_guest1 
      name-label=sr1

The SR could not be connected because the driver was not recognised.
driver: lvm

Parece que não posso, tentativas de conclusão de tabulação dizem-me que estas são as que posso usar:

root@server:~# xe sr-probe type=[TAB]
dummy   ext     file    iso     nfs     

E, de fato, lvm não está entre eles. Eu procurei por horas tentando encontrar problemas semelhantes, mas nada de útil.

Versões:

root@server:~# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS"

root@server:~# dpkg --list  | egrep 'xen|xapi|xcp'
ii  libxen-4.1                       4.1.2-2ubuntu2.4                 
ii  libxenstore3.0                   4.1.2-2ubuntu2.4                
ii  python-xenapi                    1.3.2-5ubuntu0.1
ii  xen-hypervisor-4.1-amd64         4.1.2-2ubuntu2.4
ii  xen-utils-4.1                    4.1.2-2ubuntu2.4
ii  xen-utils-common                 4.1.2-1ubuntu1
ii  xenstore-utils                   4.1.2-2ubuntu2.4
ii  apt-xapian-index             0.44ubuntu5
ii  libxapian22                  1.2.8-1
ii  python-xapian                    1.2.8-1
ii  xcp-eliloader                    0.1-4
ii  xcp-fe                           0.5.2-3
ii  xcp-guest-templates          0.1-3
ii  xcp-networkd                     1.3.2-5ubuntu0.1
ii  xcp-squeezed                     1.3.2-5ubuntu0.1
ii  xcp-storage-managers             0.1.1-2ubuntu1
ii  xcp-v6d                          1.3.2-5ubuntu0.1
ii  xcp-vncterm                  0.1-2
ii  xcp-xapi                     1.3.2-5ubuntu0.1
ii  xcp-xe                           1.3.2-5ubuntu0.1

Alguém está disposto a explicar o motivo para mim? Afirmando o óbvio: estou usando o LVM da instalação inicial. Eu quero instalar VMs em seus próprios volumes lógicos, não imagens, então eu acho que realmente preciso dessa opção.

Então, existe uma maneira de adicionar suporte ao LVM?

update:

Talvez isso possa ser uma pista , não sei. É só que eu não tenho citrix ...

    
por Glenn Plas 04.01.2013 / 01:29

3 respostas

2

Aparentemente, o script python do driver não está incluído no release de ações do xcp-xapi. Eu descobri uma maneira de obter o driver lvm disponível para seleção. Foi o que eu fiz:

Eu baixei a fonte xcp-xapi. Procurei os drivers do LVM * e copiei para o host em execução e configurei um link simbólico para ele assim:

cp /usr/local/src/xcp-storage-managers-0.1.1/drivers/LVMSR.py /usr/lib/xcp/sm/
cd /usr/lib/xcp/sm/
ln -s LVMSR.py LVMSR

Depois de reiniciar

/etc/init.d/xcp-xapi restart

Eu posso concluir o driver por guia (é um começo)

root@server:~# xe sr-list type=
dummy   ext     file    iso     lvm     nfs

Então, contra todas as probabilidades, consegui encontrar 2 GB:

lvcreate --size 2G --name sr_test server
   Logical volume "sr_test" created

e depois

root@server:~# xe sr-create type=lvm \
    device-config:device=/dev/server/sr_test name-label=srt

O que me dá

Error code: SR_BACKEND_FAILURE_53
Error parameters: , Logical Volume unmount/deactivate error [opterr=errno is 3], 

Então não chegou lá ainda.

Um pouco de pesquisa revela este post muito interessante para mim, aparentemente as pessoas da Kronos debian fez isso de propósito (mas não mencionou o fato de que eles não incluíram o LVM devido a ele não ter sido testado o suficiente ...)

Então acabei fazendo isso:

root@server:/usr/lib/xcp/sm# locate  lvutil.pyc
/usr/lib/xcp/sm/lvutil.pyc

Edite esse arquivo, na linha 302, você verá:

cmd = [CMD_VGCHANGE, "-an", "--master", vgname]

Remova a opção master dessa linha. Na linha 344, em setActiveVG existe outro.

cmd = [CMD_VGCHANGE, "-a" + val, "--master", path]

o vgchange nesta versão do ubuntu não suporta esta opção. A razão pela qual está no link mencionado. Faça isso:

cmd = [CMD_VGCHANGE, "-an", vgname]

e

cmd = [CMD_VGCHANGE, "-a" + val, path]

para ambas as linhas. De repente, isso funciona (à primeira vista, desde que recebo o UUID):

root@server:~# xe sr-create type=lvm  \
    device-config:device=/dev/server/sr_test name-label=srt
1b916212-bb83-f958-2c76-fa1f9829e6af

Espero que isso ajude alguém. Eu entendo isso nos logs:

 [20130124T13:42:47.877Z|debug|server|102|scan one D:ba6210351c61|xapi]
 SR 1b916212-bb83-f958-2c76-fa1f9829e6af (srt) is not shared or is being
 plugged to a slave - not handling metadata VDIs at this point.

Como isso não é compartilhado nem é um escravo, acho que estou bem, mas não gosto de dizer que ele não está lidando com metadados, embora diga 'neste momento', que interpreto como não há necessidade de agora . Insira bem-vindo.

    
por 24.01.2013 / 14:25
2

Use type=lvhd em vez de type=lvm . Eu acho que é isso que você está procurando. Tanto quanto eu sei que este é o padrão nas versões mais recentes do xenserver.

    
por 09.01.2013 / 22:36
0

Hmm, gostaria apenas de usar o isop bare metal XCP como o Dom0. Toda a instalação do sistema operacional do Ubuntu é um exagero. Apenas minha opinião. Não é uma resposta, mas uma observação e bare metal só funciona fora da caixa com o LVM.

    
por 08.04.2013 / 18:32

Tags