SMB Scale-Out в Windows Server 2012
В Windows Server 2012 появилась возможность наряду с классическим файловым кластером создавать так называемый Scale-Out File Server – файловый кластер, который работает в режиме Active-Active. Все узлы кластера в этом режиме способны обрабатывать запросы SMB-клиентов к общим папкам (файловым шарам), расположенным на томах CSV (Cluster Shared Volumes). Эта технология носит название SMB Scale-Out и в сочетании с технологией прозрачной отработки отказа (SMB Transparent Failover) позволяет выстраивать горизонтально масштабируемые отказоустойчивые файловые хранилища для различных серверных приложений.
Расширения CSV в Windows Server 2012
Функционирование файлового кластера в режиме Active-Active подразумевает возможность одновременного доступа на «чтение-запись» к общему кластерному тому со всех узлов кластера. Последнее возможно благодаря технологии Cluster Shared Volumes (CSV), впервые появившейся в Windows Server 2008 R2. Напомню, что при использовании CSV для каждого CSV-тома, по-прежнему, один из узлов кластера назначается в качестве «владельца», отвечающего за все операции с метаданными, как то: создание, удаление, переименование файла и пр. Если, например, запрос на создание файла поступил на узел кластера, не являющийся «владельцем» тома, то данный узел перенаправляет запрос по сети «владельцу», который и выполняет операцию.
Если же речь идет об операции «чтения-записи» файла, то такой запрос реализует тот узел кластера, который данный запрос получил, вне зависимости от того, является ли он «владельцем» тома, или нет.
В случае отказа/сбоя текущего «владельца», назначается новый «владелец» из числа работоспособных узлов. При необходимости администратор может в любой момент передать владение нужному узлу с помощью консоли Failover Cluster Manager или командлета PowerShell.
Описанная функциональность в Windows Server 2008 R2 была доступна только для роли Hyper-V, который мог располагать на CSV-томах VHD-файлы. Иными словами, создать на CSV-томе шару и подключиться к ней через кластер было невозможно. Этого ограничения более нет в Windows Server 2012. Как следствие, в кластере можно сконфигурировать один или несколько томов CSV, затем поднять роль Scale-Out File Server и в рамках этой роли создать на CSV-томах нужное количество файловых шар с признаком continuous availability. В результате получим файловый кластер с набором шар, доступ к которым возможен с любого узла кластера (Active-Active) и для которых поддерживается прозрачная отработка отказа (Transparent Failover).
Каковы требования для работы SMB Scale- Out?
Для использования технологии SMB Scale-Out должны выполняться следующие требования:
- Отказоустойчивый файловый кластер под управлением Windows Server 2012 с минимум двумя узлами.
- Одна или несколько общих папок с признаком continuous availability, созданных на CSV-томе.
- Клиент под управлением Windows Server 2012 или Windows 8, то есть клиент с поддержкой SMB 3.0. Вообще говоря, подключиться к кластеру и соответствующим шарам смогут и клиенты SMB 2.0, но последние не смогут воспользоваться механизмом прозрачной отработки отказа.
Настройка SMB Scale-Out
Прежде всего необходимо создать Failover Cluster и на каждом его узле развернуть роль File Server. На этих шагах подробно останавливаться не буду, они не претерпели каких-либо принципиальных изменений в Windows Server 2012.
Теперь необходимо как минимум одно доступное хранилище сконфигурировать в виде CSV-тома.
Выбранный том помечается соответствующим признаком.
Физически этот том монтируется в папку ClusterStorage на диске C:
Теперь все готово для создания файлового кластера Scale-Out File Server. Запускаем мастер, выбрав пункт “Configure Role…”.
Выбираем роль File Server.
На следующем экране указываем, что хотим создать именно Scale-Out File Server.
Указываем имя, по которому к файловому кластеру будут обращаться клиенты.
В отличие от классического файлового кластера это все настройки, которые необходимо задать, поэтому нажимаем “Next”
и на экране “Summary” проверяем, что все в порядке.
В консоли Failover Cluster Manager также можно убедиться в том, что создан нужный нам тип файлового кластера.
Остается создать файловые шары с признаком continuous availability. Здесь я по шагам описывал этот процесс.
В каких сценариях разумно использовать SMB Scale- Out?
При использовании SMB Scale-Out необходимо помнить, что изменениями метаданных тома CSV управляет только один узел кластера, тот самый «владелец». Отсюда понятно, что рассмотренный вид файлового кластера едва ли подходит в тех случаях, когда пользователи или приложения генерирую большой объем изменений метаданных (создают, удаляют, переименовывают большое количество файлов). Напротив, такие приложения как Hyper-V или SQL Server, которые сравнительно редко меняют метаданные тома, при этом по долгу удерживают свои файлы в открытом состоянии, производя большое количество операций чтения-записи этих файлов, представляют собой идеальных кандидатов для использования совместно с SMB Scale-Out.
В силу специфики SMB Scale-Out совместима не со всеми технологиями и службами Windows Server 2012. Таблица ниже, заимствованная с портала TechNet, поможет принять более взвешенное решение при выборе типа кластера.
Итак, SMB Scale-Out предоставляет возможность создания масштабируемого отказоустойчивого файлового хранилища. В отличие от традиционного кластера нагрузочная способность такого кластера не ограничивается мощностью одного узла. То факт, что хранилище является файловым, значительно упрощает задачи администрирования такого ресурса. Прозрачная отработка отказа позволяет применять подобные кластеры в качестве хранилища для различных серверных приложений, использующих SMB. Наконец, SMB Multichannel или же встроенная в Windows Server 2012 технология NIC Teaming (о которой пойдет речь в одном из ближайших постов) обеспечат отказоустойчивость на уровне сетевого канала связи.
Надеюсь, материал был полезен.
Спасибо!
Comments
Anonymous
January 01, 2003
Спасибо!Anonymous
January 01, 2003
Уточните пожалуйста, если вылетает хранилка в такой конфигурации, то весь этот файловый кластер перестает работать, я правильно понимаю?Anonymous
January 01, 2003
Александр! Спасибо за статью! Очень полезно!