Назад | Перейти на главную страницу

Server 2012 - возможно ли прозрачное переключение SMB без общих дисков?

вот сценарий - есть небольшой набор (около 200 ГБ) данных, которые я ДОЛЖЕН держать доступными. По сути, это общие VHD-образы, которые служат в качестве основных образов для многих наших виртуальных машин - затем они запускаются на разных дисках. Весь набор «в основном только для чтения». Более подробно: файл, который есть и используется, НИКОГДА не изменится. Я могу удалять файлы (когда они абсолютно не используются) и добавлять новые, но для файла, который существует однажды, устанавливается защита от чтения, и это будет до тех пор, пока он не будет удален.

Очевидно, мне нужно как можно больше времени безотказной работы. ТАК ДАЛЕКО, мы запускаем это, имея этот каталог локально на каждом сервере Hyper-V. Теперь я думаю перенести это в нашу структуру хранения. Из-за того, что «это ДОЛЖНО быть там», я в значительной степени хочу, чтобы архитектура не использовалась совместно.

DFS идеально подходит для этого - файл никогда не меняется, поэтому репликация будет работать нормально. Папки могут быть реплицированы на несколько серверов, все будут ссылаться на них оттуда. Теперь этот Hyper-V поддерживает SMB, что может быть хорошей идеей для их изоляции на нескольких серверах - мы пытаемся перейти к сценарию, в котором хранилище более централизовано.

Server 2012 поддерживает всегда на общих ресурсах, но кажется, что это работает только с кластерным диском позади. Есть ли способ обойти это для файловых хранилищ только для чтения? Вся документация указывает на такие вещи, как общий JBOD, но это оставляет меня уязвимым для повреждения файловой системы. Я действительно планирую пойти здесь совершенно отдельно, по вертикали - 2 сервера, оба с SSD только для этого, оба с собственным отдельным USV мощностью 2000 Вт, оба с достаточной пропускной способностью, чтобы обрабатывать все, что на них бросается (обратите внимание на всех, кто думает, что это 10 ГБ - это будет быть МЕДЛЕННЫМ и ДОРОГОМ по сравнению с хорошей магистралью Infiniband). Реальная проблема в том, что это, очевидно, крайний случай - файлы читаются только один раз при использовании.

Вы думали о чем-то вроде небольшого фильтрующего устройства NetApp - у них есть две «головы», одна заменяет другую в случае отказа и в течение достаточно короткого времени, чтобы не вызывать отключений. Мы их широко используем и имеем никогда произошел сбой из-за проблем с файловой системой. Но они не бесплатные;)

Я не думаю, что это выполнимо. Невозможно добиться прозрачности переключения при отказе без использования общих дисков. Как другой узел узнает, какие файлы обслуживает первый узел, без использования блокировок?

Единственный другой вариант, который я могу придумать, - это использовать Fault Tolerance внутри vSphere, но это имеет очень высокие требования с точки зрения вычислительной мощности, пропускной способности сети и задержки. Я никогда не встречал, чтобы кто-то выполнял отказоустойчивость на каналах размером менее 10 гигабайт.