2003 г
Файловая система и менеджер томов Veritas
© А.Г. Быков
4 июля 2003
Если вы системный администратор и занимаетесь поиском работы (в США), то вы наверняка обратили внимание на то, как часто сейчас требуются системные администраторы со знанием технологий комании Veritas и, особенно, файловой системы (Veritas File System - VxFS) и менеджера томов Veritas (Veritas Volume Manager – VxVM).
Попробуем понять, почему так популярны эти продукты? Почему компании готовы платить деньги за эти продукты компании Veritas несмотря на то, что практически все современные операционные системы поставляются с каким-либо вариантом журналируемой файловой системы и различными менеджерами томов?
Примеры современных файловых систем: ReiserFS или ext3 для Linux, JFS2 для IBM AIX 5L, Sun UFS и QFS для Sun Solaris, или NTFS Journaling FS в Windows 2003 (многие технологии управления данными компании Microsoft основаны на «урезанных» версиях продуктов компании Veritas).
Прим.: Компания Veritas имеет также продукт Veritas Foundation Suite, который объединяет эти обе технологии, а также содержит в себе продукты SANPoint QuickStart, и возможности Veritas QuickLog.
Введение
Успешное использование информационных технологий похоже уже не является существенным конкурентным преимуществом, а является обязательным элементом выживания почти любой современной организации. И поэтому требования к непрерывной доступности данных (надежность и производительность) важны в настоящее время как никогда ранее.
Эффективным ответом компании Veritas на проблемы обеспечения необходимого и достаточного уровня надежности и производительности систем хранения данных, имеющая лучшие характеристики (и часто значительно лучшие), чем ближайшие конкуренты, является файловая система Veritas.
Имея надежную, быстро восстанавливаемую файловую систему, такую как VxFS, мы будем защищены от длительных незапланированных простоев из-за какой-либо аварии и сбалансированные процессорные мощности и подсистему ввода/вывода.
Но что же делать с запланированными простоями, необходимыми в таких случаях, как изменение размера тома данных, добавления нового диска в дисковый массив? Что делать с всё ускоряющимся ростом затрат на управление системами хранения данных? Как оптимизировать использование имеющихся дисковых систем в организации?
Решением, которое позволяет проводить конфигурирование и администрирование дисковой подсистемы «на лету», снижает затраты на управление и общую стоимость владения (TCO) системами хранения данных является менеджер томов Veritas.
Файловая система
Файловая система VxFS является журналируемой и основана на экстентах (подробнее см. в cтатье «Управление томом, использование файловой системы и тонкая настройка системы» [Генри Ньюман, LAN #11/2002]).
Экстентом называется один или несколько смежных блоков данных в файловой системе. Он представляется как пара адрес-длина, которая идентифицирует стартовый адрес блока и длину экстента (в физических или логических блоках). Так как практически все современные диски позволяют паралельное считывание многих блоков, то для непрерывных операций ввода/вывода доступ к данным при многоблочной организации конечно же значительно быстрее, чем последовательные операции ввода/вывода по одному блоку в единицу времени.
В файловой системе VxFS для косвенной адресации (необходима в многодисковых конфигурациях) также применяется особый тип экстентов, называемый типизированным экстентом (typed extent). Каждый элемент карты блоков имеет Запись Типизированного Дискриптора, которая содержит тип (уникальный идентификатор определяющий длину и формат), смещение, стартовый блок и количество блоков.
Быстрое восстановление
Согласованность данных и быстрое восстановление файловых систем после сбоев позволяет ведение журнала операций доступа к данным (журналирование).
В VxFS используется одновременная паралельная проверка имеющихся файловых систем, что значительно уменьшает время загрузки после сбоя. Вы также можете монтировать файловую систему даже до окончания ее полной проверки.
Конфигурирование «на лету»
Для VxFS вы можете не останавливая всей системы и не снижая производительности выполнять следующие задачи администрирования:
- Изменение (как увеличение, так и уменьшение) размера файловой системы.
- Создание «моментальных снимков» (snapshot) состояния файловой системы для решения задач резервного копирования позволяет не ограничивать доступ к данным и не требует значительного дополнительного дискового пространства. Также, наличие «моментальных снимков» значительно сокращает время восстановления данных. Технология «моментальных снимков» также хороша для создания удаленных реплик данных, так как по линиям связи передаются только измененные данные.
- Дефрагментация файлов и оптимизация директорий.
Моментальный снимок (snapshot) файловой системы
Моментальный снимок (snapshot) файловой системы это точный образ оригинальной файловой системы в определенный момент времени, которая называется snapped файловой системой. Моментальный снимок файловой системы всегда доступен только для чтения read-only, причем вы можете копировать из него как отдельные файлы (используя команды cp или cpio) так и всю файловую систему (утилиты volcopy, vxdump, fscat).
Моментальный снимок файловой системы содержит:
- супер-блок
- битовую карту
- блоковую карту
- блоки данных скопированные со snapped файловой системы.
Супер-блок подобен супер-блоку нормальной файловой системы VxFS хотя magic номер различен и значения многих полей уже бессмысленны.
Сразу же за супер-блоком идет битовая карта, которая содержит по одному биту для каждого блока snapped файловой системы. Вначале все значения битовой карты равны нулю. Установка бита в единицу означает, что соответствующий блок изменен в snapped файловой системы и перед изменением скопирован в «моментальный снимок».
Блоковая карта используется для ссылок на копируемый в «моментальный снимок» блок. Вначале в блоковой карте все значения тоже равны нулю. И когда блок копируется в «моментальный снимок» соответствующий элемент блоковой карты изменяется и содержит номер блока .
Блоки данных размещаются за блоковой картой. Они заполняются данными копируемыми из snapped файловой системы.
Как работает «моментальный снимок» файловой системы
Моментальный снимок файловой системы создается монтированием пустого дискового пространства (slice). Битовая, блоковая карты и супер-блок инициализируются и смонтированная файловая система, которая должна быть snapped, «замораживается». Как только файловая система, которая должна быть snapped «заморожена» (т.е. прошла инициализация) появляется возможность делать «моментальные снимки» и snapped файловая система «размерзается» и готова к использованию.
Когда изменяется inode или записываются данные в блок данных N snapped файловой системы, то старые данные перед изменением snapped файловой системы сначала считываются и копируются в «моментальный снимок». Значение битовой карты изменяется на 1 (означает, что данные для блока N могут быть найдены в snapped файловой системе). Элемент блоковой карты для блока N изменяется на номер блока в «моментальном снимке» содержащему старые данные.
При запросе данных блока N из «моментального снимка» сначала проверяется значение битовой карты и, в случае значения 1 читается информация из указанного в блоковой карте блока «моментального снимка». Если же значение битовой карты равно 0, то считываются данные из блока N snapped файловой системы. Последующие операции записи в блок N snapped файловой системы не требуют создания дополнительных копий «моментального снимка», так как старые данные для него должны быть сохранены только один раз.
История изменений snapped файловой системы (inode, директории, данные в файлах, карты экстентов, и т.п.) храниться в «моментальных снимках», которые содержат последовательные образы всех структур snapped файловой системы соответственно для времени, когда соответствующий «моментальный снимок» был создан.
Так как в «моментальных снимках» хранится только измененная информация, количество дискового пространства требуемое для размещения «моментальных снимков» зависит от частоты изменений в snapped файловой системе и времени, в течение которого «моментальный снимок» должен храниться. В худшем случае, snapped файловая система полностью заполнена и каждый файл удален и переписан. В этом случае дисковое пространство для «моментального снимка» должно быть приблизительно равно 101% размера snapped файловой системы.
К счастью, данные в основных файловых системах не так экстремально часто меняются.
Практика показывает, что в период низкой активности «моментальный снимок» требует от 2-х до 6-ти процентов размера snapped файловой системы. В период высокой активности (изменения данных) «моментальный снимок» может потребовать до 15% размера snapped файловой системы.
Логично, что при одинаковой активности для больших файловых систем этот процент будет меньше, а для маленьких файловых систем больше.
Достижение высокой производительности и масштабирования
Файловая система Veritas намного производительнее, чем другие, также журналируемые и также основанные на экстентах, файловые системы. Для примера, пиковая пропускная способность на 236% быстрее чем в ReiserFS и на 478% быстрее чем в ext3 (согласно SPECsfs3.0 NFS Server Benchmark на Linux платформе).
Основой лучшей производительности ввода/вывода VxFS являются агрессивная кластерная политика ввода/вывода, интеграция с менеджером томов Veritas VxVM, и возможность для системных администраторов устанавливать параметры файловой системы специфичные для приложений.
Улучшенная кластеризация ввода/вывода
Кластеризацией ввода/вывода называется технология группировки множества операций ввода/вывода. Более агрессивную кластеризацию, в сравнении с другими файловыми системами, и высокую производительность, особенно при операциях с большими файлами, обеспечивают политики ввода/вывода VxFS.
Тесная интеграция с VxVM
VxFS использует интерфейсы к VxVM для определения характеристик ввода/вывода тома. Для достижения максимальной производительности и соответствующего размещения данных эта информация и интерфейсы также используются когда VxFS создает файловую систему (mkfs).
Как составная часть интегрированного решения VxFS/VxVM, менеджер томов VxVM экспортирует различные наборы параметров ввода/вывода для достижения наивысшей производительности, например специфические наборы для RAID-5, распределенных (striped), и зеркалированных (mirrored) томов. Например, для RAID-5 обеспечивается полное распределение по всем дискам при записи (full stripe writes).
Параметры специфичные для приложения
Системные администраторы для достижения максимальной производительности ввода/вывода могут устанавливать следующие параметры файловой системы:
- Размер экстента по умолчанию
- Установка нижнего параметра, выше которого все операции выполняются как прямой ввод/вывод.
- Максимальный размер прямого ввода/вывода
Менеджер томов
Ведущее решение для консолидации систем хранения
Для устранения физических ограничений систем хранения данных, а также для возможности динамично и проактивно управлять данными используется виртуализация.
Основными типами объектов VxVM являются физический и виртуальный объекты.
Физический объект – физические диски или другие устройства с блоковым или raw device интерфейсом, которые используются для хранения данных;
Виртуальный объект - логическое представление дискового пространства в виде томов, плексов, субдисков, дисковых групп, и VM дисков.
Данные в виртуальных томах могут быть организованы следующими способами:
- Соединение и spanning
- Расслоение (RAID-0)
- Зеркалирование (RAID-1)
- Расслоение и зеркалирование (зеркалированные слои, RAID-0+1)
- Зеркалирование и расслоение (расслоенное зеркало, RAID-1+0)
- RAID-5 (расслоение с контролем четности)
Менеджер томов Veritas позволяет менять внутреннюю организацию данных «на лету» (конечно же, для выполнения этих операций у вас должно быть необходимое свободное дисковое пространство).
В менеджере томов используются специальные решения для организации хранения данных, которые позволяют значительно улучшить производительность, например, полное расслоение и лево-симметричная организация для конфигурации RAID-5 или, для массивов RAID-1, если у вас есть «моментальные снимки», то синхронизация массива производится очень быстро.
Возможности управления
Управление сервером – дорогое удовольствие, и особенно это утверждение относится к конфигурированию дисковой подсистемы. Чтобы контролировать используемую дисковую конфигурацию, администратор должен иметь возможность определить текущую конфигурацию, применять последовательные шаги по ее изменению, а также измерять эффективность и производительность дисковой подсистемы. Все это можно делать используя менеджер томов Veritas.
Различные администраторы предпочитают пользоваться разными средствами управления. Например, администратор управляющий множеством систем с графической консоли и выполняющий анализ производительности и переконфигурацию дисковой подсистемы может предпочесть использование графического интерфейса. В то же время, сервисному инженеру, который звонит на проблемный центр данных используя модем, может оказаться удобнее пользоваться алфавитно-цифровым набором инструментов управления.
Конфигурационные файлы
Как и в обычных системах управления базами данных, конфигурационная база данных может быть загружена или расширена используя файл ввода, в котором определяется конфигурационный файл. Администратор может использовать утилиту vxprint -m для создания копии текущей конфигурации в загружаемом формате для целей восстановления или клонирования конфигурации.
Новые конфигурации
Обычно, новая конфигурация менеджера томов загружается с помощью средств перечисленных ниже, но все же вы можете полностью сконфигурировать систему используя команды установки диска или файл ввода конфигурации.
Изменение конфигураций
Если новая структура менеджера томов только создается то она может быть загружена используя файл ввода. Для изменения или удаления структур можно использовать как команды, меню или графический интерфейс, так и способом удаления старой конфигурации и загрузки новой. Последний способ не является лучшим, так как необходимо прерывать доступ к устройствам хранения. Остальные же способы могут выполнятся «на лету».
Чтобы была возможность перестройки поврежденной среды менеджера томов очень рекомендуется вывод команды vxprint сохранять во внешнем файле.
Управление из командной строки — сложные операции
Менеджер томов Veritas поддерживает интерфейс командной строки как для первоначального конфигурирования так и для последующего администрирования. Существует набор утилит используемых для управления восстановлением данных, доступа к данным, а также измерения производительности.
Управление из командной строки — одношаговые операции
Позволив управляющим средствам использовать заложенные в них знания по безопасному и производительному размещению новых и переконфигурированных объектов многие базовые операции конфигурирования могут быть упрощены.
Команда менеджера томов vxassist позволяет администратору однозначно определить результаты желаемой операции конфигурации, как, например, «создать дважды зеркалированный 50 GB том» так и с детальным указанием желаемого размещения («создание зеркала для этого тома на диске с такой же геометрией на таком же типе контроллера»). Этот способ используется для создания новых объектов, добавления или удаления зеркалирования и регистрации (logs), а также для изменения размера объектов. Администратор может комбинировать одношаговые и сложные операции.
Управление с помощью меню
Для упрощения доступа к основным командам управления дисками и дисковыми группами менеджер томов использует утилиту меню vxdiskadm. Эта утилита позволяет добавлять новые диски и подчинять их контролю менеджера томов, для создания и наполнения новых дисковых групп, а также для выполнения основных функций управления и замены дисков.
Графический интерфейс
Наибольшего упрощения управления конфигурациями системы хранения данных позволяет графический интерфейс VERITAS Volume Manager Storage Administrator, который предоставляет доступ ко всем конфигурациям и утилитам управления дисковой подсистемой и, конечно же, всем командам.
VERITAS Volume Manager Storage Administrator является Java приложением, которое может выполнятся на удаленной рабочей станции (или на PC с сервером системы X Window). Volume Manager Storage Administrator также позволяет управление группой серверов с различными операционными системами. Вы можете открыть необходимое количество окон, каждое для различных систем, хостов или объектов.
Классы операций
Volume Manager Storage Administrator может быть использован как для выполнения сложных, так и одношаговых (базовых) операций. В добавление к возможностям по управлению томами Volume Manager Storage Administrator может быть использован для создания и администрирования файловых систем на этих томах и управления инициализацией дисков. Также можно его использовать для мониторинга выполнения задач ввода/вывода.
Дополнительные аргументы
Наряду с превосходными техническими характеристиками не стоит забывать и о коммерческой стороне дела. Дополнительными факторами говорящими в пользу решений компании Veritas являются:
- Поддержка различных операционных систем (Sun Solaris, HP/UX, IBM AIX, Windows 2000, Linux), что приводит к стандартизированному решению для всей вашей ИТ инфраструктуры. Используя файловую систему и менеджер томов VERITAS вы, без отказа от гибкости использования различных платформ, получаете общую концепцию и интерфейсы управления системами хранения данных по всему предприятию.
- Лучшая интегрированность всех компонентов используемых для управления системами хранения данных, так как все компоненты произведены одной компанией.
- Широко используемые и проверенные технологии, являются стандартом де-факто, поддерживаются практически всеми производителями.
- Veritas является крупной, «крепко стоящей на ногах» компанией, так что вы можете быть уверены в обеспечении необходимого уровня обслуживания и дальнейшего развития решений.
Вывод
Менеджер томов VERITAS и файловая система VERITAS специально разработаны для информационных систем, где требуется высокая надежность, высокая производительность и непрерывность операций. Технические характеристики и явные коммерческие выгоды от их использования для таких ИС настолько хороши, что компании готовы идти на дополнительные затраты.