RAID для сервера SCM
Мне нужно купить / построить сервер для размещения нашего хранилища Subversion (к вашему сведению: я разработчик / не специалист по ИТ). Очевидно, что это критически важно и требует высокой производительности сетевого и дискового ввода-вывода. Наш репозиторий в настоящее время 5 ГБ, и мы поддерживаем 20 разработчиков. Сервер должен был быть Windows 2008, но Linux - вариант, если это убедительное и более простое / простое решение.
ПОЯСНЕНИЕ: репозиторий объемом 5 ГБ имеет объем около 2 ГБ, и да, он должен обрабатывать 20 разработчиков, выполняющих несколько небольших коммитов, журналов, историй и извлечений в течение всего дня. (Как мне уточнить исходные коммиты? Несколько файлов C# тут и там, с несколькими строками изменений? Довольно стандартные вещи.)
ОБНОВЛЕНИЕ: Бюджет: я надеялся обойтись 2000 долларов или меньше, только потому, что я не думаю, что нам нужно тратить так много. Однако, если это займет 5000 долларов, то это то, что нужно. Это наша ЖИЗНЬ. Но если $2500 получает 100%, а $5000 получает 103%, это не стоит дополнительных денег.
Конечно, мой первый приоритет - целостность данных. Если диск выходит из строя, я хочу, чтобы машина прекратила запись, и я мог быстро вставить новый диск, чтобы машина работала как можно быстрее. (Я могу справиться с несколькими часами простоя, но не с несколькими часами "работы" во время простоя).
Я не думаю, что мне нужен (или я хочу) RAID 5, так как стоимость восстановления кажется высокой / сложной.
Как минимум, я мог бы использовать RAID 1 и иметь резервный диск (явно не из той же партии или даже производителя;-)
RAID 1+0 выглядит быстрее? Стоит ли сложности?
Может кто-нибудь подсказать мне несколько советов и рекомендаций по управлению диском RAID, в частности, какое бы решение ни предлагалось, как мне управлять отказом диска. Есть ли программное обеспечение, которое может уведомить меня (электронная почта / пейджер), если диск умирает? Программное обеспечение, которое будет препятствовать записи на диск в этот момент?
Любые другие вещи, которые мне нужно подумать?
ОБНОВЛЕНИЕ: Мой вопрос заключается в следующем: каковы преимущества аппаратного RAID по сравнению с программным RAID-массивом Windows Server 2008 для RAID 1+0 по скорости, управлению (мертвого диска) и оповещениям о сбое диска.
Спасибо
4 ответа
Если диск выходит из строя, я хочу, чтобы машина остановила запись, и я мог вставить новый диск в
RAID-контроллеры обычно не работают так. В случае сбоя диска контроллер помечает массив как поврежденный и продолжает работать с массивом (но с меньшей скоростью, так как ему требуется дополнительная обработка ошибок).
Я не думаю, что мне нужен (или я хочу) RAID 5, так как стоимость восстановления кажется высокой / сложной.
Как правило, RAID 5 и 6 являются идеальным выбором, стоимость восстановления редко возникает. Хуже того, производительность записи RAID 5/6 может быть довольно низкой.
Я мог бы использовать RAID 1
Для 20 пользователей, с приличными дисками, я думаю, это было бы хорошо.
RAID 1+0 выглядит быстрее? Стоит ли сложности?
Да, RAID 1+0 быстрее и не имеет какой-либо значительной дополнительной сложности - это один из наиболее часто используемых уровней RAID, и все хорошие контроллеры имеют зрелую реализацию этого. В идеальном мире RAID-массив с четырьмя дисками 1+0 может иметь в 4 раза большую скорость чтения и в 2 раза большую скорость записи на один диск. Одна вещь, однако, возрастает, поскольку вам нужно как минимум 4 диска, а эффективный объем хранилища относительно количества используемых дисков не слишком велик.
как мне справиться с отказом диска. Есть ли программное обеспечение, которое может уведомить меня (электронная почта / пейджер)
Поставляется с контроллером, если вы покупаете приличный; Вам просто нужно установить программное обеспечение для управления и настроить его для уведомлений по электронной почте. Кроме того, вы можете установить диск "горячего" резервирования на контроллер, чтобы он сразу перестраивался (обратите внимание, что при перестроении производительность снижается).
3 подсказки:
- Измерьте текущий шаблон дискового ввода-вывода и требования к производительности на существующем сервере (perfmon и т. Д.). Не переусердствуйте с RAID, если ваш реальный дисковый ввод-вывод не так высок. 20 пользователей - это немного, но, конечно, Subversion может потребоваться больше дискового ввода-вывода, чем можно было бы подумать.
- Покупайте серверы известных брендов (Dell, HP, IBM и т. Д.), Но не DYI. Это почти никогда не стоит для стандартного стандартного сервера.
- Помните, RAID!= Резервное копирование. Вы, кажется, немного зациклены на сценарии сбоя диска - RAID обеспечивает более длительное время безотказной работы сервера и больше дискового ввода-вывода, но вам все еще нужны правильные резервные копии.
Я бы порекомендовал аппаратную настройку RAID 1+0. Это даст вам хорошую производительность и избыточность / отказоустойчивость за счет стоимости немного больше (требуется больше дисков по сравнению с RAID 5).
Зеркальный том RAID содержит 2 копии всех данных, поэтому при сбое диска у вас остается доступная копия. Вам не нужно блокировать доступ к диску при сбое диска. Вы можете настроить свою систему с помощью дисков "горячего резервирования", которые остаются неиспользованными до тех пор, пока не произойдет сбой диска, затем оживают и автоматически заменяют вышедший из строя диск. Это должно дать вам полнофункциональный том RAID, который может выдержать сбой другого диска и даст вам достаточно времени для замены неисправного диска. Для того, чтобы том RAID 1+0 полностью вышел из строя, вам понадобится несколько сбоев дисков за короткий промежуток времени (что, как правило, довольно редко).
Большинство аппаратных RAID-контроллеров поставляются с программным обеспечением для управления, которое может предупредить вас о сбоях.
Большую часть моего опыта работы с сервером я использую продукты HP, поэтому я в основном говорю с этой точки зрения (хотя большинство других брендов делают что-то подобное).
Ваш репозиторий имеет 5 ГБ, но как часто ваши коммиты / обновления и их приблизительный размер?
Сколько денег мы здесь работаем? Это действительно самый важный первый вопрос, который вы должны задать себе.
Я думаю, что RAID 1 или 1+0 с 1 или 2 "горячими" резервами были бы идеальными, так что в случае сбоя диска карта raid автоматически начнет перестраивать RAID, используя диск "горячего" резервирования. Затем вы просто купили бы новый диск, чтобы он соответствовал имеющимся у вас, и заменили на него плохой.
Из вашего описания я не вижу, где может возникнуть высокая нагрузка на сеть или дисковый ввод-вывод. 5 ГБ - это очень маленький репозиторий для SCM, файлы C# имеют размер всего несколько КБ, а 20 разработчиков вообще не проблема. Поэтому вам следует сконцентрироваться на надежности ваших настроек, чтобы сервер с резервными блоками питания и RAID 1 были в порядке. Ваша главная задача должна состоять в аварийном восстановлении, но это ничего не даст вам установка RAID, как вы, наверное, знаете.