Источник: Huawei.
Вся жизнь — это выбор. Между Apple и Android, MySQL и PostgreSQL, здоровым питанием и тортом после 18:00. Но как быть, если его хочется, а отрабатывать калории в зале — не очень? Обычно весь торт есть не заставляют, поэтому его можно нарезать небольшими частями и использовать по необходимости.
С данными в СХД такая же ситуация: можно использовать все пространство, а можно ограничиться LUN и оптимизировать бюджет. О том, что такое LUN, когда и где лучше использовать технологию — читайте в материале.
Что такое RAID
Для начала давайте вспомним, что такое RAID-массивы и диски. Это знание нам еще пригодится для определения технологии LUN.
RAID — это технология виртуализации данных для объединения нескольких физических дисков в логический модуль для повышения отказоустойчивости и производительности.
Сама технология появилась давно, когда еще были шпиндельные диски с подключением по SAS и SATA, и не уживается с современными твердотельными накопителями. Поэтому в качестве своей All-flash СХД мы используем Huawei OceanStor Dorado с накопителями NVMe-специализированного форм-фактора. Она поддерживает RAID 2.0 и максимально задействует механизмы, позволяющие сберечь ресурс SSD, предотвратив «амплификацию» записи. Более того, RAID 2.0 позволяет делать full stripe write, что тоже влияет на скорость и износ.
Уровни «классического» RAID
Несмотря на разницу между RAID и RAID 2.0, они остаются все теми же избыточными массивами независимых дисков. При этом этом бывают RAID0, RAID1, RAID5, RAID6 и другие уровни, которые определяют конфигурации дисковых массивов.
Уровни стандартизированы в спецификации Common RAID Disk Data Format и определяют способ объединения дисков и отказоустойчивость. Приведем примеры.
- RAID0 — это уровень RAID, который объединяет два или более физических диска в один логический. Объем логического диска равен сумме объемов физических дисков, входящих в массив. На этом уровне отсутствует избыточность, а выход из строя одного диска может привести к потере всех данных в виртуальном диске.
- Уровень RAID1 создает идентичные копии данных на двух и более дисках. Объем виртуального диска при этом не превышает объема минимального из физических дисков. Данные на виртуальном диске RAID1 будут доступны, пока хотя бы один физический диск из массива работает. Хоть RAID1 и добавляет избыточности, но является достаточно дорогим решением, так как в массивах из двух и более дисков доступен объем только одного.
- Уровень RAID5 решает проблему дороговизны. Для создания массива с уровнем RAID5 необходимо как минимум три диска, при этом массив устойчив к выходу из строя одного из них. Данные в RAID5 хранятся блоками с контрольными суммами. Нет строгого деления на диски с данными и диски с контрольными суммами. Контрольные суммы в RAID5 — это результат операции XOR, примененной к N-1 блокам, каждый из которых взят со своего диска.
RAID5 — это некий компромисс, который абстрагирует пользователя от физических накопителей и их ограничений. В мире этого уровня есть максимальный объем и виртуальные блоки, из которых он состоит.
Представление RAID5. Источник.
Похожая концепция лежит в основе разделяемых СХД, которые «состоят» из логических ячеек — LUN, Logical Unit Number, впервые появившихся в среде SCSI.
Обычно принято разделять понятия LUN (номер логической ячейки) и LU (логическая ячейка). Под первым понимают адрес до второго, но мы эти понятия объединим и будем использовать как синонимы.
Что такое и как работает LUN
Одно из самых простых определений звучит так: LUN — это логический (виртуальный) том внутри RAID-группы. Специальная программа (иногда аппаратный компонент), она же RAID-контроллер, представляет его для операционных систем в виде физического диска.
Представление LUN в среде ISCSI,
обращение к ячейкам памяти. Источник.
Почти во всех RAID-контроллерах используется схема адресации устройств, как в реальной жизни:
- шина (Bus, улица)
- адрес (ID, дом)
- подадрес (LUN, квартира).
Чтобы определять системы, в которых на одном адресе расположен ряд разных устройств, ввели подадресы — так и появились LUN.
Представьте, что вы подключаете к серверу внешнюю дисковую систему и можете использовать только один кабель. В таком случае каждый порт имеет один адрес — все логично. Тем не менее, чтобы на одном адресе видеть массив дисков, нужно использовать LUN.
Как LUN спасает сверхбольшие диски и бюджеты
Смысл разбиения СХД (RAID-массива) на логические ячейки в том, что на разных фрагментах можно иметь разные политики кэширования.
Операционные системы не всегда видят сверхбольшие диски. В таких случаях дробление на LUN выглядит не костылем, а протезом, без которого не обойтись.
Арендовать СХД полностью — не всегда хорошая бизнес-стратегия. У проекта может не быть потребности в таком огромном пространстве, поэтому возникает проблема утилизации мощностей, с которой отлично справляется LUN.
Как добавить новый LUN в систему
LUN СХД подходит для хранения данных отдельно от вычислений. Такая схема работы востребована среди заказчиков, которые строят частные облака поверх выделенных серверов. Хранение данных отдельно от вычислений позволяет гибко переносить нагрузки с одного физического сервера на другой и увеличить скорость деплоя, что в целом повышает надежность и доступность информационных систем.
Звучит интересно, но сложно представить, как настроить связность между сервером и отдельными логическими ячейками СХД. Писать собственную LUN-систему с нуля нет времени, поэтому попробуем решить задачу на примере разделяемой СХД и выделенных серверов Selectel.
Подготовка выделенного сервера
В разделе Серверы и оборудование → Серверы собираем и арендуем сервер произвольной конфигурации. Сборка сервера займет от одного до пяти дней.
Конфигуратор выделенных серверов в панели управления.
LUN СХД можно подключить только к выделенному серверу произвольной конфигурации с сетевой картой 2 × 10 GE + MC-LAG к SAN сети 10 Гбит/с. Сервер должен находиться в пуле MSK-2, как и LUN СХД.
Подготовка LUN СХД
Сервер готов, теперь осталось заказать LUN СХД. Для этого переходим в раздел Серверы и оборудование → LUN СХД, выбираем регион и пул, указываем UUID сервера (его можно скопировать в списке серверов) и настраиваем объем. При этом от последнего зависит размер скидки — можно сэкономить до 20% от стоимости.
Конфигуратор LUN СХД.
Осталось нажать на кнопку Оставить заявку — и готово! Дальше наши специалисты обработают запрос и самостоятельно подключат LUN СХД к вашему серверу. Статус работ можно отслеживать через тикет-систему.
Результат
Как только статус работ обновился и пришла отмашка в тикет-системе, что все готово, можно подключиться к серверу и проверить доступность LUN СХД. Если вы работаете с Windows Server, достаточно перейти в Этот компьютер, если с Linux — можно перейти в корень /dev.
LUN СХД подключен через отдельный порт и отображается как обычный диск. При желании можно вывести его «досье» через команду SMART.
Тем временем в панели управления устройство появилось во вкладке Серверы и оборудование → LUN СХД. Там же можно изменить объем хранилища и отказаться от него при необходимости — например, если проект подошел к концу.
Заключение
Использование LUN оптимизирует CAPEX-бюджет и позволяет перевести ресурсы в операционные расходы. Selectel помогает проектам экономить на инфраструктурных решениях за счет разделения СХД на фрагменты и частичной аренды оборудования.
Возможно, эти тексты тоже вас заинтересуют:
→ «Джва года ждал»: вышел релиз FreeBSD 14.0. Что изменилось в новой версии?
→ Чего не знают айтишники? Как мы провели IT-кроссворд и нашли ответы на все вопросы
→ Как устроены сети: полезные материалы от сотрудников Selectel