Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [FreeBSD]software-RAID: gmirror, поделитесь опыт использования 
:(
    Опции темы
skyboy
Дата 10.8.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



есть комп. не серверный совсем(smile), обычная "настольная" система(чесно говоря, конфигурацию точно не знаю, известно только, что Pentium IV в области 2-2,5 ГГц, что говорит об уровне остальных комплектующих). При этом на этом компьюетре под управлением FreeBSD крутится система, данные которой терять было бы довольно-таки неприятно. 
Для резервирования(система работает в режиме реального времени - данные обновляются гораздо чаще раза в секунду), как я вижу, надо нечто быстрее и "низкоуровневее" dump'a. Вижу два решения(оба - на основе RAID-технологии):
1. Hardware-based RAID. Контроллер на RAID1 стоит не очень дорого(как выяснил: от 160 у.е.), но хотелось бы RAID5(который стоит от 400 у.е. - на такие расходы пойти не могут).
2. Software-based RAID: благодаря механизму GEOM можно реализовать RAID, управление которым будет отдано ОС(что нагрузит процессор, естественно). При помощи gmirror RAID0, gstripe - RAID1 и т.д.(собственно говоря, software-based решений больше одного, но меня интересует пока что gmirror)
-----
А теперь вопрос: кто использовал "soft-RAID", насколько страдает производительность? я пока что знакомлюсь с FreeBSD в виртуальной машине, потому не могу судить адекватно. Вообще, стоит такое(программные механизмы зеркалирования) использовать? или лучше копить на контроллер?
PM MAIL   Вверх
ZeeLax
Дата 10.8.2007, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



При таком финансовом раскладе у софтового контроллера огромный плюс - быстрая замена в случае сбоя. Если у вас накроется железный контроллер, на который ещё и были потрачены с трудом накопленные деньги, то, скорее всего вы не приобретете быстро второй такой (и не факт, что легко найдете его вообще, а с другим ваш массив будет кучей железа). Насчёт загрузки сказать не смогу, т.к. использовал RAID только при небольших нагрузках. Да и про вашу нагрузку тоже пока не много ясно. В принципе, процессоры нынче дешевеют, не в пример железным RAID-контроллером, так что, думаю, выбор тут только один.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
skyboy
Дата 10.8.2007, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



ок. а как насчет выбора механизма? за gmirror хватаюсь, потому что про него хоть что-то прочитал smile
а как ataccd и gvinum? как я понимаю, gmirror и gvinum использоуют один и тот же механизм GEOM, а вот как быть с ccd и ata? 
Что быстрее/функциональнее/надежнее? Впрочем, если сообщите достоинства/недостатки - и сам, пожалуй, выберу  smile 
Цитата(ZeeLax @  10.8.2007,  09:10 Найти цитируемый пост)
Да и про вашу нагрузку тоже пока не много ясно.

Второй день на этом месте. Я раньше FreeBSD даже не видел. А тут ... smile
PM MAIL   Вверх
skyboy
Дата 10.8.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



нашел руководство к действию касательно gmirror. "Зеркало" из одного диска создалось. Но при попытке после перезагрузки подключить второй диск(второй диск точно в наличии и работает - это файл-образ в виртуальной машине) к имеющейся системе получил "cannot access provider /dev/ad1". Как я понимаю, система не воспринимает его именно как GEOM-провайдера. Подключаемый диск такого же размера, как и первый, и не размечен. 
Может быть в этом причина? Я не нашел упоминаний, что диск-зеркало должен быть размечен и надеялся, что система сама возьмет на себя разметку в автоматическом режиме. Зря надеялся?
PM MAIL   Вверх
Glip
Дата 11.8.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 473
Регистрация: 30.12.2006

Репутация: нет
Всего: 18



вот еще статья
http://dreamcatcher.ru/index.php?option=co...21&Itemid=6
тоже есть желание попробовать, но все руки не доходят


--------------------
user posted image
PM MAIL   Вверх
skyboy
Дата 11.8.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Glip, спасибо. В принципе,этим руководством и пользовался(только на буржуйском smile), вот только посеял идею, а пожал - проблему с подключением. Кстати, не совсем понятно, почему сначала прикрепляется один диск, а уже после перезагрузки добавляется зеркало. Попробовал(правда, из-под LiveCD Frenzy) создать "одним махом". Создалось. Когда сделал gmirror load, то и загрузилось и в /dev появилось /dev/mirror/gm0. И newfs отрабатывает(кстати, может, я зря newfs применил к зеркалу?), а вот mount сообщается: unknown file or filesystem type(вроде, так smile). 
Предпосылки:
  • Платформа - qemu
  • OS - Frenzy LiveCD
  • Диски - два образа, созданные виртуальной системой. Абсолютно неразмечены и девственно чисты
Делаю так(выполняю команды в командной строке по одной):
Код

# Создаю файловую систему
newfs /dev/ad0
newfs /dev/ad1 # на втором диске, который будет зеркалом, надо создавать файловую систему?
# создаю таблицу разделов(по крайней мере, я думаю, что я создаю таблицу разделов; поправьте, если это не так :))
gpt create /dev/ad0
gpt create /dev/ad1
# создаю зеркало(проходит без проблем, так как никто никуда ничего в это время не пишет, в отличие от варианта работы во время установки)
gmirror label -v -b round-robin gm0 /dev/ad0 /dev/ad1
# загружаю зеркало
gmirror load gm0 # здесь мне сообщают, что device gm0: provider/mirror gm0 launched.

после всего означенного в /dev/ появляется /mirror/gm0
Код

mount /dev/mirror/gm0
 
выдает:
Цитата

"Unknown special file or file system"

Попытка 
Код

newfs /dev/mirror/gm0

ничего не дает. Точнее, форматирование проходит успешно, но монтирование так и выдает "unknown ...". Что я пропустил/перепутал?

PM MAIL   Вверх
skyboy
Дата 20.8.2007, 12:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



нашел ещё один механим: atacontrol. учитывая, что на целевой машине напрочь отсуствует SATA-контроллер и, соотвественно, SATA-диски(жаль; сильно я рассчитывал на SATA) решил поинтересоваться "горячим" отключением и наткнулся на "atacontrol detach"/"atacontrol attach". А потом подметил "atacontrol create mirror". Сейчас идет ребилд, так что, как мне кажется, эксперимент удался smile
итак. пошагово. в качестве инсутркций больше остального использовал статьи на opennet.ru
[url=http://www.opennet.ru/tips/info/896.shtml]Создание atacontrol RAID1 под FreeBSD на живой системе
[/url]
и ещё в обсуждении.
на всякий случай приведу "вытяжкой" собственные действия, которые мало в чем отличаются от описанных в статье.
# ad0 - на ata0 содержит установленную систему
# ad3 на ata1 пуст и девственно чист
Код

atacontrol create mirror ad0 ad3
 - объявляю новый RAID-1 массив
Код

atacontrol detach ata1
 - не совсем понял зачем; инициируя отключение одного диска вызываем переход массива в "тревожный" режим
Код

atacontrol attach ata1
 - подключаем обратно канал с пустым диском; однако, физическое подключение ещё не значит, что диск "вернется" в RAID ar0
# редактируем /etc/fstab, чтоб все, что раньше указывало на "живой" диск(в моем случае - ad0) стало указывать на mirror(у меня - ar0)
Код

reboot
 - перезагружаемся
# во время загрузки смотрим, чтоб RAID запустился без проблем
Код

atacontrol addspare aro ad3
 подключаем к имеющемуся массиву пустой диск
Внимание! На этом этапе я получил ругань "(IOCATARAIDADDSPARE): Device busy". Так и не понял, с чем это должно быть связано(у меня FreeBSD 6.2, так что, возможно, geom виноват). Проблема решилась после
Код
#atacontrol detach ata1
#atacontrol attach ata1

Далее:
Код

atacontrol rebuild ata1
 - после этого происходит фоновая синхронизация, статус которой можно посмотреть при помощи 
Код

atacontrol status ar0

Вот такие пироги. Надеюсь, процесс на реальном компьютере окажется не сложнее, чем на виртуальной машине smile

Это сообщение отредактировал(а) skyboy - 20.8.2007, 12:32
PM MAIL   Вверх
bilbobagginz
Дата 20.8.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



насчет железный контроллер версус программный:
железный намного более надежный. лично сам не слышал о случае, что полетел сам контроллер.
программный RAID дешевле, и иногда, на современном железе - достаточно надежный.
думаю все-же  лучше иметь комбинированную систему:
mirror + RAID5.
т.е. каждую пару дисков - в RAID0, и каждый RAID в РАИД5.

это будет побыстрее.

удачи.






--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
skyboy
Дата 20.8.2007, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(bilbobagginz @  20.8.2007,  14:10 Найти цитируемый пост)
mirror + RAID5

если RAID-5 - это ты про контроллер, то могу только развести руками: 400 баксов самый простой из тех, что нашел smile
А 30-баксовые RAID1+0 слишком просты и ненадежны, как на меня.
Кроме того, придется докупать НЖМД и два кармана, и, что самое главное, уже на это не знаю, как уговорить начальство. Так что аппаратный контроллер курит в стороне smile))

Добавлено через 5 минут и 32 секунды
Цитата(bilbobagginz @  20.8.2007,  14:10 Найти цитируемый пост)
удачи.

спасибо smile гляжу, удача мне пригодится.
провел эксперимент: после синхронизации отключил один из дисков зеркала(мастер: ata0-Master). Так как работаю в виртуальной машине, то "просто отключить" не могу. Сделал 
Код

atacontrol detach ata0

естественно, мне было сообщено, что RAID разваливается. Но система работать продолжила(как и ожидалось). Это есть гуд. Проблема возникла, когда я захотел подключить диск обратно. 
Код

atacontrol attach ata0

прошел без сучка, без задоринки. Диск обнаружен. Естественно, сам он в RAID не вернется. Делаю руками:
Код

atacontrol addspare ar0 ad0

и получаю
Цитата

(IOCATARAIDADDSPARE): Device busy

Ну, думаю, мы тоже не пальцем деланы. Пробую финт ушами(выше уже указывал на такой прием):
Код

atacontrol detach ata0
atacontrol attach ata0

Но на этот раз финт не помогает :( Получаю все то же "device busy"
PM MAIL   Вверх
skyboy
Дата 20.8.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



с gmirror тоже разобрался - я просто через одно место диск размечал. начиная хотя бы с того, что gpt не надо было делать.
вобщем, собрал массив с использованием gmirror. одна проблема(точнее, две): rebuild дисков система проводила намного дольше(25 минут против 13 для atacontrol) и, что намного важнее, не в фоне(atacontrol работала в фоне и о процессе работы надо было интересоваться "вручную": "atacontrol status ar0"). Т.е. я не мог подключиться к другим виртуальным консолям и к текущей доступа не имел. Правда, не знаю, как вели себя уже запущенные процессы...
Сыммитировал отключение второго диска. При подключении gmirror сразу же кинулся его rebuild'ить, что само по себе не плохо, но вкупе с блокировкой работы и длительностью процесса угнетает. А если я банально не тот диск вставил? Проверить и заменить мне не дают... Нехорошо...

Добавлено через 14 минут и 31 секунду
Судя по всему, после синхронизации массив вполне исправно работает. в отличие от atacontrol'ного подхода :( 
но синхронизация практически одинаковых дисков(сразу после detach сделал attach) происходила ненамного быстрее восстановления "с нуля"(диск на 10 Гб). И это все с блокировкой консоли. Грусно....
PM MAIL   Вверх
bilbobagginz
Дата 22.8.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



Цитата

Кроме того, придется докупать НЖМД и два кармана, и, что самое главное, уже на это не знаю, как уговорить начальство. 

вопрос вообще в том нужно ли вам столько ГБ в этой конфигурации,
ответ - сколько пользователей грузят файловый сервер, сколько нужно ГБ.

если достаточно много, то RAID0+1 просто не выдержит.
а на RAID5 можно нагнать 200-300 MB/s, что не есть плохо.

удачи.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
skyboy
Дата 23.8.2007, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



пока пользователь один - программа-монитор, если нужно будет сделать дополнительные подключения, пожалуй, лучше поставлю отдельный сервер приложений(с кешированием и управлением скоростью smile) - нельзя допустить, что сервер БД перезагружался или мог быть заDoSен smile Так что мне нужна не столько производительность, сколько надежность. Но я учту совет  smile 
Единственное замечание: я думал, что RAID-1(даже программный) распараллеливает запросы между двумя устройствами и получается прирост быстродействия... Впрочем, я не замерял.
PM MAIL   Вверх
bilbobagginz
Дата 23.8.2007, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



Цитата

Единственное замечание: я думал, что RAID-1(даже программный) распараллеливает запросы между двумя устройствами и получается прирост быстродействия... Впрочем, я не замерял.

ДА, но не больше чем в 2 раза ( т.е. если диск 50-60 -> 100-110 МБ получишь, но с трудом )




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
skyboy
Дата 23.8.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(bilbobagginz @  23.8.2007,  09:19 Найти цитируемый пост)
ДА, но не больше чем в 2 раза

хехе. мне много не надо, но если говорить гипотетически, то максимальный прирост в скорости соотвествует количеству носителей. у аппаратных контроллеров это ограничено количеством портов, а вот программные решения менее ограниченные. Правда, не пробовал, но думаю, что gmirror-зеркало можно и на N(etwork)FS поднять и будет хоть 300 зеркал smile))) Даже за вычетом накладных расходов все должно просто летать smile Но это так, гипотетически. Заниматься таким я не собираюсь...
PM MAIL   Вверх
bilbobagginz
Дата 23.8.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



Цитата

Заниматься таким я не собираюсь...

вообще-то это самый стандартный способ расшаривания дисков под *NIX.
и у него как раз с масштабированием плохо. 300 не пойдет smile
вот AFS может. и CODA тоже.





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.1170 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.