DRBD9 / alle Nodes diskless

hjjg

New Member
Mar 27, 2014
9
0
1
Hallo zusammen,


gestern Abend haben wir unsere neun Proxmox-Hosts mit frischen Updates versorgt und neu gestartet. Auf drei der Nodes haben wir DRBD9 mit einer Redundanz von zwei im Einsatz. Nach dem Reboot konnten zwei virtuelle Maschinen nicht mehr gestartet werden und DRBD hat auf allen drei Nodes behauptet diskless zu sein.
Ich habe die Liste der Resources gekuerzt, alle anderen wurden mit dem Status OK angegeben. Die VM 121 ist in dem Fall ein Restore der zu dem Zeitpunkt noch nicht fertig war. Es geht um die VM 176:

Code:
#  root@virt07:~/ /dev/pts/2 Mo 31.10.16 23:25:13  >
ec:0  # drbdmanage list-assignments
WARNING:root:Could not read configuration file '/etc/drbdmanaged.cfg'
+------------------------------------------------------------------------------------------------------------+
| Node   | Resource      | Vol ID |                         |                                          State |
|------------------------------------------------------------------------------------------------------------|
| virt07 | vm-121-disk-1 |      * |                         |                                             ok |
| virt07 | vm-121-disk-2 |      * |                         |                                             ok |
| virt07 | vm-176-disk-1 |      * |                         | FAILED(3), pending actions: adjust connections |
| virt07 | vm-176-disk-2 |      * |                         |                                             ok |
| virt08 | vm-176-disk-1 |      * |                         | FAILED(3), pending actions: adjust connections |
| virt08 | vm-176-disk-2 |      * |                         |                                             ok |
| virt09 | vm-121-disk-1 |      * |                         |                                             ok |
| virt09 | vm-121-disk-2 |      * |                         |                                             ok |
| virt09 | vm-176-disk-1 |      * |                         |                                         client |
| virt09 | vm-176-disk-2 |      * |                         |                                         client |
+------------------------------------------------------------------------------------------------------------+


Code:
#  root@virt07:~/ /dev/pts/2 Mo 31.10.16 23:31:42  >
ec:0  # drbdadm status
.drbdctrl role:Secondary
  volume:0 disk:UpToDate blocked:lower
  volume:1 disk:UpToDate blocked:lower
  virt08 role:Secondary
    volume:0 peer-disk:UpToDate
    volume:1 peer-disk:UpToDate
  virt09 role:Secondary
    volume:0 peer-disk:UpToDate
    volume:1 peer-disk:UpToDate
       
vm-121-disk-1 role:Primary
  disk:UpToDate blocked:lower
  virt09 role:Secondary
    peer-disk:UpToDate
       
vm-121-disk-2 role:Primary
  disk:UpToDate blocked:lower
  virt09 role:Secondary
    peer-disk:UpToDate
       
vm-176-disk-1 role:Secondary
  disk:Diskless
       
vm-176-disk-2 role:Secondary
  disk:UpToDate blocked:lower
  virt08 role:Secondary
    peer-disk:UpToDate
  virt09 role:Secondary
    peer-disk:Diskless


Schnell haben wir herausgefunden, dass LVM hier die VG aus der virtuellen Maschine 176 in Beschlag genommen hat:


Code:
#  root@virt07:~/ /dev/pts/2 Mo 31.10.16 23:39:29  >
ec:0  # pvs
  Found duplicate PV IobARFYQ0UgtILNqVQertIaQKWI3ByDV: using /dev/drbdpool/vm-121-disk-2_00 not /dev/drbdpool/vm-176-disk-1_00
  Couldn't find device with uuid SG98C2-auQe-VeUn-uqJ6-ldZd-rRVF-uRRfpo.
  Couldn't find device with uuid VlQnyd-XZhW-TWBs-Ow9b-bO4U-o2sh-3NRWmw.
  PV                             VG            Fmt  Attr PSize   PFree
  /dev/drbdpool/vm-121-disk-2_00 dbmaster21-vg lvm2 a--  150,00g 5,00g
  /dev/drbdpool/vm-196-disk-3_00 dbslave21-vg  lvm2 a--  150,00g 5,00g
  /dev/md0                       vg0           lvm2 a--   59,59g    0
  /dev/sda1                      drbdpool      lvm2 a--    2,91t 1,91t
  unknown device                 dbslave21-vg  lvm2 a-m   31,76g    0
  unknown device                 dbmaster21-vg lvm2 a-m   31,76g    0


Folgendes haben wir auf allen Nodes getan um dieses Problem zu beheben:

Code:
vgchange -a n dbmaster21-vg

# /etc/lvm/lvm.conf Zeile 122 von
# global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|" ]
# geändert auf:
# global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|", "r|/dev/mapper/drbdpool-vm-.*|", "r|/dev/drbd.*|" ]
pvscan
vgscan
drbdadm adjust all

und dann klappt es auch wieder:

Code:
#  root@virt07:~/ /dev/pts/2 Di 01.11.16 00:59:15  >
ec:0  # drbd-overview
  0:.drbdctrl/0      Connected(3*) Secondary(3*)                    UpTo(virt07)/UpTo(virt09,virt08)
  1:.drbdctrl/1      Connected(3*) Secondary(3*)                    UpTo(virt07)/UpTo(virt08,virt09)
100:vm-121-disk-1/0  Connected(2*) Secondary(2*)                    UpToDa/UpToDa
103:vm-176-disk-1/0  Connected(3*) Prim(virt07)/Seco(virt09,virt08) UpTo(virt07)/UpTo(virt08)/Disk(virt09)
104:vm-176-disk-2/0  Connected(3*) Prim(virt07)/Seco(virt08,virt09) UpTo(virt07)/UpTo(virt08)/Disk(virt09)
106:vm-121-disk-2/0  Connected(2*) Secondary(2*)                    UpToDa/UpToDa


Was haben wir falsch gemacht? Oder lautet die Antwort: "In dem alten Artikel zu DRBD8 im Wiki wird darauf hingewiesen, dass man die lvm.conf anpassen sollte. Dieser Abschnitt fehlt in dem DRBD9-Artikel."

Es ist auf jeden Fall auch ein Timing-Problem. Wir haben noch weitere DRBD9-Pools bei denen das bisher nicht passiert ist.

Viele Grüße!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!