|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Konstantin Ischenko 2:463/68.1124 27 Jan 2007 18:57:06 To : All Subject : gmirror work ;) -------------------------------------------------------------------------------- Возможно кому-то и пригодится... Примерно месяц назад я спрашивал в эхе о возможных штатных решениях для организации распределенной системы средствами FreeBSD, а именно "RAID over net". Вещь сама по себе интересная да и восстановление работоспособности быстрее чем из бэкапа. В Инете есть такое решение для linux (http://gazette.linux.ru.net/rus/articles/clusters.html). Были высказаны идеи как это реализовать при помощи carp(4) и gmirror(8). Я обрадовался, оказалось все необходимое под рукой и начал эксперементировать. Сперва прочитал, естественно, handbook (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html), Локальное зеркалирование дисков мне не нужно было, но как это все работает проверил, вопросов не было. В то время под рукой была версия OS 6.1RC1. Из железа: две похожие машинки, Celeron 1.8, 1Gb Memory, HDD ide 60Gb, rtl8139 ether. Подключены компы через свитч catalist 2950. Для создания RAID1 были "откушены" во время инсталляции с первого хоста 5Gb slice (/dev/ad0s2), а со второго - 5Gb раздела (/dev/ad0s1d). Пробовал создавать устройствво gm0 на host2. Для этого на host1 (192.168.2.253): [konst@host1 /etc]$ less gg.exports 192.168.2.254 RW /dev/ad0s2 а втором хосте делаю: ggatec create -o rw 192.168.2.253 /dev/ad0s2 создалось устройство /dev/ggate0 Затем создаю gm0: gmirror label -n -b round-robin gm0 /dev/ad0s1d gmirror load gmirror insert gm0 ggate0 fdisk, bsdlabel-ом распрелеяю все под раздел a, newfs /dev/mirror/gm0s1a gmirror configure -a И тут затык :( Скорость синронизации очень-очень низкая. Что я не делал какие параметры не менял, ничего не помогало. Спасибо огромное Andrey Ostanovsky и Dmitriy Kirhlarov за советы в какую сторону копать и на что обратить внимание и из-за чего может так себя вести синхронизация. Даже написал письмо с вопросом как повысить произодительность gmirror Pawel Jakub Dawidek, но либо он не читает, либо испугался моего английского ;) Короче плюнул на все и почему-то с надеждой стал ждать 6.2 После выхода релиза, я host1 проапдейтил cvsup-ом, а host2 install from iso. Изменил на двух машинках: [konst@host1 /etc]$ less /etc/sysctl.conf # # for gmirror. net.local.stream.recvspace=65535 net.local.stream.sendspace=65535 net.inet.tcp.sendspace=65535 net.inet.tcp.recvspace=65535 kern.ipc.maxsockbuf=2097152 затем сделал на первом хосте ggated -R 1048576 -S 1048576 а на втором ggatec create -R 1048576 -S 1048576 -o rw 192.168.2.253 /dev/ad0s2 снова создаю gmirror - и, о чудо, смотрю как начали гореть диодики активности HDD и сетевух! ;) При таких параметрах, что я задавал, скорость записи 100Mb (dd with bs=1024,2048) примерно 102400000 bytes transferred in 18.402945 secs (5564327 bytes/sec) а с bs=512 102400000 bytes transferred in 34.777086 secs (2944468 bytes/sec) Может не совсем корректно мерять скорость r/w если беру данные с того же винта куда и копирую, но так, для информации... Если во время того, как копируются либо читаются данные с раздела geom, видергивать из разъема сетевой карточки патчкорд - процесс останавливается, на консоль сообщение об ошибке. После 20 сек ожидания подключаю все на место, секунд через пять копирование восстанавливается. Если после перезагрузки gmirror восстановится без какого-то из member - то после ручного activate, либо insert синхронизируется все в фоновом режиме. Если при этом я уже рабоаю с mount разделом - то замедляется как и копирование так и "размазываение" данных примерно в 3-4 раза. о работать можно. Пять гиг по времени синхрогится примерно 8 минут, это когда ничего не делаю с разделом. Если сделать destroy gmirror, то данные на первом хосте возможно просмотреть, если сделаю mount /dev/ad0s2cs1 либо если с /dev/ad0s2 сделаю при помощи "ggatl create" ggate0. Тогда mount /dev/ggate0s1a А данные на втором хосте: mount /dev/ad0s1dcs1a либо опять "причесываем" при помощи ggatel и тогда /dev/ggate0s1a Дальше не ковырял. ;) Konstantin --- GoldED+/BSD 1.1.5 * Origin: ква (2:463/68.1124) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/395245bb7693.html, оценка из 5, голосов 10
|