DRBD em um arquivo (em vez de partição)

2

Temos várias máquinas virtuais Xen que usam arquivos de imagem de disco.

disk = ["file:/xen/vbd/something.vbd,sda1,w"]

Gostaríamos de usar o DRBD para replicar esses arquivos para backup (em oposição à bagunça da replicação do MySQL e rsyncs noturnos que temos no momento). Mas eu não pareço entender como fazer isso funcionar.

Podemos vincular um arquivo a um dispositivo de loopback com losetup :

# losetup /dev/loop0 /xen/vbd/something.vbd

E aponte o DRBD para esse dispositivo:

device  /dev/drbd1;
disk    /dev/loop0;

Mas o loopback não é estável - ele não está lá na reinicialização e pode facilmente ter sido anexado a loop1, loop2 etc. Não é exatamente uma opção válida para um servidor se ele precisar da interação humana para se recuperar com uma interrupção de energia.

O que estou perdendo?

    
por Marcus Downing 30.07.2010 / 12:49

4 respostas

3

Há sempre a maneira antiga:

mknod /dev/loop255 b 7 255
losetup /dev/loop255 mydisk.img

Use um número aleatório alto para evitar um possível conflito.

    
por 09.12.2010 / 19:34
1

O que você quer dizer com "o loopback não é estável"? E se você acabou de criar um script de shell contendo algo como

losetup /dev/loop0 /xen/vdb/something.vdb
losetup /dev/loop1 /xen/vdb/something2.vdb
losetup /dev/loop2 /xen/vdb/something3.vdb

e coloque isso na inicialização do sistema antes dos convidados do xen iniciarem (ou use alguma forma mais oficial de configurar imagens de loopbacks permanentes, não tenha feito isso)? O / dev / loop0 não apontaria sempre a mesma imagem? O que estou eu faltando? :)

    
por 30.07.2010 / 12:57
0

você pode criar um script de inicialização que crie o dispositivo de loop na inicialização. Algo como this .

    
por 09.12.2010 / 18:37
0

Aqui está o meu script de inicialização do dispositivo bare-loop. Testado no Debian Squeeze.

### BEGIN INIT INFO
# Provides:          drbd_loopbacks
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

XEN_PATH=/home/xen/domains
DRBD_PATH=/home/drbd

case "$1" in
start)
  losetup /dev/loop45   $XEN_PATH/int/disk.img
  losetup /dev/loop63   $DRBD_PATH/meta.img
  ;;

stop)
  losetup -d /dev/loop45
  losetup -d /dev/loop63
  ;;
*)
  echo $"Usage: $0 {start|stop}"
  exit 1
esac
    
por 07.03.2013 / 14:10