Small collection of useful commands:
Listen ports currently listening
netstat -lptun
netstat -lptun
~: vim /etc/ocfs2/cluster.conf
node:
name = oxygen
cluster = ocfs2
number = 0
ip_address = 10.3.1.4
ip_port = 7777
node:
name = oxygen2
cluster = ocfs2
number = 1
ip_address = 10.3.1.5
ip_port = 7777
cluster:
name = ocfs2
node_count = 2
Вызываем конфигуратор для ocfs :~: dpkg-reconfigure ocfs2-tools
~: mkfs.ocfs2 -N 2 /dev/drbd1
Для проверки статуса ocfs2:
~: /etc/init.d/o2cb status
Driver for "configfs": Loaded
Filesystem "configfs": Mounted
Stack glue driver: Loaded
Stack plugin "o2cb": Loaded
Driver for "ocfs2_dlmfs": Loaded
Filesystem "ocfs2_dlmfs": Mounted
Checking O2CB cluster ocfs2: Online
Heartbeat dead threshold = 31
Network idle timeout: 30000
Network keepalive delay: 2000
Network reconnect delay: 2000
Checking O2CB heartbeat: Not active
Последняя строка Not active. Это потому что мы не монтировали раздел.
oxygen1# gdisk -l /dev/md0
GPT fdisk (gdisk) version 0.8.5
Disk /dev/md0: 1464784000 sectors, 698.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 3BE3DE93-D88B-4BFA-A324-36D66AB2ED8E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1464783966
Partitions will be aligned on 2048-sector boundaries
Total free space is 1045353533 sectors (498.5 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 419432447 200.0 GiB 8300 Linux filesystem
#vim /etc/drbd.d/r0.res
global {
usage-count yes;
}
common {
syncer {
rate 40m;
al-extents 320;
}
}
resource r0{
protocol c;
startup{
wfc-timeout 20;
degr-wfc-timeout 10;
become-primary-on both;
}
disk {
on-io-error detach;
}
net{
cram-hmac-alg sha1;
shared-secret "secret";
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
max-buffers 2048;
}
on oxygen {
device /dev/drbd1;
disk /dev/md0p1;
address 10.3.1.4:7789;
meta-disk internal;
}
on oxygen2 {
device /dev/drbd1;
disk /dev/sdb1;
address 10.3.1.5:7789;
meta-disk internal;
}
}
dd if=/dev/zero of=/dev/md0p1 bs=1M count=20
Прописываем хосты:
vim /etc/hosts
10.3.1.4 oxygen
10.3.1.5 oxygen2
Проверяем включен ли модуль ядра drbd. если нет то подключаем.
lsmod | grep drbd
modprobe drbd
Первая инициализация:
drbd create-md r0 # r0 название нашего ресурса
drbd up r0
Смортим статус нашего диска:
watch cat /proc/drbd
Должен показать что то типа:
0: cs:WFConnection ro:Secondary/Unknown
Это значит что второй диск еще не подключен. Идем на вторую ноду и повторяем все действия. Настройки drbd должны быть одинаковыми, так что лучше закинуть r0.res через scp.
Только на основном ноде выолняем:
drbdadm -- --overwrite-data-of-peer primary netdisk
После выполнения этой команды начинается полная синхронизация дисков.
теперь на обоих нодах выполняем:
drbdadm primary r0
watch "cat /proc/drbd"
1: cs:SyncSource ro:Primary/Primary ds:UpToDate/Inconsistent C r-----
ns:71352888 nr:0 dw:0 dr:76727332 al:0 bm:4676 lo:0 pe:281 ua:122 ap:0 ep:1 wo:f oos:133021916
[======>.............] synced: 35.0% (129904/199564)Mfinish: 0:59:06 speed: 37,484 (38,064) K/sec
При возникновении проблем с синхронизацией:
на основной ноде: drbdadm connect r0
на второй ноде: drbdadm -- --discard-my-data connect all