xm block-detach: Removendo um vdisk de uma PVM Xen

Outra dessa noite:

Precisei remover um dos vdisks de uma máquina para-virtualizada em tempo real, sem desligá-la. Tudo isso em cima de CentOS 5.2, com XEN 3.0 e kernel 2.6.18. Pra fazer isso, tem que identificar pela hospedeira qual o ID do disco da hospedada, e mandar fazer um block-detach.

Antes do detach:

[root@pvm /]# fdisk -l

Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        1208     9703228+  83  Linux
/dev/xvda2            1209        1273      522112+  82  Linux swap / Solaris

Disk /dev/xvdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/xvdb1               1        1305    10482381   83  Linux
[root@pvm /]#

Então, através da hospedeira, pode-se fazer o detach do xvdb da PVM:

[root@hospedeira /]# xm block-list 5
Vdev  BE handle state evt-ch ring-ref BE-path
51712    0    0     4      8      8     /local/domain/0/backend/vbd/5/51712
51728    0    0     4      9      9     /local/domain/0/backend/vbd/5/51728
[root@hospedeira /]# xm block-detach 5 51728

Sendo que esse ID do dispositivo de bloco é sempre igual para qualquer hospedeira XEN:

xvda = 51712
xvdb = 51728
xvdc = 51744
xvdd = 51760

Depois do detach, apenas um disco permanece na PVM:

[root@pvm /]# fdisk -l

Disk /dev/xvda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        1208     9703228+  83  Linux
/dev/xvda2            1209        1273      522112+  82  Linux swap / Solaris
[root@pvm /]#

Por: Hudson Murilo dos Santos
Referências:  Franklin Moretti
man xm
nabble

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Retype the CAPTCHA code from the image
Change the CAPTCHA codeSpeak the CAPTCHA code