Re: хранение /home на сервере (coda vs fscache)
Спасибо за советы пришедшие в рассылку и на почту.
Ответ пока не найден.
Для начала попробовал поставить drbd, т.к. выглядит посовременнее и есть
в ядрах.
Но так и не понял - можно ли его использовать для поставленной задачи -
с возможностью работать в оффлайн.
Сейчас drbd отлично работает в primary/primary mode. Если создать новый
ресурс "drbdadm create-md r0" и запустить два сервера - изменения
сделанные на любом отображаются на всех.
Если же завершить работу одного из серверов, а на другом внести
изменения, то primary/primary уже не заработает, будет disconnect.
Подружить их можно или сделав один secondary:
drbdadm secondary r0
drbdadm -- --discard-my-data connect r0
и на другом перезапустить коннект:
drbdadm connect r0
или разрушив один из ресурсов с помощью:
"drbdadm create-md r0"
во втором случае при "/etc/init.d/drbd start" произойдет синхронизация и
оба опять будут primary/primary.
В документации пока не нашел, можно ли на обоих машинах работать с
диском в оффлайн и синхронизировать их в primary/primary так, что бы
использовались более новые файлы независимо от источника - расчитан ли
drbd на такую работу ?
Как настраивалось:
-------------------------------------
На обоих машинах
dd if=/dev/zero of=disk.img bs=300M count=1
(из них на метаданные нужно 128 мег, так что bs=100M не заработает).
losetup /dev/loop0 disk.img
sudo drbdadm create-md r0
sudo modprobe drbd
/etc/init.d/drbd start
cat /proc/drbd
ls -lah /dev/drbd0
на одной:
drbdadm -- --overwrite-data-of-peer primary all
mkfs.ext3 /dev/drbd0
на обоих:
mount -t ext3 /dev/drbd0 /mnt/drbd
----------------------------------------
(порядок мог быть немного другим, т.к. не спервого раза удалось настроить.)
Конфиг одинаковый.
(Два параметра become-primary-on both; и allow-two-primaries; были
закомментированы при первоначальной настройке)
----------------------------------------
global {
usage-count yes;
}
common {
syncer { rate 10M; csums-alg algorithm; }
protocol C;
startup { wfc-timeout 0; degr-wfc-timeout 120; become-primary-on both; }
disk { on-io-error detach; }
net { timeout 60; connect-int 10; ping-int 10;
max-buffers 2048; max-epoch-size 2048;.
shared-secret "secret_here";
allow-two-primaries;
}
}
resource r0 {
on laptop {
device /dev/drbd0;
disk /dev/loop0;
address 192.168.101.2:7788;
meta-disk internal;
}
on server.com {
device /dev/drbd0;
disk /dev/loop0;
address 192.168.101.1:7788;
meta-disk internal;
}
}
--
Sincerely,
Nicholas
Reply to: