Джон Сэвилл (jsavill@windowsitpro.com) — директор по технической инфраструктуре компании Geniant, имеет сертификаты CISSP, Security and Messaging MCSE для Windows Server 2003 и звание MVP
Базовые возможности файловой системы Windows Server не сильно изменились со времени выпуска первых версий Windows NT. В Windows 2000 появились динамические диски; выше стали надежность и производительность файловой системы NTFS; понемногу изменялись файловые службы, как и протокол Server Message Block (SMB), но революционных переворотов не было. В диспетчере File Server Resource Manager (FSRM) усовершенствованы экранирование, квоты, функции отчетов и классификации, но базовые возможности файловой системы и способы использования файловых служб остались прежними.
Когда речь заходит о файловых службах, я вспоминаю о сервере для хранения документов Microsoft Word и PowerPoint. Если от сервера требуется высокая готовность, его можно ввести в состав кластера, и тогда в каждый момент времени общий файловый ресурс будет предоставлен одним сервером. Отказоустойчивые тома можно создать на динамическом диске с использованием зеркалирования Windows (RAID 1) или чередования с контролем четности (RAID 5). Однако ИТ-администраторам приходится вручную выбирать диски и выполнять любые действия по устранению неполадок. Более того, расширенные функции, такие как гибкая подстройка (thin provisioning — своевременное выделение серверу только необходимого пространства памяти) и удобное добавление памяти к пулу, в котором можно создавать тома, просто невозможны без использования отдельной сети хранения SAN или устройства хранения, подключенного к сети, NAS. Все должно измениться с выходом новой версии Windows Server, Windows Server 2012 (ранее известной под условным названием Windows Server 8).
Использование Storage Spaces
ИТ-администраторы и даже конечные пользователи нередко нуждаются в отказоустойчивом хранилище данных. В других случаях требуется защитить информацию иными способами. Можно открыть оснастку Disk Management консоли управления Microsoft MMC, проверить физические диски, при необходимости преобразовать их в динамические, а затем создать том, соответствующий вашим требованиям. Если том должен увеличиваться, можно предусмотреть возможность его расширения (в зависимости от физических дисков), но нельзя добавлять диски к существующему тому, что позволило бы легко масштабировать хранилище данных. Для малых и средних предприятий и даже крупных компаний с мелкими удаленными филиалами (они обладают всего парой серверов и в них нельзя экономично разместить SAN или NAS) подготовка решения хранения данных для служб — целая проблема. Следующие в списке — опытные пользователи настольных компьютеров, которым тоже трудно организовать данные на внутренних дисках и дисках, подключенных через USB.
.
Первый шаг — создание пула носителей, состоящего из нескольких физических дисков, которые связываются друг с другом и могут быть использованы технологией Storage Spaces. В пулы носителей можно объединять диски, подключенные через интерфейсы USB, Serial ATA (SATA) и Serial Attached SCSI (SAS), в конфигурации Just a Bunch of Disks (JBOD). В отсутствие аппаратной поддержки высокой доступности, например RAID, в технологии Storage Spaces приняты меры для обеспечения отказоустойчивости. Накопители, подключаемые через интерфейс USB, особенно удобны для настольных компьютеров; в серверах применяются накопители SATA и SAS. Кроме того, технология Storage Spaces полностью поддерживает совместное использование SAS. Дисковое устройство можно подключить к нескольким компьютерам в кластере, и пространство Storage Space на совместно используемых накопителях SAS будет доступно всем узлам в кластере и может применяться как часть томов Cluster Shared Volumes (CSV). При использовании внешнего дискового устройства технология Storage Spaces поддерживает протокол SCSI Enclosure Services (SES), предупреждающий об отказах внешних хранилищ данных. Например, можно инициировать уведомление о неисправном диске, если Storage Spaces обнаруживает неполадки на физическом диске.
Вместе со Storage Spaces можно задействовать другие технологии, такие как шифрование Microsoft BitLocker Drive Encryption. Когда создается новый пул носителей, диски, добавляемые в него, исчезают из оснастки Disk Management консоли MMC; эти диски виртуализуются и применяются исключительно функцией Storage Space. О состоянии диска в пуле носителей можно узнать из File and Storage Services в диспетчере Server Manager (на сервере Windows 8) или с помощью панели управления Storage Spaces (на клиенте Windows 8). В данной статье рассматривается использование Storage Spaces на сервере с Server Manager и Windows PowerShell, но вся функциональность доступна и на клиенте. Единственное различие в том, что на клиентах для управления вместо Server Manager применяется программа Storage Spaces.
Запустите Server Manager. Убедитесь, что нужный сервер добавлен к списку серверов в экземпляре Server Manager (см. врезку «Управление Windows Server 2012»), затем откройте File and Storage Services. Выберите целевой сервер из вкладки Servers, после чего перейдите на вкладку Storage Pools, на которой показана информация о существующих пулах носителей и дисков, которые могут быть задействованы в пуле носителей. Это диски и системные диски, на которых не содержится никаких томов. Эти неиспользованные диски показаны в пространстве Primordial Storage Space и являются строительными блоками, из которых формируются пулы носителей и Storage Spaces, как показано на экране 1. Для создания пула носителей выполните следующие действия.
1. Из меню Tasks выберите пункт New Storage Pool, чтобы запустить мастер New Storage Pool Wizard.
2. Введите имя и необязательное описание нового пула носителей и нажмите кнопку Next.
3. На следующем экране выберите физические диски, которые будут добавлены в новый пул. Также выберите способ выделения дисков (по умолчанию Data Store). Можно выделять диски как часть виртуальных дисков, которые будут созданы позднее, или оставить в качестве горячего резерва, как показано на экране 2. Нажмите кнопку Next.
4. На экране появится подтверждение. Нажмите кнопку Create, чтобы завершить создание пула носителей.
Экран 1. Дистанционное управление с помощью Server Manager |
Экран 2. Добавление и выделение дисков новым пулам носителей |
Теперь пул носителей доступен. Следующий шаг — создать виртуальные диски в пуле носителей. Затем можно будет сформировать на этих дисках тома, доступные для использования операционной системой.
В Storage Spaces появилась функция, ранее доступная только при использовании внешних решений хранения данных, таких как сети SAN и устройства NAS: своевременное выделение серверу только необходимого пространства памяти. В процессе создания виртуального диска рассматривается две возможности. Первая — создать диск как фиксированный (выделено все пространство для размера виртуального диска). Вторая — забирать пространство для диска из пула только по мере необходимости. В этом случае можно создать виртуальный диск гораздо большего размера, чем фактически доступное хранилище. Это не означает, что удастся сохранить больше данных, чем вмещает выделенное для пула пространство. Но тома обычно со временем наполняются. Можно создать «тонкий» диск на 10 Тбайт, с которым связан лишь 1 Тбайт физического пространства; когда объем данных увеличится и приблизится к 1 Тбайт, можно физически увеличить пул еще на 1 Тбайт, просто подключив дополнительные диски. Когда объем данных будет приближаться к 2 Тбайт, можно вновь расширить хранилище на 1 Тбайт, добавив диски и т.д. Если добавлять физические диски до заполнения виртуального диска, проблем не возникает. Можно запрограммировать уведомления о достижении предельных значений пула носителей, и у администратора будет время, чтобы добавить нужное пространство.
Создавая виртуальный диск, необходимо лишь знать, в каком пуле носителей разместить диск. Информация о физических дисках не требуется и даже в явном виде недоступна. Цель Storage Spaces — создавать виртуальные диски по мере необходимости. Чтобы создать виртуальный диск, выполните следующие действия.
1. Выберите пул носителей, в котором будет создан новый виртуальный диск. В разделе Virtual Disks укажите задачу New Virtual Disk.
2. Подтвердите правильность выбора сервера и пула носителей на соответствующей странице мастера и нажмите кнопку Next.
3. Дайте имя и введите необязательное описание нового виртуального диска, а затем нажмите кнопку Next.
4. Выберите структуру хранилища, которая может быть простой (избыточность данных отсутствует и данные разделяются между многими дисками), зеркальной (данные дублируются на дополнительных дисках) или с проверкой четности (данные распределены по нескольким дискам, но благодаря контролю четности защищены в случае отказа диска). До появления Storage Spaces эти конфигурации были известны как RAID 0, RAID 1 и RAID 5. Из-за различий в реализации эти обозначения не употребляются в Storage Spaces. Сделайте выбор и нажмите кнопку Next.
5. Выберите тип подготовки (Thin или Fixed), а затем нажмите кнопку Next.
6. Укажите размер диска. Если выбран тонкий тип, можно указать размер, превосходящий доступное физическое свободное пространство. Нажмите кнопку Next.
7. Отображается подтверждение; нажмите кнопку Create.
Созданный виртуальный диск будет доступен в Server Manager и оснастке Disk Management консоли MMC, где можно создать тома и отформатировать диск для файловой системы. Действительный размер пространства, используемого виртуальным диском в пуле носителей, виден в Server Manager (или в панели управления Storage Spaces на клиенте).
Управлять Storage Spaces можно и с помощью PowerShell. Например, создать новый пул носителей с тремя физическими дисками можно с использованием следующих команд:
$phyDisks = Get-PhysicalDisk $storSub = Get-StorageSubSystem New-StoragePool -FriendlyName «Stuff» -PhysicalDisks $phyDisks[0], - $phyDisks[1], $phyDisks[2] -StorageSubSystemFriendlyName $storSub.FriendlyName Команды для создания виртуальных дисков в пуле: New-VirtualDisk -StoragePoolFriendlyName «Stuff» -ResiliencySettingName Mirror -Size 10TB -Provisioningtype Thin -FriendlyName «Data1» New-VirtualDisk -StoragePoolFriendlyName «Stuff» -ResiliencySettingName Parity -Size 10TB -Provisioningtype Thin -FriendlyName «Data2»
Чтобы получить сведения о виртуальном диске, можно вывести результаты команды Get-VirtualDisk в виде списка. Например, можно задействовать следующую команду, чтобы получить информацию о числе копий данных для зеркала и состоянии операции:
PS C:\ > Get-VirtualDisk -FriendlyName Data1 | fl
На экране 3 показан небольшой фрагмент результатов.
Экран 3. Результат выполнения команды Get-VirtualDisk |
SMB: лучше чем раньше
В следующей статье я подробнее расскажу о новых протоколах хранения данных в Windows 8. Но чтобы показать огромные преимущества Server 2012 как платформы файловых служб, необходимо коротко рассказать об использовании новых томов, готовых к работе со Storage Spaces.
SMB уже давно используется в Windows в качестве предпочтительного протокола для дистанционного доступа к файлам. В Server 2012 появилась версия SMB 2.2. На первый взгляд, отличия от SMB 2.1 в Server 2008 невелики, но на самом деле как производительность, так и возможности протокола SMB значительно увеличились.
Общая производительность SMB существенно возросла, и доступ к данным через SMB практически равноценен прямому доступу к хранилищу. Такой доступ стал возможным благодаря нескольким изменениям, в том числе протоколу SMB Multi-Channel, обеспечивающему установку нескольких TCP-соединений через несколько сетевых адаптеров в одном сеансе SMB. Благодаря этому изменению становится возможным объединение пропускной способности адаптеров, поскольку удается использовать несколько сетевых адаптеров и процессоров для сетевой обработки, если задействованы функция ReceiveSide Scaling (RSS) и несколько сетевых адаптеров. Этот прием также срабатывает для совместной работы сетевой платы Server 2012 (да, в Server 2012 предусмотрено решение для совместной работы сетевой платы!). Также значительно повысилась доступность общих файловых ресурсов с отказоустойчивой кластеризацией в новом режиме Active-Active, включающем том CSV, доступный всем узлам кластера. Несколько узлов в кластере могут одновременно использовать CSV для важных рабочих нагрузок, таких как виртуальные машины Hyper-V, сохраненных на общем файловом ресурсе, или даже базы данных Microsoft SQL Server. Такое совместное использование файлов в режиме Active-Active исключает простои и потерю дескрипторов в случае переключения ресурсов.
Помимо SMB, Server 2012 располагает iSCSI в качестве ролевой службы, как часть File Services в службах File and Storage Services. После установки этой службы сервер Server 2012 может функционировать как цель iSCSI, обеспечивая доступ к хранилищу как с файлового уровня (с использованием SMB), так и блочного уровня (с использованием iSCSI). Цели iSCSI на сервере обычно представляют собой виртуальные жесткие диски (VHD), и возможна полная конфигурация доступа и служб проверки подлинности.
Проблема Chkdsk
Есть еще одна проблема, связанная с применением файловых служб Windows Server, в частности NTFS, с очень большими томами и множеством файлов. Для устранения некоторых неполадок необходимо воспользоваться утилитой Chkdsk. Chkdsk очень успешно выполняет свои функции, но на это уходит много времени: приходится проверить все содержимое диска, а затем внести исправления, которые (в силу особенностей устройства и быстродействия дисков) могут занять много времени (дни для больших томов со многими файлами). В результате том отключается от сети на время устранения неполадок. Наряду с соображениями по восстановлению данных после аварии, это одна из причин, по которой часто размеры томов NTFS ограничивают: чтобы Chkdsk могла завершить работу за приемлемый период (то есть несколько часов).
Новая файловая система Resilient File System (ReFS), которая начнет более широко использоваться в будущих версиях Windows, должна уменьшить вероятность порчи данных. Собственно NTFS становится более устойчивой, благодаря возможностям самовосстановления, но иногда приходится использовать Chkdsk. В Windows 8 раз и навсегда устранены все препятствия для запуска Chkdsk даже на самых больших томах.
Chkdsk работает медленно. Как уже отмечалось, программа анализирует весь диск и все его содержимое в поисках неисправностей, для чего требуется время. После того, как найдены неисправности (которые затрагивают очень малое число файлов), Chkdsk устраняет их. Операции устранения ошибок занимают очень мало времени (измеряемое секундами). Проблема в том, что Chkdsk переводит том в автономный режим, и его данные становятся недоступными на время проверки и устранения ошибок.
В Server 2012 процесс Chkdsk разделен на две части. В первой выполняется проверка диска и данных, поиск неисправностей. Если ошибка найдена, то она отмечается как требующая исправления. Существенное отличие заключается в том, что во время длительной проверки том остается в сети, так как на данном этапе исправления не вносятся. После завершения проверки, если нужно исправить ошибку, Chkdsk запускается в режиме spotfix, в котором том переводится в автономный режим для устранения неполадок. Том находится в автономном режиме лишь несколько секунд вместо часов или дней. Процесс проверки отделен от процесса исправления ошибок. Для запуска Chkdsk используются две команды. Первая занимает много времени, поскольку выполняет проверку, но не влияет на доступность тома. Вторая команда переводит том в автономный режим или вызывает перезагрузку.
Chkdsk /scan J: Chkdsk /spotfix J:
Можно использовать следующие команды PowerShell:
Repair-Volume -Scan D Repair-Volume -SpotFix D
Если применяется CSV, то простои при операции spotfix исключены. Дело в том, что CSV добавляет еще один промежуточный уровень между диском и способом доступа. Кроме того, CSV может приостановить операции ввода-вывода примерно на 20 секунд. Поэтому когда выполняется действие spotfix, CSV лишь приостанавливает ввода-вывод для тома, пока он переведен в автономный режим и подвергается исправлениям. Таким образом, пользователи тома CSV испытывают лишь легкую задержку доступа; им не приходится работать в автономном режиме или терять дескрипторы файлов.
Мощное решение хранения данных
Функциональность Storage Spaces в сочетании с iSCSI и SMB 2.2 обеспечивает мощное решение хранения данных как для серверов, так и для настольных компьютеров. А если принять во внимание наличие других технологий, таких как новая функция дедупликации данных, то область применения для платформы файловых служб Windows значительно расширяется.
Управление Windows Server 2012
«Возможности многих, простота одного» — таков подход к управлению в следующей версии Windows Server, Windows Server 2012. Даже в условиях виртуализации управление серверами выполняется в основном через подключение к операционной системе для управления удаленным рабочим столом, или поочередным дистанционным подключением к каждому серверу через Server Manager. В Server 2012 все операции управления можно и нужно выполнять дистанционно. После установки инструментария Remote Server Administration Tools for Server 2012 на клиентском компьютере Windows 8 запустите Server Manager и создайте группы серверов, которыми предстоит управлять как единым целым. С помощью представлений панели мониторинга (см. экран A) не составляет труда обнаружить неполадки на любом сервере в группе и одновременно произвести действия над несколькими серверами. Это не означает, что Server Manager нельзя запускать локально на серверах. Но по мере оптимизации процессов управление одиночными серверами становится не самым рациональным подходом. Все чаще вместо полных экземпляров используется Server Core, и приходится управлять дистанционно или задействовать Windows PowerShell для всех операций администрирования.
Экран A. Server Manager |