LinuxForum.Fans
Тема

drbd файл ресурса

Автор: sangraf 6 сообщений 1368 просмотров
09.04.2019 04:45 · отредактировано #431343

opensuse leap 15, drbd-9.0.15+git.c46d2790-lp150.2.5.1.x86_64

drbd.conf

text
include "drbd.d/global_common.conf";
include "drbd.d/*.res";

/etc/drbd.d/global_common.conf

text
# DRBD is the result of over a decade of development by LINBIT.
# In case you need professional services for DRBD or have
# feature requests visit http://www.linbit.com

global { usage-count yes;

# Decide what kind of udev symlinks you want for "implicit" volumes # (those without explicit volume <vnr> {} block, implied vnr=0): # /dev/drbd/by-resource/<resource>/<vnr> (explicit volumes) # /dev/drbd/by-resource/<resource> (default for implict) udev-always-use-vnr; # treat implicit the same as explicit volumes

# minor-count dialog-refresh disable-ip-verification # cmd-timeout-short 5; cmd-timeout-medium 121; cmd-timeout-long 600; }

common { handlers { # These are EXAMPLE handlers only. # They may have severe implications, # like hard resetting the node under certain circumstances. # Be careful when choosing your poison.

# pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; # pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f"; # local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f"; # fence-peer "/usr/lib/drbd/crm-fence-peer.sh"; # split-brain "/usr/lib/drbd/notify-split-brain.sh root"; # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root"; # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k"; # after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh; # quorum-lost "/usr/lib/drbd/notify-quorum-lost.sh root"; }

startup { # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb }

options { # cpu-mask on-no-data-accessible

# RECOMMENDED for three or more storage nodes with DRBD 9: # quorum majority; quorum off; # on-no-quorum suspend-io | io-error; }

disk { # on-io-error disk-barrier disk-flushes # disk-drain md-flushes resync-rate resync-after al-extents # c-plan-ahead c-delay-target c-fill-target c-max-rate # c-min-rate disk-timeout }

net { # protocol timeout max-epoch-size max-buffers # connect-int ping-int sndbuf-size rcvbuf-size ko-count # allow-two-primaries cram-hmac-alg shared-secret after-sb-0pri # after-sb-1pri after-sb-2pri always-asbp rr-conflict # ping-timeout data-integrity-alg tcp-cork on-congestion # congestion-fill congestion-extents csums-alg verify-alg # use-rle fencing } }

/etc/drbd.d/r0.res

text

resource r0 {

on node1 { device /dev/drbd0; disk /dev/sdb; address 192.168.1.50:7789; meta-disk internal; } on node2 { device /dev/drbd0; disk /dev/sdb; address 192.168.1.34:7789; meta-disk internal; } }

text
node1:/etc/drbd.d # fdisk -l
Диск /dev/sda: 16 GiB, 17179869184 байт, 33554432 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: gpt
Идентификатор диска: 035D82FA-8212-42F8-A1AC-6A9FCE38526E

Устр-во начало Конец Секторы Размер Тип /dev/sda1 2048 18431 16384 8M BIOS boot /dev/sda2 18432 29360127 29341696 14G Файловая система Linux /dev/sda3 29360128 33554398 4194271 2G Linux своп

Диск /dev/sdb: 1 GiB, 1073741824 байт, 2097152 секторов Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт

без r0.res, drbd стартует, с добавлением файла r0.res не стартует.

09.04.2019 11:57 #431344
sangraf написал:
без r0.res, drbd стартует, с добавлением файла r0.res не стартует.

может потому что его нужно сначала создать?
Как то так (источник):
[console]drbdadm create-md r0[/console]
А так вроде есть гуёвина для drbd: пакет yast2-drbd
Попробуйте его поставить и настроить.

09.04.2019 13:10 #431345
mozgfx написал:

может потому что его нужно сначала создать?

как раз с момента создания метаданных и начинались проблемы
[console]node2:/etc/drbd.d # drbdadm create-md r0
open(/dev/sda) failed: Device or resource busy

Exclusive open failed. Do it anyways?
[need to type 'yes' to confirm] yes

open(/dev/sda) failed: Device or resource busy

Exclusive open failed. Do it anyways?
[need to type 'yes' to confirm] yes

You want me to create a v09 style flexible-size internal meta data block.
There appears to be a v09 flexible-size internal meta data block
already in place on /dev/sda at byte offset 17179865088

Do you really want to overwrite the existing meta-data?
[need to type 'yes' to confirm] yes

md_offset 17179865088
al_offset 17179832320
bm_offset 17179308032

Found some data

==> This might destroy existing data! <==

Do you want to proceed?
[need to type 'yes' to confirm] yes

initializing activity log
initializing bitmap (512 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.
open(/dev/sda) failed: Device or resource busy

Exclusive open failed. Do it anyways?
[need to type 'yes' to confirm] yes

node2:/etc/drbd.d # service drbd start
^C
[/console]


а вот yast2-drbd действительно должно быть понятнее для освоения, спасибо

10.04.2019 15:36 #431354

С одной стороны Yast хорош.
С другой иногда бывает так что внедряют что то новое, а работает все по старому.
Так у меня было к примеру со SQID если память не изменяет.
Мануалы везде старые, YAST работает по старому не успел обновить, а конфиги надо писать по новому - иначе чем ранее.
Это все конечно рано или поздно вскрывается, так что не нужно пренебрегать поиском, в том числе и по зарубежным источникам. Но времени и нервов можно потратить изрядно удивляясь почему оно не работает.

23.04.2019 03:28 · отредактировано #431457

создал конфигурацию через yast

text
resource r0 {                                                                                                                                                                                             
   disk {                                                                                                                                                                                                 
      on-io-error       pass_on;                                                                                                                                                                          
   }                                                                                                                                                                                                      
   net {                                                                                                                                                                                                  
      protocol  C;                                                                                                                                                                                        
   }
   connection-mesh {
      hosts     node1 node2;
   }
   on node1 {
      address   192.168.1.50:7788;
      device    /dev/drbd1 ;
      disk      /dev/sdb1;
      meta-disk internal;
      node-id   0;
   }
   on node2 {
      address   192.168.1.34:7788;
      device    /dev/drbd1 ;
      disk      /dev/sdb1;
      meta-disk internal;
      node-id   1;
   }
}

скопировал ее на node2. На node2 drbd стартует, на node1 старт останавливается на "установить состояние демона" в Yast (<---решено)
Добавлено: 23.04.2019 03:28:58

text
node1:/etc/corosync # rcdrbd status
* drbd.service - DRBD -- please disable. Unless you are NOT using a cluster manager.
   Loaded: loaded (/usr/lib/systemd/system/drbd.service; enabled; vendor preset: disabled)
   Active: active (exited) since Mon 2019-04-22 15:40:56 +08; 2h 18min ago
  Process: 1545 ExecStart=/lib/drbd/drbd start (code=exited, status=0/SUCCESS)
 Main PID: 1545 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/drbd.service

Apr 22 15:40:54 node1 drbd[1545]: Starting DRBD resources: [ Apr 22 15:40:54 node1 drbd[1545]: create res: r0 Apr 22 15:40:54 node1 drbd[1545]: prepare disk: r0 Apr 22 15:40:54 node1 drbd[1545]: prepare net: r0 Apr 22 15:40:54 node1 drbd[1545]: (null): r0 Apr 22 15:40:55 node1 drbd[1545]: adjust disk: r0 Apr 22 15:40:55 node1 drbd[1545]: attempt to connect: r0 Apr 22 15:40:55 node1 drbd[1545]: ] Apr 22 15:40:56 node1 drbd[1545]: WARN: stdin/stdout is not a TTY; using /dev/console. Apr 22 15:40:56 node1 systemd[1]: Started DRBD -- please disable. Unless you are NOT using a cluster manager.. node1:/etc/corosync # yast node1:/etc/corosync # cat /proc/partitions major minor #blocks name

8 0 16777216 sda 8 1 8192 sda1 8 2 14670848 sda2 8 3 2097135 sda3 8 16 1048576 sdb 8 17 1047552 sdb1 147 1 1047484 drbd1 node1:/etc/corosync # cat /proc/drbd version: 9.0.15-1 (api:2/proto:86-114) GIT-hash: c46d27900f471ea0f5ba587592439a9ddde1d08b reproducible build, 2019-01-10 12:00:00 Transports (api:16): tcp (9.0.15-1) node1:/etc/corosync #

не пойму почему нет "...Connected Secondary/Secondary Inconsistent/Inconsistent...." ? Это особенность 9 версии drbd, или я чтото упустил и не выполнил?

26.04.2019 15:24 #431626

[console]
node2:/etc/drbd.d # drbdadm create-md r0
open(/dev/sda) failed: Device or resource busy
[/console]
Ни чего не смущает?
В конфигурации sdb, здесь sda. Явно что-то ТС не так делает.

Войдите или зарегистрируйтесь, чтобы ответить.