Виртуальные машины Red Hat Linux Azure: использование LVM для повышения производительности диска

Опубликовано: 1 Марта, 2023
Виртуальные машины Red Hat Linux Azure: использование LVM для повышения производительности диска

При управлении виртуальными машинами Azure, которым требуется более высокая производительность дисков, лучшим решением будет найти виртуальную машину, которая позволяет использовать больше и более качественные диски, и добавлять эти диски параллельно. Иногда одного диска недостаточно для удовлетворения требований к производительности диска приложения. В этой статье мы собираемся помочь двум разным аудиториям: тем, кто готовится к сертификации Red Hat of Linux Foundation и нуждается в практическом опыте работы с функцией диспетчера логических томов (LVM), и группе облачных администраторов, которым необходимо управлять свои рабочие нагрузки Linux в Microsoft Azure. Операционная система (в этой статье мы используем Red Hat) должна эффективно использовать новые диски, и мы собираемся настроить LVM в нашем Red Hat Linux.

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

Использование этого подхода имеет несколько преимуществ: Система не ограничена емкостью одного диска, и приложение/пользователь, взаимодействующие с системой, видят только логический том. В случае с Azure мы можем объединить несколько дисков, тем самым улучшив IOPS и пропускную способность.

На приведенной ниже диаграмме мы выделяем компоненты, над которыми будем работать в этой статье. Справа — виртуальная машина Azure с ее дисками и связанными с ними сопоставлениями в Linux (/dev/sdX), а слева — вид операционной системы с высоты птичьего полета (LVM и ее уровни, а также структура папок в Red Hat Linux). файловая система).

Мы собираемся создать три диска данных и подключить их к виртуальной машине Red Hat Linux Azure. Мы собираемся выбрать диски E4. Они имеют размер 32 ГБ, максимальную скорость ввода-вывода в секунду 120 и пропускную способность 25.

Результат будет похож на изображение ниже. Делая базовые вычисления, мы добавляем три диска, поэтому мы ожидаем, что эти значения будут в три раза больше, то есть 360 максимальных операций ввода-вывода в секунду и 75 максимальных пропускных способностей.

Первым шагом является проверка того, что операционная система видит наши новые диски. Мы можем использовать ll /dev/sd*, результатом будут новые диски sdc, sdd и sde. Чтобы подтвердить, что мы смотрим на правильные диски, мы всегда можем использовать sudo fdisk -l /dev/sdc /dev/sdd /dev/sde, и на выходе будет более подробная информация о дисках (диски 32 ГБ).

Управление LVM

Первый шаг — добавить физические диски, и мы можем сделать это, выполнив первую команду, указанную ниже. Чтобы проверить, были ли добавлены диски, мы можем использовать pvdisplay, и обе команды изображены на изображении ниже.

sudo pvcreate /dev/sdc /dev/sdd /dev/sde Pvdisplay

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

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

sudo vgcreate vg-db-data /dev/sdc /dev/sdd /dev/sde sudo vgdisplay vg-db-data

Новая называется vg-db-data и имеет размер 96 ГБ.

Следующим шагом будет создание . Крайне важно использовать полоски <numberOfDisks>, чтобы воспользоваться преимуществами дисков Azure. После создания проверим его настройки.

sudo lvcreate --extents 100% БЕСПЛАТНО --stripes 3 --name db-data vg-db-data sudo lvdisplay /dev/vg-db-data/db-data

LVM имеет специальную структуру в папке /dev. У него есть папка с именем , и внутри этой у нас будет ссылка на .

Поскольку у нас есть , мы можем назначить ему файловую систему, и мы можем сделать это, выполнив sudo mkfs.ext4 /dev/vg-db-data/db-data. Процесс может занять несколько секунд, дождитесь завершения.

Мы можем проверить монтирование нового , который мы только что отформатировали как . Во-первых, мы собираемся получить путь к , запустив sudo lvdisplay /dev/vg-db/data/db-data.

Далее нам нужно создать структуру папок для монтирования нового тома. Мы выполним это, запустив sudo mkdir /mnt/db-data, а затем смонтируем в новую папку, которую мы создали, выполнив sudo mount /dev/vg-db-data/db-data /mnt/ БД-данные. Последним шагом является запуск df -h, и мы должны увидеть раздел размером 96 ГБ, смонтированный с использованием переменных, которые мы собрали в предыдущих действиях. Краткое описание всего процесса показано на изображении ниже.

Хотя процесс завершен, если мы перезапустим этот сервер, не будет смонтирован автоматически. Мы собираемся настроить его, чтобы он был постоянным. Сейчас мы собираемся удалить существующее монтирование, используя sudo umount /dev/db-data.

Настройка постоянного тома

Файл конфигурации, который управляет процессом автоматического монтирования томов в Linux, называется /etc/fstab. При использовании нам нужно указать и у нас есть два варианта, из папки или напрямую в .

Первый шаг — перечислить наш , используя sudo lvdisplay /dev/<volumeGroup>/<LogicalVolume>. Мы можем проверить содержимое папки /dev/mapper, чтобы увидеть ссылки. Имя ссылки всегда является (маппер не любит тире. Если найдет, добавит один лишний, поэтому у нас db—data).

Наш следующий шаг — отредактировать /etc/fstab, и мы можем использовать либо /dev/mapper, либо /dev/<volumeGroup>/<logicalVolume> и определить точку монтирования и дополнительную конфигурацию. Если вы используете диски Azure Premium, обязательно добавьте в настройки барьер = 0.

Последним шагом является монтирование всех томов, определенных в /etc/fstab, и мы можем сделать это, выполнив sudo mount -a, а чтобы убедиться, что монтирование прошло успешно, мы можем запустить df -h.