web-dev-qa-db-fra.com

DRBD sur le périphérique de bloc de disque brut

J'essaie de configurer DRBD sur un périphérique de disque brut /dev/sdb Sans table de partition, ni lvm pile pv/vg/lv

Comme ce disque est virtuel et que l'hyperviseur, j'utilise une extension de disque à la mouche, je ne veux pas vous soucier des opérations LVM ou de re-partitionnement lorsque vous venez de prolonger mon système de fichiers DRBD.

Ma définition de ressource ne peut pas être plus simple

resource data {
  device  /dev/drbd1;
  meta-disk internal;
  disk    /dev/sdb;
  on node1 {
    address 10.10.10.16:7789;
  }
  on node2 {
    address 10.10.10.17:7789;
  }
}

Créer des métadonnées

# drbdadm create-md data
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.

Mais attacher l'opération échoue

 # drbdadm attach data
 1: Failure: (127) Device minor not allocated
 additional info from kernel:
 unknown minor
 Command 'drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal' terminated with exit code 10

Le message d'erreur sonne vraiment comme la commande s'attend à une index de la table de partition en tant que code mineur de périphérique.

Comment dois-je joindre un périphérique brut à la ressource DRBD?

7
Yves Martin

Dans le cas très spécifique du package de Debian DRBD, il n'est pas nécessaire d'utiliser "Joindre des données".

Voici la séquence minimale pour devenir DRBD et courir avec Debian:

  • Créez votre fichier de Ressource /etc/drbd.d/data.res sur les deux nœuds, généralement pour définir /dev/drbd1 (Rappelez ce numéro de volume 1 Pour une opération de bitmap clair!)
  • Invoquer drbdadm create-md data sur les deux nœuds
  • Démarrez le service sur les deux nœuds, ils devraient attendre que l'autre soit prêt: systemctl start drbd.service
  • Confirmer Connected State avec drbdadm cstate data. Sinon, n'allez pas plus loin jusqu'à ce que le démarrage de service ou le problème de connectivité réseau soit résolu.
  • ON primary noeud, claire bitmap pour empêcher la synchronisation initiale inutile: drbdadm -- --clear-bitmap new-current-uuid data/1 (Mind Dernier paramètre: resourceName/volumeNumber)
  • Sur primary noeud seulement, promouvoir le nœud comme primary: drbdadm primary data

À partir de ce point, sur primary noeud, /dev/drbd1 Le périphérique est disponible pour toutes les opérations de bloc régulières telles que blockdev ou mkfs.

Déclenchez le fonctionnement bitmap clair avec précaution, il rend toutes les données sur le nœud secondaire irrécupérable. Au fait, il est vraiment pratique pour la configuration initiale car elle empêche votre stockage de nœud secondaire d'être complètement écrite pendant des heures, en appliquant votre couche de virtualisation pour allouer des blocs sur le stockage, qui est gênant pour le provisionnement fin.

1
Yves Martin

drbdadm attach data N'est-ce pas la seule commande que vous souhaitez utiliser après avoir créé les métadonnées.

L'une des procédures suivantes devrait fonctionner pour obtenir votre appareil:

# drbdadm create-md data
# drbdadm up data

-- ou --

# drbdadm create-md data
# drbdsetup-84 new-resource data
# drbdsetup-84 new-minor data 1 0 
# drbdmeta 1 v08 /dev/sdb internal apply-al 
# drbdsetup-84 attach 1 /dev/sdb /dev/sdb internal
# drbdsetup-84 connect data ipv4:10.10.10.16:7789 ipv4:10.10.10.17:7789 --protocol=C

Une fois que vous avez fait cela, vous aurez un appareil avec un état de connexion "connecté" et un état de disque "inconsistant/incohérent"; Ce sera toujours/seulement le cas après avoir créé de nouvelles méta-données sur les deux nœuds. De là, choisissez simplement un nœud de promouvoir à primaire, ce qui fera la synchronisation du DRBD du primaire -> secondaire:

# drbdadm primary data --force 

Vous ne devriez jamais utiliser dans des circonstances normales nécessaires pour utiliser "-force" pour promouvoir votre périphérique DRBD à partir de là.

Cependant, vous avez également dit:

Comme ce disque est virtuel et que l'hyperviseur, j'utilise une extension de disque à la mouche, je ne veux pas vous soucier des opérations LVM ou de re-partitionnement lorsque vous venez de prolonger mon système de fichiers DRBD.

Cela ne va probablement pas travailler avec DRBD. DRBD met ses métadonnées à la fin du périphérique de bloc et dans les métadonnées, le nombre de blocs (et d'autres choses) est suivi. L'extension dynamique du dispositif de blocage du support va probablement causer des problèmes pour vous.

5
Matt Kereczman