Управление файлами и дисками

Управление файлами и дисками

04.05.2019

DPandMe 26 мая 2015 в 17:16

Суп из SAN. Строим виртуальный SAN на платформе Windows Server 2012 R2

  • Виртуализация

Итак, вы только что закончили восстанавливать систему после сбоя. К счастью, на этот раз обошлось - сервисы, слава богу, поднялись. Но ваш босс недоволен - требует «сделать выводы и принять меры». Очевидно, настало время задуматься о том, как жить дальше. Возможно стоит пересмотреть существующие подходы к построению инфраструктуры и предпринять шаги к обеспечению отказоустойчивости вашей продакшн-системы.



Дисклеймер: заранее прощу прощения у специалистов по SAN и благородного хабрасообщества за некоторые вольности и упрощения, допущенные мной при подготовке материала. Он рассчитан на тех, кто пока еще не знаком с технологиями хранения данных, заложенными в Windows Server 2012 R2, а также тех, кто не имеет возможности развернуть у себя полноценную сеть хранения данных на базе FC или iSCSI.

С чего же начать? Рискну предположить, что для решения проблемы отказоустойчивости требуется две вещи:

  1. Хороший план.
  2. Деньги (смета).
Строго говоря, есть еще и третий пункт – «прямые руки», но его обсуждение выходит за рамки данной статьи.

С деньгами все понятно. Что касается плана, то нам необходимо разработать такую архитектуру, чтобы в следующий раз, когда случится сбой (а он обязательно случится!), система устояла. Тут придется сделать небольшое отступление. Дело в том, что в современной терминологии есть несколько устоявшихся понятий, которые часто путают между собой. Вот они:

Высокая доступность (High Availability, HA) - способность минимизировать как запланированные, так и незапланированные простои. То есть, мы (читай - заказчик) заранее соглашаемся с тем, что в случае сбоя, понадобится некоторое разумное время для переключения на резервное оборудование и запуск на нем «упавших» сервисов. Разрыв соединения при этом неизбежен. Типичный пример: кластер Hyper-V.

Отказоустойчивовсть (Fault Tolerance, FT) - способность сохранять работоспособность в случае отказа одного или нескольких компонентов. Это когда сбой произошел, но никто, кроме админа, его не заметил. Или, когда мы отключаем один из узлов, чтобы провести на нем плановое обслуживание (например, установку обновлений), а второй узел в это время берет на себя всю нагрузку. Соединение не рвется, приложения доступны, только немного увеличивается время отклика. Типичный пример: RAID 1-го уровня.

Катастрофоустойчивость - способность относительно быстро запустить сервис в случае глобальных катаклизмов. Это когда рухнуло все и сразу. В качестве глобальных катаклизмов, любят приводить в пример ураганы, цунами и наводнения. Однако, в реалиях нашей страны гораздо более вероятным представляется отключение электричества в ЦОД-е: локальное (экскаватор кабель задел) или веерное, а также затопление подвальных помещений. Пример: резервный ЦОД.

Почему важна терминология? Да потому, что перечисленные задачи принципиально разные. Соответственно, и подходы к их решению должны быть разными. Прежде всего, мы должны определиться, что именно хотим получить: высокую доступность, отказоустойчивость или катастрофоустойчивость.

В контексте данной статьи будем обсуждать только один из трех пунктов, а именно, отказоустойчивость. Справедливости ради, надо отметить, что реальная необходимость в ней возникает не часто. В самом деле, большинство заказчиков вполне готовы мириться с небольшими, прописанными в SLA, простоями в обмен на существенную экономию денежных средств за счет отказа от непомерно дорогих «сверхнадежных» решений. К примеру, если у пользователей на несколько минут подвиснет Excel, это не станет большой проблемой для бизнеса – скорее поводом немного размяться и выпить кофе. Однако, есть и такие сервисы, которые крайне чувствительны даже к небольшому разрыву сетевого соединения. Например, СУБД и гипервизоры. Если Hyper-V потеряет связь со своими виртуальными жесткими дисками, на которых запущены виртуальные машины, это может привести к печальным последствиям. Также и SQL - внезапная потеря сервером своих баз может надолго занять интересным делом DB-админа.

Итак, мы решили, что будем строить отказоустойчивое решение. Другими словами, необходимо убрать возможные точки отказа на всех существующих уровнях: серверном, сетевом и уровне хранения данных. Чем это достигается? Конечно, дублированием всего, чего только можно: серверов, сетевых интерфейсов, каналов передачи данных и, конечно, дисковой подсистемы. Тут перед нашими глазами встает светлый образ SAN. Действительно, что может быть лучше для обеспечения отказоустойчивости, чем старый добрый аппаратный FC SAN? Так-то оно так… Только есть у этого решения один убийственный недостаток. Цена. Стоимость подобной системы начинается с семизначных чисел. А верхний предел практически не ограничен. Поэтому, ее нельзя просто взять и купить – как минимум, придется забюджетировать.

Кроме того, закупая дорогущее железо, мы попадаем в серьезную зависимость от вендора, поскольку совместимость с его оборудованием сторонних производителей далеко не гарантируется. Ну и масштабирование таких систем может потребовать значительных временных затрат. Ведь дорогие комплектующие никто на складе не держит – их надо заказывать и ждать неделями, а то и месяцами. А босс требует «здесь и сейчас». И чтобы все работало «как часы». И чтобы с минимальными затратами!

Где же выход? Неужели светлым мечтам о SAN-е не суждено сбыться? Подождите… А что вообще такое SAN? По сути, это просто способ разделения ресурсов высокопроизводительных устройств хранения данных между серверами на блочном уровне. Когда-то давно классические файберные сети SAN были практически безальтернативной технологией там, где требовалась исключительная производительность, отказоустойчивость и масштабируемость. Скорость FC на порядок превышала типичный Ethernet с его 100 Mb/s.

Но со временем появились сетевые адаптеры 1 и 10 Gbit Ethernet, возникли программные и аппаратные технологии увеличения пропускной способности сети (NIC teaming, сжатие данных и т.д.), что несколько снизило преимущества FC и привело к взрывному росту популярности интерфейса iSCSI. Что касается отказоустойчивости и масштабируемости, то и тут случился прогресс. К примеру, появились варианты реализации SAN на базе хранилищ с интерфейсом SAS, который, вообще говоря, изначально предназначался для прямого подключения хранилища к серверу – DAS. Дело в том, что интерфейс SAS, помимо высоких скоростей (6-12 Gbit/s), обладает еще одним существенным преимуществом – очень малыми задержками (latency). Это весьма важно для высоконагруженных хостов, вроде Hyper-V.

А что у нас есть, кроме SAN? А кроме SAN есть только NAS. Если сравнивать SAN и NAS, то главным отличием первого от второго является работа на блочном уровне. Хост-система может создавать на SAN логические разделы, форматировать их и использовать как обычные локальные жесткие диски. NAS же работает на уровне файловой системы и использует протоколы передачи файлов, такие как SMB или CIFS. Поэтому NAS, конечно, дешево и просто, но о-о-очень медленно. А потому, для высоконагруженных продакшн-систем бесперспективно.

А нельзя ли как-то совместить высокую скорость и надежность SAN с простотой реализации и доступностью NAS? Что, если часть функционала SAN попробовать реализовать программно? Видимо как-то-так рассуждали инженеры одной скромной компании из Рэдмонда, когда готовили к выходу на рынок свою новую технологию. В итоге, у них действительно получилось нечто, по формальным признакам напоминающее SAN. Но при этом в несколько раз дешевле. Нам предлагают использовать весьма недорогие и доступные комплектующие для приготовления изысканного блюда под названием «Scale-Out File Server», т.е. масштабируемый файловый сервер. Слово «масштабируемый», на мой взгляд, не совсем точно отражает суть, поскольку, в первую очередь, сервер получился отказоустойчивым.

Итак, сегодня будем готовить «Суп из SAN» на основе технологий Microsoft Windows Server 2012 R2.
В качестве ингредиентов, нам понадобятся:

  • серверы без дисков (только небольшие «зеркала» под систему) - 2 шт.;
  • недорогая дисковая полка JBOD с двумя SAS интерфейсами – 1 шт.;
  • HDD SAS – не менее 10 шт. (лучше – больше);
  • SSD SAS – хотя бы 2 шт.;
  • сетевые адаптеры 1-10 GBit (лучше – с поддержкой RDMA) – 2-4 шт.;
В качестве приправы, будем использовать рекомендованный набор специй: Storage Spaces, Tiering, SMB Direct, SMB Multichannel, CSV. Время приготовления: 1-1,5 часа при наличии опыта или 1-2 дня без такового.

Немного теории

В Windows Server 2012 и Windows 8 появилась интересная технология под названием «Дисковые пространства» (Storage Spaces). Предназначена она для абстрагирования от физического уровня дисковой подсистемы. По сути - это драйвер операционной системы, расположенный после менеджера разделов и перед менеджером томов, который позволяет виртуализировать блочное хранилище, скрывая его от операционной системы. Достигается это группировкой физических дисков в пулы и созданием на основе пулов виртуальных дисков (LUN-ов в терминологии SAN). Таким образом, все приложения будут иметь дело именно с виртуальными дисками, даже не подозревая, из чего они состоят. Но постойте… Опять виртуальные диски? Ведь эта технология под именем «динамических дисков» была реализована Microsoft (точнее, лицензирована у Veritas) аж в 2000 г. - в составе Windows 2000! Опять нам пытаются всучить залежалый товар?

Все не так просто… В отличие от динамических дисков, дисковые пространства - технология гораздо более умная, в чем мы убедимся позже. А пока уточним термины:

Пулы носителей (Storage Pools) - коллекция физических дисков, которая позволяет объединять диски, гибко увеличивать емкость и делегировать администрирование.

Дисковые пространства (Storage Spaces) - виртуальные диски, созданные из свободного пространства в пуле носителей. К атрибутам дисковых пространств относятся уровень устойчивости, уровни хранилища, фиксированная подготовка и точный административный контроль.

Кластеризованные дисковые пространства (Clustered Storage Spaces) – те же дисковые пространства, размещенные на общем хранилище - то, что нам надо!

Как создать виртуальный диск? В нашем случае, для начала, нужно объединить в пул физические SAS диски - HDD и SSD. Вообще говоря, объединять в пулы можно диски с разными интерфейсами: SATA, SCSI и даже USB. Но для развертывания отказоустойчивого кластера (Scale-Out File Server) подходят только диски с интерфейсом SAS. Объединение дисков в пул не представляет каких-либо сложностей и делается с помощью мастера буквально в два клика. Разумеется, на объединяемых дисках не должно быть никаких разделов, либо их придется удалить. Объединив диски в пулы, мы их сгруппируем. Но еще надо объяснить операционной системе, что с ними делать дальше. Теперь можно создать из дискового пула виртуальный жесткий диск (LUN). Технология Storage Spaces позволяет создавать 3 варианта виртуальных жестких дисков, подобных RAID-уровням:

  • Simple (аналог RAID0) – рекомендуется только для тестов;
  • Mirroring (аналог RAID1) – рекомендуется для рабочих нагрузок;
  • Parity (аналог RAID5) – рекомендуется для формирования разделов с архивами данных.
Как и в аппаратных RAID, можно оставить один или два диска в горячем резерве (Hot Spare). Перечисленные возможности представлены в графическом интерфейсе по умолчанию. Однако, если этого мало, с помощью командлетов PowerShell можно получить и более хитрые комбинации, соответствующие, к примеру, RAID уровня 10.

Позвольте, скажет читатель, если это программный RAID, он ведь должен работать медленнее аппаратного! И будет совершенно прав. Да, медленнее. Но насколько? Тут все не так однозначно. Во-первых, как показывает практика, скорость дисков легко компенсируется их количеством. Поэтому, разница в производительности будет тем менее заметна, чем больше дисков мы объединим в пул. Для промышленного применения рекомендуется использовать от 12 дисков. Во-вторых, в Windows Server 2012 R2 появилась одна замечательная фича: объединение в один пул дисков SSD и HDD с формированием т.н. «гибридного пула» (Tiered Storage). В этом случае система сама будет отслеживать и перемещать на быстрые SSD диски наиболее часто используемые данные (помните я говорил, что система умная!). Причем, перемещение «горячих» данных на SSD происходит поблочно, а не на уровне файлов. Более того, с помощью командлетов PowerShell можно явно указать, какие файлы необходимо разместить на SSD, а какие - на HDD. И в-третьих, Storage Spaces поддерживают т.н. «кэш обратной записи» (WriteBack Cache). При кратковременных всплесках операций записи система перехватывает данные и размещает их в специальной области на SSD. Таким образом сглаживается падение производительности при внезапных пиковых нагрузках. Все вместе - большое кол-во дисков, гибридный пул и кэш обратной записи – способно существенно поднять быстродействие системы, сведя к минимуму негативный эффект от программного RAID. Что касается экономии свободного места на дисках, то в Storage Spaces поддерживается такая привычная для SAN технология, как Thin Provisioning – для более экономного распределения дисковых ресурсов. Справедливости ради, заметим, что пока она несовместима с гибридным пулом – придется выбрать что-нибудь одно.

Итак, средствами Storage Spaces мы можем обеспечить отказоустойчивость на уровне СХД. Теперь поднимемся на уровень выше. Серверы необходимо объединить в кластер. Эта возможность появилась у Microsoft уже достаточно давно. Однако, ранее такой кластер можно было назвать лишь высокодоступным (вспоминаем терминологию). И только с выходом Windows Server 2012 появилась возможность сделать его по-настоящему отказоустойчивым. Называется эта фича «Scale-Out File Server». Тут будет уместно напомнить, что файловые кластеры могут работать в одном из двух режимов:

  • «Active - Passive»; отработка отказа с прерыванием сервиса – failover.
  • «Active - Active»; прозрачная отработка отказа – transparent failover.
В первом случае только один из узлов активный – именно с ним происходит обмен данными, а второй находится в ожидании. В случае отказа первого узла, второй принимает на себя всю нагрузку. Однако, при этом происходит неизбежный разрыв соединения и прерывание в работе сервиса. Именно по такому принципу работает файловый кластер в Windows Server 2008 R2. Во втором случае оба узла активны и способны одновременно принимать данные от клиентов. В случае отказа одного из узлов, потери SMB-сессии не происходит, соответственно, работа приложений не прерывается. Эта технология появилась только в версии Windows Server 2012.

Но чтобы такая одновременная работа с хранилищем стала возможной, потребовалась очередная технология под названием Cluster Shared Volume (CSV). Если не вдаваться в подробности, это логический том, специальным образом подготовленный для одновременной работы с несколькими узлами в составе кластера.

А что на сетевом уровне? Здесь у Microsoft припасено сразу несколько приятных сюрпризов. Первый – это SMB Direct поверх технологии RDMA. Если говорить упрощенно, это технология прямого доступа к памяти через сетевой интерфейс, без накладных расходов на использование центрального процессора. При включении данной фичи сетевые адаптеры фактически начинают работать на скорости интерфейса, обеспечивая высокую пропускную способность и чрезвычайно быстрый отклик на сетевые запросы, что дает огромный выигрыш в производительности для таких рабочих нагрузок, как Hyper-V и SQL Server. Скажем так, работа с удаленным файловым сервером становится похожа на работу с локальным хранилищем. И хотя сетевые адаптеры с поддержкой RDMA пока еще достаточно дороги, их стоимость непрерывно снижается (на момент написания данной статьи составляет около 20 т.р.).

Второй сюрприз называется SMB Multichannel. Если на потребителе нагрузки (например, SQL Server) и на принимающей стороне (файловый кластер) установлено по два сетевых адаптера, то между клиентом и сервером создается многоканальное SMB-подключение. Это означает, что если, к примеру, по сети копируется файл и в процессе копирования что-то происходит с одним из сетевых адаптеров, это не приводит к прерыванию процесса – файл продолжает копироваться, как ни в чем не бывало. Чтобы убедиться в наличии SMB Multichannel, запустите командлет PowerShell: Get-SmbMultichannelConnection. Вы увидите, что-то вроде этого:


Как видно, соединение установлено при помощи сразу двух сетевых интерфейсов.

Наконец, в протоколе SMB 3.0 проведена оптимизация работы балансировки нагрузки между узлами. Как раз для конфигурации Scale-Out File Server.

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

Подготовительные работы

Итак, берем дисковую полку в режиме JBOD. Набиваем ее дисками, хотя бы два из которых должны быть SSD. У корзины должно быть два SAS-экспандера, по два разъема на каждом. Через них подключаем корзину к двум серверам, желательно одинаковым. Для этой цели вполне подойдут простые одноюнитовые серверы. На серверах в качестве контроллеров устанавливаем обычные SAS HBA.

Далее по пунктам:

  1. Устанавливаем на каждый сервер ОС Windows Server 2012 R2.
  2. Настраиваем сетевые подключения, устанавливаем обновления, вводим серверы в домен.
  3. Добавляем роль Файловый сервер на каждом сервере.
  4. На одном из серверов открываем консоль Диспетчер отказоустойчивости кластеров.
  5. С помощью мастера создаем стандартный кластер с отработкой отказа (Failover Cluster).
  6. Создаем новый пул: Хранилище -> Пулы -> Создать новый пул.
  7. Добавляем в пул SSD и HDD диски, при необходимости указываем параметры доступа.
  8. Создаем виртуальный диск: Пул –> правый клик –> Новый виртуальный диск.
  9. С помощью мастера задаем тип дисковой подсистемы (Mirror).
  10. C помощью мастера создаем том на диске, присваиваем букву, форматируем в NTFS.
  11. Создаем общий кластерный том (CSV): Выбираем нужный диск -> Добавить в общие тома кластера.
  12. Задаем роль: Роли -> Настроить роль -> Файловый сервер -> Масштабируемый файловый сервер.
  13. Чтобы не ждать, сбрасываем кэш распознавателя DNS (ipconfig /flushdns).
  14. Выбираем роль -> Добавить общий файловый ресурс -> Общий ресурс SMB –> Профиль приложений.
  15. Указываем расположение общего ресурса, даем ему название.

Все. Конечным итогом наших усилий стало создание файловой шары, расположенной по стандартному UNC-пути, типа: \\ScaleOutFS\Share. Теперь можем размещать на ней критические файловые ресурсы, такие как виртуальные жесткие диски Hyper-V или базы данных SQL сервера. Таким образом, мы получили готовую сеть хранения данных. Принципиальное отличие ее от традиционных SAN состоит в том, что для подключения используется протокол SMB 3.0, а не какой-то из блочных протоколов (iSCSI/FC), что в определенном смысле является даже преимуществом. У кого-то может возникнуть желание развернуть роль Hyper-V прямо на кластерном сервере, разместив виртуальные диски на общем хранилище. Придется огорчить. К сожалению, такая конфигурация пока не поддерживается. Для ролей Hyper-V и SQL Server необходимо поднимать отдельные серверы, которые будут работать с нашей СХД по SMB-протоколу.

Осталось подвести итоги…

Отказоустойчивость
Обеспечивается на всех уровнях: хранения данных, серверов, сетевого взаимодействия.
Производительность
Будет зависеть от нескольких факторов. В типичном случае сопоставима с производительностью решений на базе iSCSI. А в случае задействования всех имеющихся возможностей, включая технологию RDMA, пропускная способность СХД окажется даже выше, чем при FC-подключении (до 56 GBit/s).
Масштабируемость
На уровне дисковой подсистемы обеспечивается простым добавлением дисков или каскадированием хранилищ JBOD. На уровне серверов – добавлением узлов в кластер. На сетевом уровне – добавлением сетевых адаптеров, объединением их в группы (NIC teaming) или заменой их на другие, с большей пропускной способностью.
Безопасность
Дисковые пулы можно контролировать с помощью списков контроля доступа (ACL), а также делегировать полномочия администраторам. Управление хранилищами может быть полностью интегрировано с ADDS.
Стоимость
Очевидно, что даже при использовании всех возможностей, заложенных в данную технологию, стоимость готового решения будет в несколько раз ниже традиционного SAN.

А как же недостатки? Разумеется, они тоже имеются. К примеру, СХД и серверы нельзя разнести на значительное расстояние, как в случае FC или iSCSI. Нельзя выстроить сложную топологию. Коммутаторы SAS – пока еще редкость. Кроме того, SAS не поддерживает аппаратную репликацию – ее придется реализовывать программными средствами. Поэтому, описанная выше концепция – не панацея, а всего лишь альтернатива традиционным СХД. Если у вас уже есть развернутый аппаратный SAN, это ни коим образом не повод от него отказываться. Железо должно отрабатывать вложенные в него деньги. Но если вы пока еще только задумываетесь об архитектуре будущей системы хранения данных, имеет смысл рассмотреть и данный вариант, как вполне обоснованный с инженерной и экономической точек зрения. Ну и напоследок хотелось бы отметить, что «суп из SAN» можно сварить не только на технологиях Microsoft. Если у вас имеется хранилище с интерфейсом iSCSI, можете воспользоваться такими продуктами, как StarWind iSCSI SAN, VMware Virtual SAN, Openfiler, FreeNAS, Open-E DSS V6 и т.п.

Приятного аппетита!
При подготовке статьи были использованы материалы портала

В области систем хранения. В той или иной степени были затронуты практически все линейки. В этой заметке я коснусь только лишь младших систем – DS3500 и DCS3700.

Большинство носит принципиальный характер. Итак, новинки:

    дисковые пулы (Dynamic Disk Pooling, DDP);

    выделение дискового пространство по мере необходимости (Thin provisioning);

    новая технология мгновенных снимков;

    поддержка VAAI;

    поддержка ALUA;

    временные лицензии.

В чем плюсы, как это работает и что с этим всем делать? Попробуем пройтись по всем новинкам.

Динамические дисковые пулы.
Вместо привычных RAID массивов (Array) и томов на них (Volumes, LUNs), мы объединяем диски в большой пул и уже на этом пуле “нарезаем” тома нужного нам размера. Мы больше не привязаны к размерам конкретного массива, поэтому нам не нужно планировать массив так, чтобы наиболее эффективно его заполнить – все равно черпаем из “общего” котла. Нет ни выделенных дисков четности, ни выделенных hot-spare дисков.

Ну хорошо, схожие технологии мы видели и у других производителей, а в чем же отличие? Давайте посмотрим, как работает DDP. Каждый диск разбивается на 512МБ “дольки” (D-Piece) – см. рисунок ниже. Когда нам требуется выделить место из дискового пула для конкретного тома, система выбирает 10 таких “долек” с разных дисков (выбирает она так, чтобы выровнять занятый объем). Выбранные дольки объединяются в RAID-6 (8D+P+Q) и уже этот страйп (D-Stripe) размером 4ГБ и становится частью нашего тома с данными. D-Stripe для одного тома располагаются по разным дискам, обеспечивая, таким образом, распределение данных по всему пулу:

DDP не становятся заменой какой-либо технологии – можно использовать только один пул, можно использовать несколько пулов в одной системе, можно использовать и классические RAID-группы, и пулы вместе. Так как пулы по производительности все-таки ближе к RAID-6 и максимальную эффективность показывают на дисках NL SAS, то данные для приложений, критичных к скорости можно вынести, например, на отдельные RAID10.

В случае сбоя одного из дисков в пуле, происходит восстановление данных на оставшиеся диски. За счет того, что в восстановлении участвует большое число шпинделей, оно происходит с большей скоростью и оказывает меньшее влияние на производительность массива. Вместо выделенных hot-spare дисков резервируется соответствующее свободное место в пуле (примерно так, как это реализовано в HP EVA). Можно зарезервировать до 10 дисков (или до 20% объема пула). Вот как изменяется время восстановления в зависимости от числа дисков в пуле по сравнению с перестроением классического RAID6:

На 192х дисках различие превышает 5 раз! А при временах порядка 10 часов это весьма заметно. Не стоит забывать, что при восстановлении классического массива деградация производительности также весьма велика:

Хорошо видно, что во время ребилда диска в большом пуле, производительность приложений будет страдать заметно меньше (особенно если не ставить целью провести перестроение максимально быстро).

Конечно, раз уж речь зашла о производительности, то хочется сразу уточнить, а насколько такая новая технология “портит нам жизнь” в плане этой самой производительности? Результаты показывают, что максимально “страдают” операции случайной записи и последовательного чтения(~15%); случайное чтение же ухудшается всего на 6%, а последовательная запись даже улучшается. Такие эффекты заметны в “синтетических” тестах на 192х дисках в пуле. Если же количество дисков меньше, то и различие в производительности приближается к нулю.

Еще один замечательный плюс от DDP – возможность добавления дисков в пулы. Вы скажете что в RAID тоже можно добавить дисков? А сколько “за один раз”? А чем это чревато с точки зрения производительности? Вот именно – лучше этого на обычном массиве не делать. При добавлении же в пул новых дисков, происходит миграция незначительного числа “D-Piece” на новые диски, что не оказывает, в свою очередь, существенного влияния на производительность системы.

Таким образом, динамические пулы дают нам отличную замену для RAID6, позволяя объединить большое количество дисков, обеспечивая высокую производительность, простоту управления и высокую защищенность.

Thin provisioning.
Данная технология уже хорошо всем известна, но теперь она появилась и в младших СХД IBM. Причем появится и у тех, кто год назад стал владельцем системы DS3500. Единственное “но” – thin provisioning работает только на динамических томах! Поэтому “поиграть” на системе, не создав заранее дисковый пул, увы, не получится. Плюсы у thin provisioning очевидны – не нужно задумываться о точности выделения дискового пространства. Можно выделить немного больше, а по факту на дисках будет занято ровно столько, сколько данных было записано. На самом деле, с шагом 4ГБ конечно – выделение дискового пространства осуществляется в терминах D-stripe. Экономия от использования технологии thin provisioning может быть колоссальна – проверьте на своих системах, сколько незанятого места теряется впустую?

Новые мгновенные снимки.
Еще одна давно ожидаемая возможность. Долгие годы владельцы систем IBM DS3000/4000/5000 вынуждены были мучиться с восстановлением данных из снапшота (невозможно сделать операцию rollback, вернее возможно, но очень “некрасиво”). И вот, новых снапшотов можно сделать не просто заметно больше, но и можно быстро “откатиться” из снапшота на исходном томе. Также появляется возможность использовать группы консистентности, а это очень полезно, когда данные одного приложения находятся на различных дисках:

Rollback в рамках группы консистентности также работает! Несомненным плюсом стала оптимизация операций копирования исходных блоков в рамках технологии Copy-on-Write. Если раньше для каждого снимка происходило копирование исходного блока данных, то сейчас копия делается только единожды. Это существенно снижает эффект от деградации производительности при использовании мгновенных снимков. Падение производительности для “классических” CoW снимков может составлять десятки процентов. Сейчас эта проблема должна быть решена, что позволит использовать снимки и в более нагруженных средах.

Поддержка технологии VAAI.
Многие рассматривают VAAI исключительно как средство повышения производительности в среде VMware, но я бы скорее делал бы упор не на скорость выполнения отдельных операций (хотя это, без сомнения, приятно), а на разгрузку хоста от “лишней” работы и разгрузку сети хранения. Клонирование виртуальной машины с использованием VAAI может быть закончится и не на много быстрее, но зато канал ввода-вывода между сервером и СХД будет загружен в разы меньше и наше клонирование не окажет пагубного влияния на остальную инфраструктуру (особенно если мы используем 1Gbit iSCSI). В рамках VAAI поддерживается – блокировка экстентов в VMFS, write zeroes (write same) и extended copy (клонирование VM, Storage vMotion). Время выполнения операций с VAAI и без оного (кликабельно):

Поддержка ALUA.
Наверное многим доставляли проблемы active/passive пути? А потом еще приходилось вручную возвращать диски на “свои” контроллеры после каждого сбоя. Благодаря ALUA (Asymmetric Logical Unit Access) об этих неприятностях можно спокойно забыть. Чтобы было более понятно, пара картинок. Вот как работает multipath в DS3500 сегодня:

А вот как он будет работать в новой прошивке:

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

Временные лицензии.
До настоящего момента было очень сложно оценить “полезность” дополнительного функционала систем DS3500. Если мгновенные снимки можно было попробовать, то репликацию проверить было фактически невозможно. Решение о покупке (с бюджетом, сопоставим со стоимостью контроллерного модуля) нужно было принимать на основе обещаний, книжек или еще чего-то там. Теперь можно будет установить временную лицензию на 90 дней и проверить работу в своей среде, со своими приложениями. Указанных 90 дней, в принципе, должно хватить не только чтобы проверить функционал, но и для того чтобы заказать постоянные ключи и дождаться их прихода.

Вот такие замечательные новинки были представлены IBM для систем начального уровня. Я, честно говоря, ожидал немного большего, но и это уже очень и очень хорошо. Развитие систем не останавливается – будут и другие новшества, но позднее. Все, о чем я написал, будет доступно в прошивке, которая анонсирована на 15 июня. По факту, скорее всего, скачать ее можно будет на несколько дней позднее, но шанс попробовать все возможности уже в этом месяце безусловно есть!

Как я писал в предыдущих публикациях, на самом деле Windows 8 есть что предложить пользователю кроме нового интерфейса Metro (а иногда и в противовес ему). У меня Windows 8 прочно обосновалась на настольном ПК благодаря одному только Hyper-V , но это, конечно, довольно специальное применение, востребованное далеко не каждым. В этой статье речь пойдет о еще одной важной новинке, которая также достаточно сложна в техническом плане, но, тем не менее, может претендовать на гораздо большую популярность.

Storage Spaces

В русскоязычной версии Windows 8 функция, с которой я хочу познакомить читателей, называется «Дисковые пространства».

Перевод совершенно неудачный, поскольку набирающие популярность SSD к дискам никакого отношения не имеют. По-английски же название звучит совершенно корректно - Storage Spaces, пространства хранения.

Если не вдаваться в глубокую теорию, то «Дисковые пространства» представляют собой программный RAID в составе всех редакций Windows 8. Вообще говоря, для Windows это не новость - похожую функциональность предоставляют динамические диски, а Drive Extender из Windows Home Server можно считать прямым прообразом нынешнего решения. Тем не менее «Дисковые пространства» имеют свою специфику, и можно предположить, что они умышленно вынесены на пользовательский уровень, чтобы привлечь к ним дополнительное внимание. Но прежде чем приступить к их изучению, напомним вкратце о самом

RAID

Эта аббревиатура расшифровывается как Redundant Array of Independent Disks, т. е. избыточный массив независимых дисков. Причем первоначально I означало Inexpensive, поскольку речь шла о применении недорогих дисков из мира ПК. По мере развития технологии, в частности с применением SCSI-дисков, это качество перестало ощущаться, что и привело к соответствующей замене в названии. Сейчас такая же участь, по-видимому, ожидает последнюю букву D, которую, ввиду все более широкого распространения SSD, следовало бы трактовать как Drives, накопители.

Наиболее принципиальное свойство RAID - избыточность (т. е. использование накопителей сверх минимально необходимого количества), которая в итоге трансформируется в другие полезные качества: отказоустойчивость и/или производительность. Существуют различные схемы работы RAID, каждая из которых имеет свои особенности.

К примеру, самый простой RAID 0 объединяет два или более накопителея в единое пространство суммарного объема, причем распараллеливание операций чтения/записи позволяет существенно повысить производительность. Ценой же будет, вообще говоря, снижение надежности, т. к. выход из строя одного накопителя разрушает весь массив из-за того, что запись ведется не файлами, а достаточно крупными блоками данных.

А RAID 1 представляет собой простейшее «зеркало», когда все операции на двух накопителях дублируются, т. е. они всегда представляют копии друг друга. Таким образом при отказе одного, вся информация остается доступной на другом. Это главное, но не единственное преимущество. RAID 1 также ускоряет чтение данных, распараллеливая операции, тогда как скорость записи остается примерно такой же, как и у одиночного накопителя. Здесь как раз хорошо видна та самая избыточность: ведь мы используем два накопителя, хотя с точки зрения объема данных хватило бы и одного.

Реализации RAID бывают аппаратные и программные. Первые представляют собой платы расширения, которые могут быть достаточно дороги, поскольку включают специализированный процессор, RAM для кэша, резервное питание (батарейку) для корректного завершения работы в случае пропадания внешнего питания и пр. Программные RAID, соответственно, реализуются средствами ПО и сегодня существуют для всех распространенных ОС. Они, таким образом, задействуют обычные вычислительные ресурсы компьютера, что и является их основным недостатком - под большой нагрузкой общая производительность системы может снижаться. С другой стороны, близость программных RAID к ОС позволяет обеспечить дополнительную гибкость, что мы и увидим на примере «Дисковых пространств».

Как это работает

Microsoft постаралась сделать «Дисковые пространства» максимально прозрачными для пользователя и гибкими в применении. Для этого будущее хранилище формируется на двух уровнях.

Прежде всего, необходимо создать так называемый пул хранения, т. е. логическое объединение нескольких накопителей. Примечательно, что при этом можно комбинировать устройства с разными объемами и интерфейсами - USB, SATA, SAS, SCSI и даже iSCSI. Количество накопителей, вообще говоря, также может быть совершенно произвольным, не считая минимальных ограничений для каждого типа пространств (см. ниже).

Если вы еще не экспериментировали с данной функцией, то, запустив аплет «Дисковые пространства», увидите приглашение выполнить первичную настройку:

Дальше будут автоматически найдены все физические накопители, которые можно объединить в пул - отдельно пустые и содержащие данные или отформатированные. Имейте в виду, что старые данные будут безвозвратно удалены. Кроме того, для RAID не может быть использован системный накопитель - вот первое (впрочем, достаточно очевидное) ограничение.

Как уже говорилось, нет никаких препятствий для объединения в один пул накопителей различных типов и объемов, как, к примеру, на иллюстрации ниже - объединены внутренний SATA- и внешний USB-диски:

На протяжении всего процесса настройки Windows не выдает никаких рекомендации или предупреждений о возможных нюансах - скажем, с производительностью. Между тем, чрезмерные вольности, безусловно, могут приводить к негативным эффектам. Именно поэтому перед использованием «Дисковых пространств» следует разобраться с ними.

Затем на основе пула хранения создаются уже собственно пространства, которые на системном уровне будут выглядеть как обычные логические диски, хотя их природа, как понятно из описания, достаточно виртуальна. Поскольку в моем примере пул объединяет два физических накопителя, то Windows довольно логично предлагает организовать двухстороннее зеркало:

Однако доступны и другие варианты:

Остановимся чуть подробнее на каждом из них.

Простое пространство , которое является аналогом RAID 0, не улучшает надежности и может использоваться для ускорения работы с некритичными данными или с файлами огромных размеров. Более того, можно считать, что на самом деле в данном случае надежность как раз ухудшается. Дело в том, что данные на дисковые пространства (любых типов) записываются не файлами, а довольно большими блоками и считаны они могут быть только с функционирующего пространства. Но простое дисковое пространство разрушается, если в пуле выйдет из строя хотя бы один накопитель - при этом никаких аварийных инструментов пока нет, хотя блоки, вероятно, могут хранить какие-то файлы целиком. Такая же проблема касается и всех прочих типов - при отказе числа накопителей свыше допустимого. Некоторые сторонние разработчики заявили о намерении создать соответствующие утилиты, но, насколько мне известно, реально пока ничего не показали. Хотя правильней было бы, чтобы этим вопросом озаботилась сама Microsoft.

В двухстороннем зеркале каждая операция записи осуществляется одновременно на два накопителя. Соответственно, при отказе любого одного накопителя пространство остается работоспособным. Однако, если в пуле более двух дисков то задействоваться они могут все и алгоритм такого «размазывания» от пользователя скрыт.

Трехстороннее зеркало подразумевает параллельную запись на три накопителя, что, соответственно, защищает от отказа любых двух. Для соответствующего пространства, однако, требуется целых пять дисков, хотя в бета-версии Windows 8 достаточно было именно трех. Вероятно, схема RAID видоизменилась уже в последний момент и в доступной сегодня документации четко не описана. Скорее всего, это нечто вроде RAID 1E, где каждый блок действительно записывается трижды, но каждая следующая операция выполняется со сдвигом на один накопитель, т. е. заведомо равномерно «размазывается» по всему пулу. Обычно это делается для улучшения производительности (за счет большего распараллеливания), но будет ли это справедливо в данном случае - вопрос открытый. Некоторые обозреватели также предположили, что речь может идти о RAID 6, однако это достаточно медленная схема (из-за необходимости расчета двух типов контрольных сумм), чего по тестам не видно. В любом случае, для «Дисковых пространств» трехсторонне зеркало - единственный способ добиться максимально надежного хранения критичных данных.

Наконец, пространство с контролем четности (видимо, для краткости оно называется просто четность ) в точности соответствует RAID 5. В нем одновременно может задействоваться от 3 до 8 накопителей (хотя пул, как обычно, может содержать и больше). Схема работает следующим образом: на все накопители кроме одного записываются блоки с полезными данными, а на последний - блок контрольных сумм, представляющих собой результат операции XOR. Соответственно, при отказе одного из накопителей, недостающие данные могут быть буквально вычислены. C точки зрения надежности пространство с контролем четности аналогично двухстороннему зеркалу, однако в остальном они отличаются заметно. Так, избыточные данные в первом случае составляют 1/N от общего объема, где N - от 3 до 8 (т. е. равно количеству накопителей, на которые одновременно ведется запись), а во втором - всегда 1/2. Однако из-за необходимости расчета контрольных сумм, пространства с контролем четности ощутимо медленнее на запись, вследствие чего их рекомендуют для хранения больших объемов редко изменяемых данных, к примеру, видео.

На предыдущей иллюстрации видно, что одной из немногочисленных настроек пространства является его размер. В данном случае он вроде бы логично для двухстороннего зеркала установлен в половину от общего доступного объема. Однако же использованные накопители вовсе не равны. Более того, на самом деле можно установить любой размер - на функционировании пространства это никак не скажется. В частности, как только будет заполнен меньший накопитель, пространство демонтируется и восстановить его функционирование можно будет добавлением в соответствующий пул новых накопителей. Подобный принцип работы обеспечивается так называемой тонкой инициализацией (thin provisioning), когда, несмотря на заявленные показатели, физическое пространство реально выделяется только под конкретные запросы системы.

Отсюда, в частности, вытекают еще несколько особенностей «Дисковых пространств». Во-первых, в отличие от аппаратных реализаций RAID в данном случае нет жесткого закрепления за накопителями определенных функций. В общем случае данные и контрольные суммы как бы «размазываются» по всем доступным накопителям, что несколько улучшает производительность и придает технологии дополнительную гибкость, но как уже говорилось затрудняет восстановление. Во-вторых, на каждом пуле может быть создано несколько пространств, причем любых типов. К примеру, при использовании накопителей большой емкости не обязательно сразу же целиком отдавать их под зеркало, если объем критичных данных будет расти постепенно. Параллельно можно создать простое пространство и использовать его (до поры до времени) для повышения производительности при работе, скажем, с временными файлами.

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

Специфика функционирования

Надеюсь, предыдущий раздел дал общее представление о гибкости «Дисковых пространств», однако, как и всегда, это качество достигается за счет ряда компромиссов. Часть из них, как то: блочная запись и объединение накопителей различных типов - уже затрагивались. Но есть и другие, которые также необходимо иметь в виду.

Пространства и пулы вполне переносимы, но только в пределах Windows 8, так как в других ОС технология не поддерживается. Сам этот процесс совершенно прост, поскольку вся информация о конфигурации, а также достаточно подробные журналы операций хранятся на самих накопителях. Понадобится лишь вручную смонтировать пространство через аплет в Панели управления, т. к. автоматически это не делается.

Протоколирование работы с пространствами имеет ряд преимуществ. К примеру, при добавлении нового диска в пул пространства не будут перестаиваться, что, с одной стороны может снижать эффективность их работы, но с другой - минимизирует дополнительную нагрузку на компьютер. При замене дефектного накопителя в сохранившем работоспособность пространстве заполнение его необходимой информацией будет выполнено автоматически, причем в фоновом режиме. При отключении и повторном подключении накопителя все данные на нем сохранятся, будут лишь добавлены новые, связанные с пропущенными операциями записи. Обо всех проблемах в работе пулов и пространств выдаются краткие системные оповещения с приглашением заглянуть в аплет «Дисковые пространства»:

А вот реакция Windows на заполнение пространства достаточно своеобразна. Начиная с 70% пользователю будут выдаваться соответствующие оповещения, а при полном исчерпании места пространство автоматически демонтируется - подключить его обратно можно вручную через аплет «Дисковые пространства». Хотя кажется более логичным, чтобы пространство просто переводилось в режим только для чтения.

Производительность

Вполне закономерно, что это один из самых неоднозначных вопросов, относящихся к «Дисковым пространствам». Комбинирование накопителей с разными интерфейсами может приводить к самым различным эффектам. Особенно это касается USB, где не всегда даже понятно, как порты распределяются между контроллерами и, конечно, дело не только в пропускной способности интерфейса (т. е. USB 3.0 не решит всех проблем). К сожалению, никаких предупреждений при формировании пулов и пространств пользователь не получает - хотя некоторые неудачные конфигурации вычисляются довольно легко.

Вот как выглядит производительность дисковых пространств из примеров этой статьи.

А вот, для сравнения, производительность использованных физических накопителей.

Внутренний SATA-диск:

Внешний USB-диск:

Видно, что запись на зеркало определяется худшими показателями для двух накопителей, а чтение, как и все операции с простым пространством - усредненными. В данном случае результаты, пожалуй, было несложно предсказать, исходя из принципов работы схем RAID. Однако если бы накопителей в пуле было больше, арифметика была бы не столь проста.

К сожалению, для проведения полновесного тестирования под рукой не оказалось необходимого оборудования, но в общем можно утверждать, что в тех случаях, когда удается распределить одинаковые накопители по независимым каналам, результаты примерно соответствуют общим представлениям о RAID, хотя и с несколько худшим уровнем масштабируемости:

  • простое пространство увеличит производительность и чтения, и записи пропорционально количеству накопителей;
  • при зеркалировании производительность записи примерно соответствует показателям отдельного накопителя (хотя в некоторых случаях может и замедляться), скорость чтения повышается;
  • пространство с контролем четности также улучшает производительность чтения, но замедляет запись в разы (типично - вчетверо).

Выводы

Благодаря различным компромиссам и ухищрениям «Дисковые пространства» реализованы таким образом, чтобы среднестатистическому пользователю не пришлось даже задумываться о подробностях конфигурирования и обслуживания RAID. C помощью этой возможности, к примеру, можно совершенно просто задействовать старые, разрозненные накопители, которые уже рискованно использовать поодиночке. Да, это приведет к каким-то негативным эффектам, но работать все будет исправно и совершенно автоматически. Для более опытных пользователей и администраторов небольших серверов имеется возможность и тонкой настройки посредством PowerShell. Конечно, сегодня появляется все больше бюджетных NAS, однако они все-таки служат несколько иным целям, требуют дополнительных затрат и не обладают гибкостью «Дисковых пространств». В любом случае, хорошо иметь выбор. Наконец, само появление «Дисковых пространств» в Windows 8 говорит о том, что Microsoft пока не собирается сбрасывать со счетов рынок традиционных ПК.

Функция это технология хранения данных, предназначена для объединения в пул хранения избыточного дискового пространства, позволяющая уменьшить риски потери данных, обеспечить удобство работы и хранения больших объёмов информации. По сути Storage Spaces (или Дисковые пространства ) — это дальнейшее развитие технологии Drive Extender в Windows Home Server (от которой было принято отказаться). Дисковые пространства предполагают использование как в серверных, так и клиентских ОС Windows (Windows Server 2012 и Windows 8).

С помощью Storage Spaces внешние физические накопители в Windows 8 можно объединить в пулы (pool ), а на базе пулов создавать дисковые пространства (storage spaces ), которые для пользователя выглядят как самые обычные логические диски в системе.

Принцип работы технологии Storage Spaces в Windows 8 несколько похож на принципы организации RAID-массивов, однако есть и существенные отличия. В отличии от RAID массива, в котором все диски должны быть идентичными (либо общая емкость массива вычисляется по диску минимальной емкости в RAID), в пул Storage Spaces можно объединять диски различных размеров и типов подключения.

В Storage Spaces можно использовать как внешние, так и внутренние диски с интерфейсами USB, SATA, SAS, SCSI (в любых комбинациях). LUN-ы iSCSI в Storage Spaces использовать не получится (однако разместить виртуальный диска iSCSI на дисках Storage Spaces можно). Количество используемых накопителей также может быть произвольным. Пул хранения в любой момент можно расширить, подключив дополнительный диск и добавив его в пул. Кроме того, возможно использовать резервные (standby) диски, находящиеся в режиме ожидания вплоть до отказа одного из дисков в пуле.

С помощью Storage Spaces возможно обеспечить сохранность данных за счет организации различного вида зеркалирования и функции контроля четности (аналог RAID-5), подробнее о которых мы поговорим далее.

Стоит понимать, что Storage Spaces это не совсем привычный RAID, а скорее некое расширение возможностей файловой системы, предоставляющая ряд преимуществ конечному пользователя (программный RAID в Windows 8 остался таким же, как и в предыдущих версиях Windows). Во многом технология напоминает нечто из области виртуализации СХД.

Из недостатков Storage Spaces в Windows 8 стоит отметить невозможность организации загрузочных дисков на базе пулов хранения.

Пример использования Storage Spaces в Windows 8

Откройте панель управления Windows 8 и выберите элемент Storage Spaces (Дисковые пространства).

В появившемся окне будет отображен список имеющихся пулов хранения. На данный момент они отсутствуют. Чтобы создать пул хранения нажмите ссылку Create a New Pool and Storage Space .

В следующем окне появится список найденных физических накопителей, которые можно объединить в пул. Будут отображаться все диски за исключением системного (это ограничение очевидно), в том числе и пустые и содержащие данные.

Имейте в виду, что при включении диска с данными в пул, все данные на нем будут удалены.

В нашем случае мы имеем 2 внешних USB диска, емкостью 1 и 2 Тб соответственно. Отметим оба диска и нажмем кнопку Create Pool .

После чего система начнет создание и подготовку дисков в пуле хранения.

После создания пула хранения можно организовать на нем пространство хранения (одно или несколько). Далее будет предложено указать имя создаваемого пространства и ассоциировать с ним букву диска (чтобы избежать конфликтов с вновь подключаемыми внешними дисками выберите букву диска с конца алфавита).

В разделе Resiliency (Устойчивость), выберем тип Two-way Mirror (Двухстороннее зеркало). При такой настройке система будет хранить копию данных на каждом их накопителей и в случае выхода из строя одного из дисков, данные не будут потеряны.

Вообще говоря, существует четыре типа устойчивости создаваемого пространства, поговорим о них подробнее:

  • Simple (Простой) – простой тип организации дискового пространства, в котором хранимая информация распределяется по всем жестким дискам в пуле последовательно, а общая емкость пространства равна сумме емкостей составляющих дисков. По сути является аналогом RAID 0, улучшает скорость работы с данными и файлами больших размеров, отказоустойчивости не обеспечивает.
  • Two way mirror (двухстороннее зеркало) –каждая операция записи осуществляется одновременно на два диска. Соответственно, при отказе одного из дисков, данные не будут потеряны. Для организации пространства нужны как минимум два накопителя, в пуле может быть и более двух дисков, но алгоритм дублирования данных по дискам от пользователя скрыт. Общая емкость виртуально логического диска равно половине от общей емкости дисков.
  • Three way mirror (трёхстороннее зеркало) – подразумевает одновременную запись сразу на три накопителя в пуле, защищая от потери информации при выходе из строя любых двух дисков. Для организации пространства с таким типом устойчивости необходимо как минимум пять дисков (в Windows 8 Preview достаточно было иметь три диска). Следует понимать, что это схема подразумевает максимальную надежность хранения данных, однако скорость выполнения операция чтения и (особенно) записи снижается. Общая ёмкость пространства будет равна 1/4 от общей емкости всех дисков
  • Parity (четность ) – данные пишутся на разные диски вместе с информацией о четности (блок контрольных сумм по алгоритму XOR), напоминая принцип работы RAID 5. При выходе из строя любого из дисков, данные можно восстановить с помощью контрольной суммы. Для подобного типа организации пространства хранения необходимо иметь как минимум 3 диска. Доступная емкость равна 2/3 от общей емкости дисков в пуле. Из за необходимости расчета контрольных сумм и записи их на диск, скорость записи в таком пуле хранения несколько снижается и не рекомендуется их использовать для больших объёмов часто изменяемых данных.

В разделе Size указывается размер создаваемого пространства. По умолчанию его размер равен половине емкости используемых дисков, однако можно указать и больший размер (технология thin provisioning ). В этом случае, при достижении физического лимита на дисках, система предложит вам добавить дополнительные устройства хранения в пул. Нажмите кнопку Create Storage Space .

После этого Windows 8 приступает к форматированию дисков и созданию пространства хранения.

После создания пространства хранения в системе появится новый диск. Данный логический диск можно использовать абсолютно прозрачно, точно так же как и обычный диск, можно в том числе включить на нем шифрование данных, например с помощью BitLocker или TrueCrypt.

С помощью консоли управления Storage Pools можно познакомиться со списком файлов на дисках, изменить состав пула (или целиком удалить его) и переименовать диски.

Особенности функционирования Storage Spaces в Windows 8

В отличии от аппаратного RAID в Storage Spaces за физическими дисками в пространстве нет жесткого закрепления определенных функций, т.е. данные и контрольные суммы «размазываются» по всем доступным физическим устройствам. Если, например, в пространстве хранения, организованном в виде двухстороннего зеркала на базе двух дисков, если диск меньшего размера заполнится, дальнейшая запись данных в пространство станет невозможной, пока в пул не будет добавлен дополнительный диск.

Кстати, говоря, при добавлении нового диска, пространство хранения не перестраивается, что снижает эффективность его работы, но позволяет минимизировать нагрузку на компьютер. При замене неисправного диска новым, конфигурация пространства также не изменится, новый диск просто будет заполнен нужной информацией. Из всего этого должно быть понятно, что изменить тип пространства без потери данных не получится. Уменьшение размера пространства хранения также не предусмотрено.

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

Отметим, что система не выполняет проверку дисков () или дефрагментацию () виртуальных логических дисков в пространствах хранения. В случае наличия проблем с файловой системой на физическом диске, его придется извлечь из пула и восстанавливать стандартными средствами.

При выходе из строя одного из дисков в трее появляется информационное окно: Check Storage Spaces for problems , щелкнув по которому откроется панель управления пространствами хранения, в которой будет помечены неисправные/недоступные дики.

Использование функции Storage Spaces в небольшой домашней сети позволит отказаться от выделенных устройств типа Network Attached Storage (NAS), обеспечить резервное копирование данных.

Управлять Storage Spaces можно с помощью команд PowerShell.

Отметим, что функционал Storage Spaces доступен во всех редакциях Windows 8. В Windows Server 2012 при организации Storage Spaces возможно смешивать диски с файловыми системами NTFS и . Скорее всего в Windows 8 SP1 эта возможность появится и в клиентской ОС.

Читайте о функции Windows “Дисковое пространство”. А именно, как на домашнем ПК самому создать программный Raid из нескольких физических дисков , включая встроенные или подключенные через USB, с помощью данной функции, и восстановить данные из него.


Встроенная в Windows 10 функция Дисковые пространства даёт пользователю возможность создавать из нескольких жестких дисков один виртуальный. С её помощью можно осуществлять резервирование данных путём дублирования на нескольких дисках или объединить несколько жестких или SSD дисков в единый пул хранения. Дисковые пространства – это то же что и RAID , только на настольном компьютере и с подключенными к нему жесткими дисками.

Содержание:

Функция Windows “Дисковое пространство”

Данная функция впервые появилась в Windows 8, а в Windows 10 была усовершенствована. Дисковые пространства доступны во всех версиях Windows 8 и 10, включая Домашнюю.

Чтобы создать Дисковое пространство, к компьютеру должны быть подключены ка минимум два физических диска, включая встроенные или подключенные через USB.

Используя функцию Дисковые пространства можно создать пул хранения из двоих и более физических дисков, группируя их вместе. После создания пула хранения из двух или более физических дисков, можно создавать пространства трёх типов устойчивости:

  • Простой тип . Предназначен для создания диска максимально возможного объёма. Такой тип пространства никак не защищает данные в случае возможного сбоя или выхода из строя одного из дисков. На таком диске, Windows будет сохранять все данные в одном экземпляре. В случае выхода из строя одного из физических дисков, все сохранённые на нём данные будут утеряны. Такой тип диска удобен в случае необходимости временного хранения больших объёмов данных.
  • Зеркальное пространство предназначено для защиты данных на случай возможного выхода из строя физического диска, путём сохранения нескольких копий файлов. В случае выхода из строя одного из физических дисков пространства, хранимые на нём данные останутся доступными с другого диска, на котором была создана их копия. Этот тип удобен для защиты важных данных в случае возможных сбоев аппаратного обеспечения.
  • Чётное пространство – это нечто среднее между простым и зеркальным типом. Данные записываются с чередованием на нескольких физических дисках, при этом создается одна или две копии сведений о четности. Однако из-за необходимости расчета контрольных сумм, пространство с контролем четности ощутимо медленнее на запись, вследствие чего их рекомендуют для хранения архивов данных. Например, фото или видео.

Как создать дисковое пространство

Создать Дисковое пространство можно с помощью соответствующего меню в .

Но прежде чем начать создавать его, подключите к компьютеру все жесткие диски из которых предполагается создание Дискового пространства . После этого выберите в меню / Создать новый пул и дисковое пространство .


Выберите диски, которые необходимо добавить в пул и нажмите кнопку «Создать пул» .

Имейте ввиду, что все данные дисков из которых создаётся дисковое пространство, будут удалены.

После создания пула, необходимо настроить новое дисковое пространство: присвоить ему название и выбрать букву диска. Именно с таким названием и буквой оно будет отображаться в Windows.

Также, можно выбрать стандартную файловую систему Windows – NTFS , или новый тип системы ReFS . В случае создания зеркального или пространства с контролем четности, которые предназначены для защиты данных от утери, лучше выбирать тип системы ReFS.


Укажите тип устойчивости: Простой (без устойчивости) , Двухстороннее зеркало , Трехстороннее зеркало , Четность .

Для создания большого пула хранения без защиты от сбоя диска, выберите тип Простой (без устойчивости). Двухстороннее зеркало предполагает хранение двух копий данных на диске, а Трехстороннее – трёх. Дисковое пространство с типом Чётность защитит в случае выхода из строя одного из дисков, и будет иметь больший размер чем двух- или трёхстороннее зеркало, но будет значительно медленнее.

В зависимости от выбранного типа устойчивости, мастер установит максимально доступный на данный момент размер дискового пространства. Но, вы можете установить и больший размер пула данных. Это предназначено на тот случай, когда доступный объём подключенных физических дисков заполнится. Чтобы пользователь имел возможность подключить ещё один диск без необходимости вносить изменения в конфигурацию дискового пространства.

После этого нажмите «Создать дисковое пространство» .

Как пользоваться Дисковыми пространствами

Созданное дисковое пространство появится как ещё один диск в папке «Этот Компьютер» . Такой диск будет иметь имя и букву, которую вы ему присвоили при создании и ничем визуально не будет отличаться от других дисков.


С данным диском можно делать всё то же, что и с другим обычным диском. Даже зашифровать его Bitlocker.


Как управлять дисковыми пространствами

После создания дискового пространства, можно снова перейти в Панель управления для управления им или его настройки.


Можно создать ещё одно дисковое пространство. Их количество ограничено только количеством подключенных к компьютеру физических дисков. Можете добавить диски или переименовать пул хранения данных.

Изменить название или букву дискового пространства можно нажав меню «Изменить» в подразделе .


Чтобы добавить диски к существующему дисковому пространству, выберите «Добавить диски» и укажите диски, которые необходимо добавить. Выбрав меню «Оптимизировать использование диска», Windows равномерно перераспределит существующие данные по всем дискам.


Если существующее дисковое пространство состоит из трёх и более физических дисков, то один из них можно удалить. Для этого разверните меню физические диски и выберите ссылку «Подготовить к удалению» , напротив диска, который необходимо удалить. В нашем случае такой ссылки нет, так как дисковое пространство состоит из двух дисков.

После этого, система перенесёт данные из удаляемого диска на два (или более) других физических диска дискового пространства. В результате ссылка «Подготовить к удалению» изменится на «Удалить» .


Удалённый из дискового пространства физический диск станет доступным в Диспетчере дисков . Для возможности дальнейшей работы, на нём возможно понадобится создать новый раздел и отформатировать его.


В управлении дисковыми пространствами пользователю также доступна функция удаления самого дискового пространства (справа от названия дискового пространства, подраздела ). Только имейте ввиду, что все данные удаляемого дискового пространства будут удалены.

В случае удаления дискового пространства, станет доступным меню «Удалить пул» , выбрав которое можно полностью удалить пул хранения данных.


Как восстановить данные из диска дискового пространства или зеркального тома

Что же делать в случае утери данных из дискового пространства? Возможно ли их восстановить?

В случае выхода из строя одного или нескольких дисков дискового пространства, процесс восстановления данных из него становится очень сложным и не может сводится к сканированию каждого диска по отдельности программой для восстановления данных. В таком случае данные не восстановятся или будут восстановлены повреждёнными.

Исключением является только зеркальное дисковое пространство, которое создано как RAID-1. Так как в дисковом пространстве такого типа на каждом из дисков создаётся копия данных.


Для этого достаточно просканировать логический диск, в виде которого отображается дисковое пространство, с помощью Hetman Partition Recovery . После чего найти и восстановить утерянные файлы или папки таким же способом, как из любого другого диска.


Как создать зеркальный, чередующийся или составной том в Windows 7 или более старых версиях

Как уже упоминалось в начале статьи, функция Дисковые пространства появилась в Windows начиная с 8 версии. Но до этого, системой также предоставлялась возможность создания дисковых пространств. Создать зеркальный, чередующийся или составной том в Windows 7 или более старых версиях можно используя меню Управления дисками.

Так как Управление дисками присутствует и в Windows 8 / 10, то таким же образом можно создать дисковое пространство и в последних версиях системы.

Чтобы создать дисковое пространство используя Управление дисками необходимо два или больше подключенных к компьютеру дисков, которые будут не распределены. Если на диске, из которого планируется создать зеркальный том, будет создан раздел – удалите его. Для этого кликните на нём правой кнопкой мыши и выберите «Удалить том…» . Имейте в виду, что это удалит из диска все данные.


После этого, снова кликните правой кнопкой мыши на диске из которого предполагается создание дискового пространства, и в зависимости от поставленной задачи выберите тип создаваемого тома. Они в чём-то аналогичны типам устойчивости дисковых пространств, которые описаны в первой части данной статьи.


Так, Простой том – это часть физического диска, который функционирует как отдельный физический блок. Это ни что иное, как обычный логический раздел физического диска. Он не является дисковым пространством, в том понимании о котором мы говорим в данной статье.

Составной том соединяет области свободного пространства двух и более физических жестких дисков, в один логический диск. Состоит он как минимум из двух не размеченных частей на двух жестких дисках, которые при создании объединяются в одну общую. Если создать составной том, в который включить 150 ГБ с одного, и 250 ГБ с другого жесткого диска, то в папке Этот компьютер появится локальный диск в 400 ГБ. Производительность у составного тома выше чем у простого, а отказоустойчивость такая же. Создание составного тома подойдёт для решения вопроса по объему локального диска.

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


Зеркальный том – это то же, что и зеркальное пространство. Он предназначен для защиты данных на случай возможного выхода из строя физического диска, путём сохранения нескольких копий файлов. В случае выхода из строя одного из физических дисков пространства, хранимые на нём данные останутся доступными с другого диска, на котором была создана их копия. Этот тип удобен для защиты важных данных в случае возможных сбоев аппаратного обеспечения.


Том RAID-5 , так же, как и чётное пространство, нечто среднее между простым и зеркальным типом. Данные записываются с чередованием на нескольких физических дисках, при этом создается одна или две копии сведений о четности. Однако из-за необходимости расчета контрольных сумм, пространство с контролем четности ощутимо медленнее на запись, вследствие чего их рекомендуют для хранения архивов данных. Например, фото или видео. Для его создания необходимо три и более дисков.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows