В настоящее время у нас есть Thecus N12000V с 16 ТБ в RAID 10 (в настоящее время наполовину заполнен). Из того, что я читал в Интернете, это около 50 МБ / с. Из-за того, что к нему подключается слишком много людей, большинство людей в лучшем случае получают 3 МБ / с. (Все компьютеры используют SMB, все компьютеры - Win 7 Pro, которые не поддерживают NFS).
Было бы эффективно иметь 3 таких же NAS-бокса, которые постоянно синхронизируют RSync, подключить их к серверу Server 2008 R2 и позволить ему выполнять балансировку нагрузки между 3-мя с помощью DFS? Есть ли лучшее решение для балансировки нагрузки? Я изо всех сил стараюсь не превращать этот вопрос в вопрос "покупки"; если мне нужно уточнить его, дайте мне знать.
Я бы порекомендовал не использовать вручную созданную распределенную файловую систему, когда разные люди обращаются к разным дискам для файлов, потому что вы столкнетесь со значительными проблемами синхронизации, когда два человека изменят один и тот же файл в разных местах.
Существует ряд распределенных файловых систем (и схем распределенных блочных устройств, на которых вы можете создавать файловые системы) (см. https://stackoverflow.com/questions/269179/best-distributed-filesystem-for-commodity-linux-storage-farm для набора указателей на решения с открытым исходным кодом). Они ориентированы на отказоустойчивость, масштабируемость размера и производительность удаленного доступа, но по своей природе улучшают масштабируемость мультиклиентского доступа, если у вас есть несколько локальных узлов. К сожалению, вы не сможете использовать их в автономных системах NAS, не предназначенных для корпоративных клиентов (по крайней мере, ни с одним из них, которые я видел).
Ограничение скорости от 50 до 100 Мбит / с с сетевым адаптером на Гбит, вероятно, будет наложено либо сетевым интерфейсом, либо контроллером ввода-вывода, который управляет RAID, но основным узким местом для пропускной способности, скорее всего, будут диски, а не любой из тех. Поскольку несколько человек снимают данные с дисков, головы будут подпрыгивать повсюду, получая немного данных для клиента 1 отсюда, перемещаясь, чтобы получить немного данных от клиента 2, затем клиента 3, затем ... , затем обратно к обслуживанию запроса клиента 2, ..., ..., ... - и во время каждого перемещения головки накопитель не может передавать данные. Контроллер ввода-вывода может уменьшить этот эффект, используя несколько приемов (умные алгоритмы лифта для каждого привода (см. http://en.wikipedia.org/wiki/Elevator_algorithm), умная последовательность запросов между дисками, когда запрошенные данные находятся более чем в одном месте, и т. д.), но есть предел тому, насколько полезными могут быть эти методы.
Если у NAS-устройства есть собственная оперативная память для кэширования, а не для того, чтобы полагаться на диски, чтобы делать все это, вы можете обнаружить, что у него есть опции для управления считывающей головкой и последовательности чтения, которые могут помочь за счет дальнейшего уменьшения количества движений головки, необходимого для обслуживания. один и тот же набор одновременных запросов (хотя будьте осторожны и тщательно проверяйте любые изменения, так как вы можете сделать ситуацию хуже, чем лучше, а лучшие варианты для одного шаблона доступа могут быть ужасными для других).
Еще один вариант, на который стоит обратить внимание, - это твердотельные накопители, так как они сводят на нет большую часть задержки, которая замедляет работу дисков на основе вращающегося металла в ситуациях произвольного или множественного доступа. Хотя, вероятно, будет слишком дорого заменить все ваше пространство на новую блестящую технологию SSD, есть варианты на полпути. Гибридные диски вращаются как металл со встроенным блоком SSD-накопителя, который он использует в качестве кеша (и, будучи энергонезависимым, они могут использовать его для операций записи буфера, а также для ускорения чтения). Некоторые блоки NAS имеют встроенную поддержку использования SSD-накопителей в качестве большого энергонезависимого кеша для больших традиционных накопителей, что устраняет необходимость замены всех накопителей на гибриды и, вероятно, будет более эффективным, хотя IIRC эта функция только на более дорогих коробках на данный момент.
DFS обеспечивает только определенную степень балансировки нагрузки. Он не учитывает количество клиентских сеансов, поддерживаемых репликой / Продолжительность сеансов, и использует циклический выбор в стиле DNS.
Сам NAS имеет Link Aggregation с поддержкой балансировки нагрузки и аварийного переключения, Я бы определенно изучил это подробнее, прежде чем пытаться создать «домашнее» решение для балансировки нагрузки.