Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Администрирование *NIX систем > [FreeBSD]software-RAID: gmirror |
Автор: skyboy 10.8.2007, 09:35 |
есть комп. не серверный совсем(![]() Для резервирования(система работает в режиме реального времени - данные обновляются гораздо чаще раза в секунду), как я вижу, надо нечто быстрее и "низкоуровневее" dump'a. Вижу два решения(оба - на основе http://ru.wikipedia.org/wiki/RAID): 1. Hardware-based RAID. Контроллер на RAID1 стоит не очень дорого(как выяснил: от 160 у.е.), но хотелось бы RAID5(который стоит от 400 у.е. - на такие расходы пойти не могут). 2. Software-based RAID: благодаря механизму http://www.freebsd.org/cgi/man.cgi?query=geom можно реализовать RAID, управление которым будет отдано ОС(что нагрузит процессор, естественно). При помощи gmirror RAID0, gstripe - RAID1 и т.д.(собственно говоря, software-based решений http://people.freebsd.org/~rse/mirror/, но меня интересует пока что gmirror) ----- А теперь вопрос: кто использовал "soft-RAID", насколько страдает производительность? я пока что знакомлюсь с FreeBSD в виртуальной машине, потому не могу судить адекватно. Вообще, стоит такое(программные механизмы зеркалирования) использовать? или лучше копить на контроллер? |
Автор: ZeeLax 10.8.2007, 10:10 |
При таком финансовом раскладе у софтового контроллера огромный плюс - быстрая замена в случае сбоя. Если у вас накроется железный контроллер, на который ещё и были потрачены с трудом накопленные деньги, то, скорее всего вы не приобретете быстро второй такой (и не факт, что легко найдете его вообще, а с другим ваш массив будет кучей железа). Насчёт загрузки сказать не смогу, т.к. использовал RAID только при небольших нагрузках. Да и про вашу нагрузку тоже пока не много ясно. В принципе, процессоры нынче дешевеют, не в пример железным RAID-контроллером, так что, думаю, выбор тут только один. |
Автор: skyboy 10.8.2007, 11:22 |
ок. а как насчет выбора механизма? за http://www.freebsd.org/cgi/man.cgi?query=gmirror&sektion=8&apropos=0&manpath=FreeBSD+6-current хватаюсь, потому что про него хоть что-то прочитал ![]() а как http://www.freebsd.org/cgi/man.cgi?query=ata&sektion=4&apropos=0&manpath=FreeBSD+6-current, http://www.freebsd.org/cgi/man.cgi?query=ccd&sektion=4&apropos=0&manpath=FreeBSD+6-current и http://www.freebsd.org/cgi/man.cgi?query=gvinum&sektion=8&apropos=0&manpath=FreeBSD+6-current? как я понимаю, gmirror и gvinum использоуют один и тот же механизм GEOM, а вот как быть с ccd и ata? Что быстрее/функциональнее/надежнее? Впрочем, если сообщите достоинства/недостатки - и сам, пожалуй, выберу ![]() Второй день на этом месте. Я раньше FreeBSD даже не видел. А тут ... ![]() |
Автор: skyboy 10.8.2007, 17:06 |
нашел http://www.onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html касательно gmirror. "Зеркало" из одного диска создалось. Но при попытке после перезагрузки подключить второй диск(второй диск точно в наличии и работает - это файл-образ в виртуальной машине) к имеющейся системе получил "cannot access provider /dev/ad1". Как я понимаю, система не воспринимает его именно как GEOM-провайдера. Подключаемый диск такого же размера, как и первый, и не размечен. Может быть в этом причина? Я не нашел упоминаний, что диск-зеркало должен быть размечен и надеялся, что система сама возьмет на себя разметку в автоматическом режиме. Зря надеялся? |
Автор: Glip 11.8.2007, 13:31 |
вот еще статья http://dreamcatcher.ru/index.php?option=com_content&task=view&id=21&Itemid=6 тоже есть желание попробовать, но все руки не доходят |
Автор: skyboy 11.8.2007, 14:29 | ||||||||
Glip, спасибо. В принципе,этим руководством и пользовался(только на буржуйском ![]() ![]() Предпосылки:
после всего означенного в /dev/ появляется /mirror/gm0
выдает:
Попытка
ничего не дает. Точнее, форматирование проходит успешно, но монтирование так и выдает "unknown ...". Что я пропустил/перепутал? |
Автор: skyboy 20.8.2007, 12:31 | ||||||||||||||||
нашел ещё один механим: http://www.freebsd.org/cgi/man.cgi?query=atacontrol&sektion=8. учитывая, что на целевой машине напрочь отсуствует SATA-контроллер и, соотвественно, SATA-диски(жаль; сильно я рассчитывал на SATA) решил поинтересоваться "горячим" отключением и наткнулся на "atacontrol detach"/"atacontrol attach". А потом подметил "atacontrol create mirror". Сейчас идет ребилд, так что, как мне кажется, эксперимент удался ![]() итак. пошагово. в качестве инсутркций больше остального использовал статьи на http://www.opennet.ru: [url=http://www.opennet.ru/tips/info/896.shtml]Создание atacontrol RAID1 под FreeBSD на живой системе [/url] http://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi?az=show_thread&om=12290&forum=vsluhforumID3&omm=7. на всякий случай приведу "вытяжкой" собственные действия, которые мало в чем отличаются от описанных в статье. # ad0 - на ata0 содержит установленную систему # ad3 на ata1 пуст и девственно чист
# редактируем /etc/fstab, чтоб все, что раньше указывало на "живой" диск(в моем случае - ad0) стало указывать на mirror(у меня - ar0)
# во время загрузки смотрим, чтоб RAID запустился без проблем
Внимание! На этом этапе я получил ругань "(IOCATARAIDADDSPARE): Device busy". Так и не понял, с чем это должно быть связано(у меня FreeBSD 6.2, так что, возможно, http://kerneltrap.org/node/454 виноват). Проблема решилась после
Далее:
Вот такие пироги. Надеюсь, процесс на реальном компьютере окажется не сложнее, чем на виртуальной машине ![]() |
Автор: bilbobagginz 20.8.2007, 15:10 |
насчет железный контроллер версус программный: железный намного более надежный. лично сам не слышал о случае, что полетел сам контроллер. программный RAID дешевле, и иногда, на современном железе - достаточно надежный. думаю все-же лучше иметь комбинированную систему: mirror + RAID5. т.е. каждую пару дисков - в RAID0, и каждый RAID в РАИД5. это будет побыстрее. удачи. |
Автор: skyboy 20.8.2007, 15:45 | ||||||||||
если RAID-5 - это ты про контроллер, то могу только развести руками: 400 баксов самый простой из тех, что нашел ![]() А 30-баксовые RAID1+0 слишком просты и ненадежны, как на меня. Кроме того, придется докупать НЖМД и два кармана, и, что самое главное, уже на это не знаю, как уговорить начальство. Так что аппаратный контроллер курит в стороне ![]() Добавлено через 5 минут и 32 секунды спасибо ![]() провел эксперимент: после синхронизации отключил один из дисков зеркала(мастер: ata0-Master). Так как работаю в виртуальной машине, то "просто отключить" не могу. Сделал
естественно, мне было сообщено, что RAID разваливается. Но система работать продолжила(как и ожидалось). Это есть гуд. Проблема возникла, когда я захотел подключить диск обратно.
прошел без сучка, без задоринки. Диск обнаружен. Естественно, сам он в RAID не вернется. Делаю руками:
и получаю
Ну, думаю, мы тоже не пальцем деланы. Пробую финт ушами(выше уже указывал на такой прием):
Но на этот раз финт не помогает :( Получаю все то же "device busy" |
Автор: skyboy 20.8.2007, 16:01 |
с gmirror тоже разобрался - я просто через одно место диск размечал. начиная хотя бы с того, что gpt не надо было делать. вобщем, собрал массив с использованием gmirror. одна проблема(точнее, две): rebuild дисков система проводила намного дольше(25 минут против 13 для atacontrol) и, что намного важнее, не в фоне(atacontrol работала в фоне и о процессе работы надо было интересоваться "вручную": "atacontrol status ar0"). Т.е. я не мог подключиться к другим виртуальным консолям и к текущей доступа не имел. Правда, не знаю, как вели себя уже запущенные процессы... Сыммитировал отключение второго диска. При подключении gmirror сразу же кинулся его rebuild'ить, что само по себе не плохо, но вкупе с блокировкой работы и длительностью процесса угнетает. А если я банально не тот диск вставил? Проверить и заменить мне не дают... Нехорошо... Добавлено через 14 минут и 31 секунду Судя по всему, после синхронизации массив вполне исправно работает. в отличие от atacontrol'ного подхода :( но синхронизация практически одинаковых дисков(сразу после detach сделал attach) происходила ненамного быстрее восстановления "с нуля"(диск на 10 Гб). И это все с блокировкой консоли. Грусно.... |
Автор: bilbobagginz 22.8.2007, 14:17 | ||
вопрос вообще в том нужно ли вам столько ГБ в этой конфигурации, ответ - сколько пользователей грузят файловый сервер, сколько нужно ГБ. если достаточно много, то RAID0+1 просто не выдержит. а на RAID5 можно нагнать 200-300 MB/s, что не есть плохо. удачи. |
Автор: skyboy 23.8.2007, 09:04 |
пока пользователь один - программа-монитор, если нужно будет сделать дополнительные подключения, пожалуй, лучше поставлю отдельный сервер приложений(с кешированием и управлением скоростью ![]() ![]() ![]() Единственное замечание: я думал, что RAID-1(даже программный) распараллеливает запросы между двумя устройствами и получается прирост быстродействия... Впрочем, я не замерял. |
Автор: bilbobagginz 23.8.2007, 10:19 | ||
ДА, но не больше чем в 2 раза ( т.е. если диск 50-60 -> 100-110 МБ получишь, но с трудом ) |
Автор: skyboy 23.8.2007, 11:02 |
хехе. мне много не надо, но если говорить гипотетически, то максимальный прирост в скорости соотвествует количеству носителей. у аппаратных контроллеров это ограничено количеством портов, а вот программные решения менее ограниченные. Правда, не пробовал, но думаю, что gmirror-зеркало можно и на N(etwork)FS поднять и будет хоть 300 зеркал ![]() ![]() |
Автор: bilbobagginz 23.8.2007, 21:21 | ||
вообще-то это самый стандартный способ расшаривания дисков под *NIX. и у него как раз с масштабированием плохо. 300 не пойдет ![]() вот AFS может. и CODA тоже. |
Автор: Andrey_Lord 10.9.2007, 21:06 |
порочная практика некрофилить десктопный комп для важной информации.... вы как думаете какой срок жизни у ваших винтов ? а насчет ССD gmirror gvinum и т.д. мне хватило раза когда у меня развалился массив. теперь тольок аппаратные 3ware если сата или что-то посеръезнее если САС. |
Автор: bilbobagginz 11.9.2007, 11:14 | ||
тут нужно добавить еще и сколько денег потеряется если информация утеряется..... |
Автор: xZ0RGx 12.10.2010, 15:30 |
В общем случае железный RAID конечно надежнее. Но он и денег стоит. Причем хорошей практикой считается покупать сразу два контроллера. Один в сервер, а один на полку. Чтобы потом можно было быстро заменить и восстановить данные, а не бегать сутки по магазинам с глазами на выкате. В идеале конечно лучше с батарейкой, чтобы уже совсем спокойно спать, но с батарейкой дешевых уже не бывает. PCI-E несколько дороже, чем PCI-X, а PCI-X у вас нет наверное. http://www.fcenter.ru/eshop.shtml?cat/act=p:es:0:86:a:a:a:0:a:1:30:r:1:: Использовать обычный компьютер действительно плохо. Надежность всей системы равняется надежности самого ненадежного её элемента. На древней машине может и юг на матери сдохнуть например, блок питания может накрыться как делать нечего и т.п. В такую машину нет смысла ставить дорогое железо тогда. Я бы либо купил дешевый контроллер, либо сделал бы software RAID. Хотя на самом деле я пошел бы к директору сказал бы, что нельзя так работать. ![]() atacontrol мне кажется самый такой... express метод создания зеркала. Причем, как мне кажется он более низкоуровневый. Может я и не прав кончено. ![]() UPD: А, ну кстати еще весьма неплох fakeRAID при помощи ZFS. |