Усовершенствования управлениями томами в AIX 5L

Управление томами в AIX 5L значительно улучшено. Большинство популярных операций были оптимизированы, что привело к значительному увеличению производительности. Обычно управление томами не рассматривается как критичный фактор для производительности всей системы, однако благодаря постоянным усовершенствованиям AIX 5L конфигурирование больших серверов стало более эффективным. Эта статья описывает улучшения в производительности в области управления томами, представленные в последних версиях AIX.

Джеральд МакБрерти, ведущий программист, IBM

Джеральд МакБрерти (Gerald McBrearty) – ведущий программист, работает в IBM с 1989 г. Участвовал в различных проектах разработки AIX. В данный момент он занимается файловой системой General Parallel File system, а недавно закончил длительную работу над созданием LVM. Он получил диплом бакалавра компьютерных наук в Университете Техаса (University of Texas), Сан-Антонио (San Antonio). Связаться с ним можно по адресу gfm@us.ibm.com.



Серджио Рейес, программист, IBM

Серджио Рейес (Sergio Reyes) получил диплом бакалавра в области компьютерных наук в Университете Техаса (University of Texas – Pan American). Сейчас он работает программистом в IBM, специализируясь на оптимизации операций ввода/вывода ядра AIX. Связаться с ним можно по адресу sergio1@us.ibm.com.



Брет Ольсецевски, ведущий технический специалист, IBM

Брет Ольсецевски (Bret Olszewski) работает в IBM с 1989 г. Занимался масштабируемостью SMP, 64-битными приложениями, ядром AIX и производительностью баз данных. Сейчас он работает в команде по увеличению производительности AIX в должности STSM. Он получил диплом бакалавра в области компьютерных наук в Университете Миннесоты (University of Minnesota). Связаться с ним можно по адресу breto@us.ibm.com.



21.04.2009

Эволюция управления томами в AIX

Увеличение производительности серверов IBM pSeries сопровождалось увеличением максимальных размеров дисковой подсистемы. Из-за роста максимальных размеров дисковой системы на протяжении последних версий AIX (AIX 4.3, AIX 5L Version 1 и 5L Version 2) в менеджер логических разделов AIX (AIX logical volume manager, LVM) вносились изменения, дабы приспособить его к масштабируемости на уровне логических разделов.

В версиях AIX до версии 4.3 группа томов (volume group) ограничивалась 32-мя дисками и 255-ю логическими разделами. В этой статье под диском понимается физической том в том виде, в каком его видит система. Физический том может быть номером дискового устройства (logical unit number, LUN) из RAID-массива или физическим жестким диском, подключенным к SCSI-контроллеру. В AIX 4.3.3 была добавлена возможность создания групп томов из 128-ми дисков и 512-ти логических разделов. Команды, используемые для управления подобными большими группами томов, работали медленно, поэтому на практике они редко применялись. AIX 5L Version 1 реализовала в LVM поддержку логических групп дорожек длиннее 128 килобайт. Данное нововведение увеличило производительность дискового ввода-вывода для многих приложений, которые активно им пользуются. В AIX 5L Version 2, используя опцию vg с командой mkvg, можно увеличить число логических разделов в одной группе томов до 512; кроме того, для улучшения производительности были переработаны некоторые команды.


Масштабирование групп логических дорожек

Одна из функций LVM заключается в управлении блоками, на которые разбит диск. На самом высоком уровне это управление реализуется за счет распределения физических разделов по логическим томам. Раздел физического раздела выясняется при определении физического тома. Группа логических дорожек (logical track group, далее – LTG) - уровень управления составными блоками диска, находящийся под уровнем управления физическими разделами. LTG предоставляет эффективный механизм управления непротиворечивостью зеркальной записи, ресинхронизацией зеркальных копий и непротиворечивостью чтения/записи. В AIX, предшествующих версии 5L Version 2, LVM было запрещено выполнение записи в тот блок диска, который задействован другой операцией. Например, если два независимых запроса чтения и записи обращались к одной области на диске, то они выполнялись последовательно, а не параллельно. Данный подход исключает возможность появления противоречивых данных. Начиная с AIX 5L Version 2, согласованное чтение/запись доступно с использованием опции –o для команды mklv. В большинстве случаев возможность согласования не требуется либо из-за отсутствия параллельно выполняемых операций, либо хватает функциональности файловой системы или приложения. Однако возможность согласования все еще используется для приложений, которые упорядочиваются LVM.

Одна из особенностей управления томами на AIX версии до 5L заключается в том, что LVM не передавал дисковый ввод/вывод размером большим, чем LTG (128 Кбайт), на драйвер какого-либо устройства. Большие запросы дискового ввода/вывода, выполняемые приложениями, разбивались LVM на сегменты, не превышающие LTG. Таким образом, запрос на дисковый ввод/вывод 1 МБ данных преобразовывался по крайней мере в 8 отдельных запросов к драйверу дискового устройства. Если на диске выполнялся только один поток записи или вывода, то проблем не возникало, поскольку и чтение, и запись велись на скорости носителей. Однако, если несколько потоков выполняли ввод/вывод с диска, разбиение запросов ввода/вывода могло привести к дополнительным обращениям к драйверу дискового устройства, уменьшая тем самым общую производительность.

Начиная с AIX 5L Version 2, максимальный размер запроса ввода/вывода, передаваемого приложением драйверу дискового устройства, можно настроить. Пропускную способность системы можно оптимизировать путем установки LTG-менеджера LVM на максимально возможный размер передачи. На некоторых дисковых подсистемах такая возможность присутствует. Настраиваемый максимальный размер передачи позволяет запросу дискового ввода/вывода достигнуть размера 1 MB (если LVM LTG равен 1 MB). Это позволяет приложению выполнять запросы ввода/вывода размером в LTG, которые в неизменном виде будут передаваться на дисковое устройство до тех пор, пока оно не начнет пересекать границы раздела LVM.

Чтобы продемонстрировать преимущество использования большого LTG, был проведен ряд экспериментов. В рамках этих экспериментов варьировалось число процессов, генерирующих одновременные одномегабайтные запросы на чтение различных областей диска. В качестве JBOD-массива использовался один диск FASt-T с отключенными кешами чтения и записи и максимальной длиной очереди запросов диска - 24. Диаграмма 1 показывает суммарную пропускную способность запросов чтения с диска (сумма производительностей отдельных процессов). На этом графике видно, что при использовании большого LTG можно получить существенные, если не превосходные, улучшения в производительности. Несмотря на то что при проведении кратковременных тестов улучшение пропускной способности будет незначительным, оно станет очевидным при мониторинге работы приложения в течение нескольких часов или дней.

Диаграмма 1
Диаграмма 1

Масштабируемые измерения команд управления

Чтобы оценить изменения в производительности для различных команд управления томами был проведен ряд сравнительных измерений между уровнями операционной системы. Измерения проводились на основе конфигурации из таблицы 1. Данная конфигурация была выбрана исключительно из-за ее доступности. Важно помнить, что операции управления томами в AIX являются атомарными; все метаданные тома фиксируются на диске. Таким образом, когда команда управления томом завершится и управление вернется к системе, можно будет оценить полученные результаты. Поскольку метаданные тома находятся на диске, может возникнуть желание скешировать эти данные в память (чтобы быстрее к ним обращаться), но тогда сбой в работе системы может привести к порче тома.

Таблица 1. Конфигурация измеряемой системы
СистемаIBM eServer P660 6m1
Процессоры8 750Mhz RS64-IV
Память28GB
Адаптеры жестких дисков16 SSA, кеш быстрой записи отключен
Жесткие диски128 SSA, 10,000 RPM

В этом разделе описаны измерения с помощью следующих команд управления томами:

  • mkvg – создает группу томов дисков и инициализирует хранение в группе томов;
  • mklv – создает логический том для группы томов;
  • extendvg – добавляет дополнительные диски к уже существующей группе томов и инициализирует новое хранилище;
  • varyoffvg – освобождает ресурсы ядра, ассоциированные с группой томов;
  • exportvg – удаляет ODM-информацию, ассоциированную с группой томов.

Первый набор тестов показывает разброс в производительности, затрачиваемой на создание группы томов командой mkvg. В этих тестах, чтобы показать разброс производительности, варьировалось число дисков в группе томов. Диаграмма 2 показывает время для нескольких вариантов команды mkvg. Заметим, что для большинства вариантов тестовой конфигурации время отклика mkvg улучшилось больше чем на один порядок. Как упоминалось ранее, в AIX 5L Version 1 производительность mkvg с большим количеством дисков (опция –В) была неудовлетворительной, но в AIX 5L Version 2 улучшилась настолько, что подходит для большинства клиентов.

Диаграмма 2
Диаграмма 2

Вторая партия тестов показывает варьирование производительности при создании логического тома в уже работающей группе томов командой mklv. Диаграмма 3 показывает результаты этих тестов. Чтобы показать диапазон изменения производительности, варьировалось количество дисков в группе томов. Результаты этого теста идентичны результатам для mkvg; время отклика для большинства вариантов тестовой конфигурации улучшилось более чем на порядок.

Диаграмма 3
Диаграмма 3

Третья серия тестов показывает, как меняется производительность при расширении группы томов командой extendvg. Результаты этого теста показаны на диаграмме 4. Как видно из тестов для mkvg, mklv и extendvg, в AIX 5L Version 2 производительность значительно улучшилась.

Диаграмма 4
Диаграмма 4

Не все команды управления томами нуждаются в оптимизации. Диаграмма 5 показывает хорошую производительность команд varyoffvg и exportvg на AIX 5L Version 1.

Диаграмма 5
Диаграмма 5

Для полноты картины также был проведен ряд экспериментов с активированным кешем записи SSA. В целом результаты этих экспериментов незначительно отличались от результатов экспериментов с отключенным кешем.


Заключение

В связи с быстро увеличивающейся мощностью систем POWER необходимо обеспечить увеличение производительности подсистемы ввода/вывода. Управление томами в AIX постоянно улучшается и настраивается для соответствия этим высоким требованиям. В своих тестах мы использовали различные разновидности команд управления, а также увеличили максимальный размер запроса ввода/вывода, который может быть передан на диск. Проведенные измерения показали, что в сложных системах такой подход дает значительный прирост производительности.

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=384092
ArticleTitle=Усовершенствования управлениями томами в AIX 5L
publish-date=04212009