Замена вышедшего из строя диска в DRBD()

Как правильно выставить размер диска, при замене, если я хочу использовать исходный размер диска?

Объем нового диска 4 Гб, но я хочу использовать только тот объем, который использовался до этого и используется на диске другого узла (2 Гб).

Ресурс:

resource res-vdb {

  device drbd_res_vdb1 minor 1;
  disk /dev/vdb;   
  meta-disk internal;

  protocol C;

  on node01 {
    address 192.168.0.1:7005;
  }

  on node02 {
    address 192.168.0.2:7005;
  }
}

Правильно ли я понимаю, что я могу взять размер из lsblck или из /sys/block/drbd1/size и установить в конфигурации res до того, как drbdadm create-md и drbdadm прикрепятся?

то есть конфиг:

resource res-vdb {

  device drbd_res_vdb1 minor 1;
  disk /dev/vdb;   
  meta-disk internal;

  protocol C;

  disk {
        size 2097052K;      <==== 2GB
    }
  on node01 {
    address 192.168.0.1:7005;
  }

  on node02 {
    address 192.168.0.2:7005;
  }
}

person user13726895    schedule 11.06.2020    source источник


Ответы (1)


Вы правы в том, что вы можете установить размер в файле res DRBD перед create-md и attach, чтобы явно установить размер устройства DRBD.

Как вы также предложили, вы можете получить точный размер устройства DRBD различными способами, в том числе с помощью lsblk или проверки настроек ядра с помощью cat /sys/block/drbd1/size, запускаемых с однорангового узла.

Однако, когда вы используете lsblk, он будет округлять. Синтаксический анализатор DRBD, похоже, не принимает байты (B) в качестве допустимой единицы (с drbd-utils версии 9.13.1 кажется, что только KB, MB и GB), поэтому вам может быть лучше установить размер в секторах (s).

Размер, который вы найдете в /sys/block/drbd1/size, уже указан в секторах, поэтому пример будет таким:

# cat /sys/block/drbd1/size 
27262072

# cat /etc/drbd.d/r1.res 
resource res-vdb {
    protocol C;
    disk /dev/vdb;
    device minor 1;
    disk {
        size 27262072s;
    }
    on centos7-a {
        address 172.16.7.100:7779;
    }
    on centos7-b {
        address 172.16.7.101:7779;
    }
}

Все это говорит о том, что, поскольку DRBD автоматически согласовывает размер устройства между своими одноранговыми узлами, вы можете просто drbdadm create-md res-vdb, drbdadm up res-vdb, и это должно просто работать.

person Matt Kereczman    schedule 11.06.2020