Настройка диспетчера логических томов на виртуальной машине Linux в Azure
В этом документе рассматривается, как настроить диспетчер логических томов (LVM) на виртуальной машине Azure. Диспетчер логических томов можно использовать на диске операционной системы или на дисках с данными в виртуальных машинах VM, однако по умолчанию для большинства облачных образов диспетчер логических томов не настраивается на диске операционной системы. Приведенные ниже действия предназначены для настройки диспетчера логических томов на дисках с данными.
Линейные и чередующиеся логические тома
Диспетчер логических томов можно использовать, чтобы объединять несколько физических дисков в один том хранилища. По умолчанию диспетчер логических томов создает линейные логические тома. Это означает, что физическое хранилище соединено воедино. В этом случае операции чтения и записи, как правило, будут отправляться только на один диск. В свою очередь, в чередующихся логических томах операции чтения и записи распределяются между несколькими дисками в группе томов (аналогично чередованию RAID 0). Для повышения производительности вам потребуется чередовать логические тома. Это позволит выполнять операции чтения и записи на всех подключенных дисках с данными.
В этом документе описано, как соединить несколько дисков данных в одну группу томов и создать чередующийся логический том. Описанные ниже действия можно выполнять с большинством дистрибутивов. В большинстве случаев служебные программы и рабочие процессы, которые используются для управления диспетчером логических томов в Azure, существенно не отличаются от других сред. Для получения дополнительных сведений и рекомендаций по использованию диспетчера логических томов с вашим дистрибутивом обратитесь к поставщику Linux.
Присоединение дисков данных
Чтобы использовать диспетчер логических томов, обычно требуется не менее двух пустых дисков данных. В зависимости от потребностей ввода-вывода, можно подключить диски, которые хранятся в хранилище уровня "Стандартный" и допускают до 500 операций ввода-вывода в секунду на диск, или диски из хранилища уровня "Премиум", поддерживающие до 5000 операций ввода-вывода в секунду. В этой статье мы не будем подробно останавливаться на том, как подготовить и подключить диски данных к виртуальной машине Linux. Подробные указания по подключению пустого диска данных к виртуальной машине Linux в Azure см. в разделе Добавление диска статьи Microsoft Azure.
Установка служебных программ диспетчера логических томов
Ubuntu
sudo apt-get update sudo apt-get install lvm2
RHEL, CentOS и Oracle Linux
sudo yum install lvm2
SLES 12 и openSUSE
sudo zypper install lvm2
SLES 11
sudo zypper install lvm2
В системе SLES11 необходимо также изменить файл
/etc/sysconfig/lvm
и задать для параметраLVM_ACTIVATED_ON_DISCOVERED
значение enable:LVM_ACTIVATED_ON_DISCOVERED="enable"
Настройка диспетчера логических томов
В этом руководстве предполагается, что подключены три диска данных с именами /dev/sdc
, /dev/sdd
и /dev/sde
. Эти пути могут не совпадать с именами путей к дискам для вашей виртуальной машины. Запустите командуsudo fdisk -l
или подобную, чтобы просмотреть список доступных дисков.
Подготовьте физические тома.
sudo pvcreate /dev/sd[cde] Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created Physical volume "/dev/sde" successfully created
Создайте группу томов. В этом примере группе томов присвоено имя
data-vg01
:sudo vgcreate data-vg01 /dev/sd[cde] Volume group "data-vg01" successfully created
Создайте логические тома. Приведенная ниже команда создает один логический том с именем
data-lv01
, который охватывает целую группу томов, однако в группе томов также можно создать несколько логических томов.sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01 Logical volume "data-lv01" created.
Измените формат логического тома.
sudo mkfs -t ext4 /dev/data-vg01/data-lv01
Примечание
Для SLES11 замените ext4 на
-t ext3
. SLES11 поддерживает доступ только для чтения к файловым системам ext4.
Добавление новой файловой системы в /etc/fstab
Важно!
Некорректное изменение файла /etc/fstab
может привести к невозможности загрузить систему. Если у вас есть сомнения, см. инструкции по правильному изменению этого файла в документации дистрибутива. Также рекомендуется перед внесением изменений создать резервную копию файла /etc/fstab
.
Создайте нужную точку монтирования для новой файловой системы, например:
sudo mkdir /data
Найдите путь логического тома.
lvdisplay --- Logical volume --- LV Path /dev/data-vg01/data-lv01 ....
Откройте файл
/etc/fstab
в текстовом редакторе и добавьте запись для новой файловой системы, например:/dev/data-vg01/data-lv01 /data ext4 defaults 0 2
Затем сохраните и закройте
/etc/fstab
.Проверьте правильность записи
/etc/fstab
:sudo mount -a
Если в результате выполнения команды появляется сообщение об ошибке, проверьте синтаксис в файле
/etc/fstab
.Теперь выполните команду
mount
для подключения файловой системы:mount ...... /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
(Необязательно) Параметры загрузки, предотвращающие сбой, в файле
/etc/fstab
Многие дистрибутивы включают в себя параметры подключения
nobootwait
илиnofail
, которые можно добавить в файл/etc/fstab
. Эти параметры в случае сбоя при монтировании конкретной файловой системы позволяют системе Linux продолжить загрузку, даже если ей не удается надлежащим образом смонтировать файловую систему RAID. Дополнительные сведения об этих параметрах см. в документации по вашему дистрибутиву.Пример (Ubuntu):
/dev/data-vg01/data-lv01 /data ext4 defaults,nobootwait 0 2
Поддержка операций TRIM и UNMAP
Некоторые ядра Linux поддерживают операции TRIM и UNMAP для отмены неиспользуемых блоков на диске. Эти операции особенно удобно использовать в хранилище уровня "Стандартный", чтобы сообщать Azure о том, что удаленные страницы больше не действительны и могут быть удалены. Удаление страниц позволит сократить затраты, если вы создаете большие файлы, а затем удаляете их.
Существует два способа включить поддержку операций TRIM в виртуальной машине Linux. Как обычно, обратитесь к документации дистрибутива, чтобы выбрать рекомендуемый метод.
Используйте параметр подключения
discard
в/etc/fstab
. Ниже приведен пример./dev/data-vg01/data-lv01 /data ext4 defaults,discard 0 2
В некоторых случаях параметр
discard
может негативно влиять на производительность. Кроме того, вы можете вручную выполнить командуfstrim
из командной строки или добавить ее в crontab для регулярного выполнения.Ubuntu
# sudo apt-get install util-linux # sudo fstrim /datadrive
RHEL, CentOS и Oracle Linux
# sudo yum install util-linux # sudo fstrim /datadrive