# [DRBD] transformer un fichier en block device ? (résolu)

## loopx

Bonjour, 

Faisant des tests avec DRBD (réplication d'un block device) et ayant installé mes 2 linux sans penser à une partition spéciale ... comment puis-je utiliser un fichier (sur une partition linux) et le transformer en tant que block device ? Donc, utiliser une image en tant que block device, au lieu d'une partition réel ?

Est-ce possible ?

J'ai ceci dans mon DRBD pour l'instant : 

```
[root@wk02lhe ~]# /etc/init.d/drbd start

Starting DRBD resources: [ d(r0) /home/laurent/kvm/qemu-kvm_hdd is not a block device!
```

dmesg :

```

Apr  2 11:07:15 wk02lhe kernel: drbd0: Starting worker thread (from cqueue/1 [157])

Apr  2 11:07:15 wk02lhe kernel: drbd0: Starting receiver thread (from drbd0_worker [4776])

Apr  2 11:07:15 wk02lhe kernel: drbd0: receiver (re)started

Apr  2 11:07:15 wk02lhe kernel: drbd0: conn( Unconnected -> WFConnection )

Apr  2 11:07:24 wk02lhe kernel: drbd0: Handshake successful: DRBD Network Protocol version 86

Apr  2 11:07:24 wk02lhe kernel: drbd0: conn( WFConnection -> WFReportParams )

Apr  2 11:07:24 wk02lhe kernel: drbd0: Starting asender thread (from drbd0_receiver [4777])

Apr  2 11:07:24 wk02lhe kernel: drbd0: some backing storage is needed                             <<<<<<<<<<<<<<<<<<<<<<<<<<

Apr  2 11:07:24 wk02lhe kernel: drbd0: conn( WFReportParams -> Disconnecting )

Apr  2 11:07:24 wk02lhe kernel: drbd0: error receiving ReportSizes, l: 32!

Apr  2 11:07:24 wk02lhe kernel: drbd0: asender terminated

Apr  2 11:07:24 wk02lhe kernel: drbd0: Terminating asender thread

Apr  2 11:07:24 wk02lhe kernel: drbd0: Connection closed

Apr  2 11:07:24 wk02lhe kernel: drbd0: conn( Disconnecting -> StandAlone )

Apr  2 11:07:24 wk02lhe kernel: drbd0: receiver terminated

Apr  2 11:07:24 wk02lhe kernel: drbd0: Terminating receiver thread

Apr  2 11:07:24 wk02lhe kernel: drbd0: drbd_bm_resize: (!b) in /builddir/build/BUILD/drbd-8.0.16/_kmod_build_/drbd/drbd_bitmap.c:355

Apr  2 11:07:24 wk02lhe kernel: drbd0: drbd_bm_cleanup: (!mdev->bitmap) in /builddir/build/BUILD/drbd-8.0.16/_kmod_build_/drbd/drbd_bitmap.c:241

Apr  2 11:07:24 wk02lhe kernel: drbd0: worker terminated

Apr  2 11:07:24 wk02lhe kernel: drbd0: Terminating worker thread

```

----------

## geekounet

Le device loop sert à ça. man losetup tout ça.  :Smile: 

----------

## loopx

 *geekounet wrote:*   

> Le device loop sert à ça. man losetup tout ça. 

 

Ben, j'ai pensé au "mount -o loop" .. mais ca sert à monger une image dans un répertoire /mnt/...   moi c'est plus l'inverse ... d'un fichier sous "/mnt/...", j'aimerais avoir un block device "/dev/..." ...

Je vais me renseigner  :Smile:   la suis en vacance pour une semaine, je reprendrais peut-être seulemetn lundi.

Merci  :Wink: 

----------

## guilc

C'est pas "mount -o loop" mais "losetup /dev/loop0 /blah/mon_fichier"

Mais attention : http://www.drbd.org/users-guide/ch-configure.html

 *Quote:*   

> While it is possible to use loop devices as lower-level devices for DRBD, doing so is not recommended due to deadlock issues.

 

----------

## loopx

Je viens de tester, ça fonctionne comme je le veux :

```
loop loopx # df -h

Sys. de fichiers    Taille  Uti. Disp. Uti% Monté sur

rootfs                 23G   16G  6,4G  71% /

/dev/root              23G   16G  6,4G  71% /

rc-svcdir             1,0M   80K  944K   8% /lib/rc/init.d

udev                   10M  192K  9,9M   2% /dev

shm                   504M  276K  504M   1% /dev/shm

/dev/sda6             551G  228G  323G  42% /mnt/data

/dev/loop0            296M   11M  270M   4% /mnt/extern

loop loopx # losetup -a

/dev/loop/0: [0802]:262934 (/home/loopx/loop_dev)
```

@guilc: j'ai déjà lu cette page ; je ne fais que des tests de fonctionnalité, pas de performance... mais il est vrai que j'espère ne pas avoir trop de problème. J'imagine qu'avec 1 loop device par noeud dans un cluster, ca devrait pas poser trop de problème (pas comme si le FS contenu dans ce loop device étai partagé en nfs ...).

Je testerais avec DRBD dans une semaine.

----------

