Как лучше реализовать структуру файлохранилища для средней (200-250 человек) организации?

Добрый день.
Встал вопрос выбора структуры файлового хранилища для одной организации. Предполагаемый объем данных – 4 Тб образов виртуальных машин для HyperV сервера (а в дальнейшем кластера), 4 Тб под файлопомойку (офисные документы, куча всяких мелких отчетов) и 6 Тб под перемещаемые профили пользователей. Нагрузка для 200-250 пользователей. Данные меняются не очень часто.

Прошу совета у более опытных коллег, как это запихать в железо? Мне нужно, чтобы это было надежно и работало, как часы. Обеспечивало приемлемую скорость работы с файлами по сети. Хотелось бы предусмотреть отказоустойчивость в пределах 3-4 часов и дальнейшую масштабируемость.
Как себе накидал - Один выделенный физический сервер SuperMicro под Windows 2012 R2 (на него есть лицензии) с RAID-контроллером RAID1 под систему и 4 дисками SAS 10 Тб 10000 об/мин в RAID10 для данных. На томе включена дедупликация и Shadow Copy. Все данные хранятся на одном томе. И еще одна виртуальная машина на другом сервере Hyper-V с включенной службой DFS. На ноде Hyper-V резервная виртуальная машина хранится на RAID1 20ТБ SATA диске для дешевизны. Или хранилище для тома с данными пользователей мапится внутри виртуальной машины через iSCSI таргет с сервера бекапов. Синхронизация между двумя серверами идет по DFS в режиме актив-пассив по ночам, в период наименьшей загрузки серверов. Тогда в случае выхода из строя основного физического сервера перемапливается корень DFS и пользователи продолжают работать. Потеря файлов на шарах за 5-6 часов для работы не так критична, важные данные можно позже вытащить из бекапа. Живет на этом всем 2-3 дня, пока чинится основной сервер.

Рассматривал вариант второй сервер делать не виртуальным, а сразу собрать на базе Storage Spaces от MS Server 2012 R2 RAID1 20 Тб дисках SATA и 2 Тб SSD SATA. Тогда в случае выхода из строя основного сервера не будет все нещадно тупить и тормозить. Storage Spaces даст Tiering для часто используемых файлов и время восстановления основного сервера можно увеличить до недели или двух. Есть ли смысл от такого решения? Или как лучше организовать структуру файлохранилки для средней руки офисной организации?
  • Вопрос задан
  • 1857 просмотров
Пригласить эксперта
Ответы на вопрос 6
@rPman
200 пользователей, нагрузка может оказаться приличная. Вы готовы до хранилища 10гигабит тянуть? Или у вас 6тб ssd?

Мой совет, подумайте о разделении хранилища на несколько, по задачам. Не все же 200 человек лезут к одним и тем же данным, наверняка там по подразделениям легко все поделить. Речь не о доступе а о физическом размещении данных по железу (диски и сервера со своими сетевыми подключениями).

Даже если все это железо будет в одной стойке сидеть, главное физически разделить данные. Из-за этого вместо 3тб hdd и больше дисков иногда оправданы 1тб размеры (меньше уже цены за гигабайт грустные).
Ответ написан
Комментировать
@akhoroshiy
Нужно определить уровни желаемой отказоусточивости.
1.Виртуализация - уровень хоста
2. CSV\Storage
3. Guest OS
4. Data(Content)

Затем нужно понять отказоустойчивость нужна в режиме Active - Active или Active - Passive и auto Failover
или Manual failover.
DFS - Active - Active. Но репликация на файловом уровне. То есть пока файл залочен - он не будет отреплицирован на другие ноды. Но нету failover.
Storage Replica - реплицирует том на блочном уровне в режиме синхронном или ассинхронном. Ему не важно какие данные храняться, он реплицирует блоки. Но переключение на другую ноду - ручками.
FS cluster - Один диск, который ездит между нодами кластера. Но есть фейловер.
Так же можно комбинировать технологии. Например использовать FC с Storage Replica или DFS + SR.
Так же можно делать реплику целой виртуалки на уровне виртуализации.
Бекапы - на вкус и цвет. Можно бекапить на уровне виртуализации, можно на уровне guest OS. В случае с Hyper-V - прекрастно бекапиться через powershell с дедупликацией бекапов. Гостевые даннные легко бекапаться через powershell direct для VM прямо с гипервизора.

По поводу хардварных решений по типу Synology - нужно два девайса для HA. Горизонтальное маштабирование - дорогостоющее. Маштабирование в основном только вертикальное.
Ответ написан
Комментировать
anthtml
@anthtml
Системный администратор программист радиолюбитель
1. Анализируйте как часто какие данные и куда бегают (в какие папки и тд) - таким образом получите срез что по загрузке конкретных веток шары и выясните что где важнее IOPSы, скорость, энергосбережение
2. Исходя из вышеописанного прикидываете как вам разнести эту шару по железу
3. Совет. Файловые серваки лучше собирать на хостовой системе, а не на гипервизорах, т.к. в случае чего все данные остаются на винтах чистыми, а не в образах дисков, да и по статистике быстрее работает.
4. Прерационка сервера на отдельном диске. Бекап системы снимать раз в сутки акрониксом раз в сутки и отправлять на сервер бэкапов: если че с системой - просто раскатываем вчерашний бэкап, если с систдиском - меняем и раскатываем вчерашний бэкап
5. По DFSу отправлять на сервак бэкапов. Как минимум в другую комнату, а желательно и здание
6. Раз в неделю критические данные бэкапить акрониксом и в облако или еще куда за пределы территории
В таком случае вам скорее и 10TB сасы не понадобятся, а достаточно будет взять каких 2-4ТБ сас, для остального sata/ssd
Ответ написан
take
@take
я люблю любить
Я скорее отвечу не автору, который уже выбрал стратегию и очевидно уже так или иначе ангажирован в пользу Microsoft. Напишу тем, кто будет это читать.

Имея несколько Synology на протяжении нескольких лет, я убедился насколько это гибкий, быстрый и прекрасный NAS. 200 пользователей, это не 2000+ (для такого количества я не берусь давать советы), но для средней и чуть выше средней компании связываться с Microsoft это не только сверх-расходы, но и худшая производительность и гибкость. Очевидно преимущество и софтового рейда (на Synology) перед железным на Windows. Разницы в скорости не будет, а вот через 5-6 лет искать точно подобные диски и переплачивать...

Есть у Synology профессиональные решения, цены можно посмотреть тут (открыл первый попавшийся русский сайт). На сайте самой Synology для данных задач (250 пользователей ) было предложено несколько моделей: 5d09f8e5e5b9c061826060.jpeg

но кажется не все они есть в России (судя по первому линку).

У софта много своих и сторонних приложений, начиная от популярных веб-серверов и CMS движков, wiki и заканчивая возможностью запускать виртуальные машины. (Synology основан на Linux)

Но расскажу про одну неприметную фичу, которая мне кажется очень полезной. Все удаленные или перезаписанные файлы пользователями попадают в корзину, которая доступна только администратору и который, естественно, настраивает время хранения файлов в ней. Не знаю есть ли такое на Windows.
Ответ написан
MaxLK
@MaxLK
сети, виртуализация, СХД...
Вы роете себе громадную яму. Рейд 10 нельзя использовать вообще. Хотя выглядит все великолепно, на практике он умирает со всем данными безвозвратно. Из 4х дисков лучше собирать 3й с горячей заменой. Супермикро совершенно не вписывается в концепцию "Мне нужно, чтобы это было надежно и работало, как часы". Нужно исходить из доступного бюджета, задач, и допустимого времени простоя. 200 пользователе могут изредка скидывать готовые текстовые файлы, а могут дружно рендерить 3Д. требования к железу будут совершенно разные.
Из описания не ясно - на хранлку ВМ будут бекапиться, или работать с нее?
Если денег нет совсем, но хочется, кроме Синолоджи есть Кунап. который кроме CIFS умеет блочный достпуп и NFS, встроенными средствами умеет синхронизироваться между устройствами, сетевые "корзины" (куда будет падать все удаляемое) не доступные пользователям (или доступные, как настроите), логирование действий, консоль мониторинга. а еще с этого года умеет сервисное обслуживание.

Задача на самом деле не так проста, как кажется сначала. Если собрать решение из говна и палок - результат будет соответствующий. Например будьте готовы что для обновления ПО Вам придется перезагружать устройства, что предполагает работу по ночам или в выходные. Насколько оно Вам нужно? По опыту, нагруженная хранилка на САТА дисках за два года требует замены всех дисков - считайте стоимость владения закладываясь на форсмажоры.

Я бы рекомендовал обратиться к интеграторам, одному-двум хотя бы. Вы получите представление о том, что и как надо считать для подбора решения, у Вас появится представление о существующих решениях, их функционале. Вам надо обязательно озвучивать допустимое время простоя, возможность масштабирования. Учитывать не только стоимость решения, но и стоимость поддержки, во что Вам выльется ее отсутствие по деньгам, времени на самостоятельное решение проблем как программных, так и аппаратных, времени внедрения. Чтобы Вам посчитали производительность в IOPS, учли производительность сетевого оборудования уровня ядра и уровня доступа, интерфейсы оборудования в пользовательскую сеть и между собой, для блочных устройств нужно еще посчитать нужна ли SAN сеть и ее стоимость, сможете ли Вы сами ее настроить. Учесть требования по питанию в нужное время работы без оного, количество портов питания и заложить PDU исходя из этого и кабеля с подходящими разъемами. Не забыть посчитать сколько места это займет в стойках, его вес и габариты (чтобы Вы могли занести это в помещение через существующие двери и после установки оно не провалилось в подвал вместе со стойками и перекрытиями). Учесть как вы будите восстанавливать бекапы, что если Вы их будите хранить на виртуалках на которых погибнут диски - у Вас все пропадет на корню, а если просто на дисках в рейде - на восстановление у Вас уйдет около недели при гибели рейда (это если в Вашем городе есть контора по восстановлению и есть на это денешка). Начните с ТЗ в котором будут все Ваши требования по объемам, скорости работы, типам данных и их объему, существующие каналы в ядре и к пользователям, время на восстановление из бекапа, время восстановления оборудования с бекапом. Зная скорость в ядре сети и скорость к пользователям Вы сможете примерно рассчитать максимально доступную скорость и объем данных которую Вы сможете забирать с хранилки, то есть какие диски Вам нужны и их количество. Учтите что вендоры рекомендуют заполняемость хранилок не более 60%, при большей заполненности может значительно просесть производительность. Практика показывает, что результат работы интегратора очень полезно показать вендору с просьбой проверить на корректность ТЗ и наличию всех необходимых лицензий. И вообще пообщаться с техотделом вендора очень полезно для понимания что и как будет работать, действительно ли то, что Вам предложили Вам нужно или есть другие решения. Кстати после такого общения иллюзия "я воткну рейд 10 в супермикро и у меня все залетает и будет надежно на 100%", как правило проходит. Или становится непоколебима :)

Учтите, что если Вы что-то из этого сделаете неправильно, или забудете - после внедрения придется отвечать на вопрос типа "мы вложили кучу денег в решение, а в результате получили кучу проблем, лаги и тормоза - как будешь возмещать?!". Если заложенного бюджета не хватает на решение, которое соответствует задачам - надо готовить два варианта, подходящий под задачи и подходящий по деньгам со списком + и - и говорить "можно дешевле, но тогда нас ждет это ..." Тогда когда настанет жопа можно будет хотя бы сказать что решение принимало руководство и эта жопа была запланирована и ожидаема.
Ответ написан
@voltage0
Интересно было прочитать ветку. Тк и задача описана неплохо, и было предложено много как решений так и подходов. Я тоже внесу свои 5 копеек.

1. Многое зависит от ситуации и от опыта автора. От требований к решению. От бюджета... продолжать можно долго. Поэтому наверное трудно как дать ответ так и сделать выбор.

Например. Если уже есть инфраструктура на "Windows", возможно будет не самым оптимальным решением работать с Linux и решениями Synology и иже с ними.

Если есть возможность подключить к работе интегратора, то можно получить опыт взаимодействия с интегратором. Но не получить опыт связанный с запуском такого решения.

И так далее.

2. Есть очень странные "советы", и видимо у авторов этих советов есть опыт, который позволяет давать им такие советы.

Например, про RAID10. RAID10 - вполне себе массив. У него есть и плюсы и минусы.
Или сервера SuperMicro. Эти сервера наверное не хуже и не лучше чем сервера Dell или HP. Они более доступные. Но сервис хуже. Хотя многое зависит и от поставщика.

3. Наверное сейчас не лучшее время для SAS дисков. Тк:
- если нужен объем, берем SATA
- нужна скорость, берем SSD

4. Из моего опыта, теневые копии для Windows - это отличное подспорье, как для пользователей так и для техподдержки. Многие вопросы, "утром файл был а сейчас его нет" - можно решать на месте. Бэкапов они не отменяют разумеется, но время на поддержке экономят знатно.

5. И опять из опыта, не стоит отказываться от виртуализации. Такой слой абстракции позволяет многие вопросы решать проще.
- резервные копии и восстановление из них. Иметь копию данных и иметь ВМ с данными ни одно и тоже. Обычно ВМ можно запустить быстрее и меньше накладных расходов.
- проще делать миграции, переезды и реализовывать схемы с HA

6. Уже звучал, разделите хранение данных по характеру нагрузки. Условно не храните все в одной корзине.
Например:
- файловый сервер, умеренная нагрузка в рабочие часы
- профили, высокая нагрузка в начале и конце "смены"
- вм - "равномерная" нагрузка в течении дня
Это позволит более гибко реализовать управление доступом, резервное копирование и восстановление и тд
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы