Как создать дисковое хранилище с помощью LVM в Linux — часть 1
Управление логическими томами (LVM) — мощный инструмент, значительно упрощающий управление дисковым пространством. С LVM задача выделения дополнительного пространства для файловой системы становится проще.
Всякий раз, когда файловой системе требуется больше места, она может легко использовать доступное свободное пространство в соответствующей группе томов. В результате размер файловых систем можно динамически изменять в соответствии с нашими конкретными потребностями.
Более того, LVM обеспечивает надежную защиту данных в случае сбоя диска. Если на диске появляются признаки сбоя, мы можем легко интегрировать заменяющий диск в группу томов в качестве нового физического тома.
Таким образом, логические тома можно эффективно перенести на новый диск, обеспечивая непрерывность работы и защиту от любой потенциальной потери данных.
По сути, LVM позволяет администраторам распределять и управлять дисковым пространством с беспрецедентной гибкостью и отказоустойчивостью. Возможности динамического изменения размера и встроенные функции резервирования делают его незаменимым инструментом для оптимизации использования хранилища и повышения целостности данных в любой конфигурации системы.
Представляем обширную серию «Подготовка к настройке LVM (управление логическими томами)», тщательно составленную из частей с 1 по 6, с углубленным изучением следующих основных тем:
Прежде чем приступить к настройке LVM, учтите следующие предварительные условия:
Настройка моего сервера – требования
- ОС — RHEL 9 с установкой LVM
- ИП – 192.168.0.200
- Диски – 3 диска по 20Гб каждый.
Проверьте дисковое хранилище LVM в Linux
1. Чтобы получить представление о настройке LVM, мы можем использовать следующие команды для выявления отдельных компонентов: Физический объем (PV), Группа томов (VG) и Логический том (LV).
pvs
vgs
lvs
Вот описание каждого параметра, показанного на скриншоте выше.
- Физический размер диска (размер PV)
- В качестве диска использовался Virtual Disk sda.
- Размер группы томов (размер VG)
- Имя группы томов (vg_tecmint)
- Имя логического тома (LogVol00, LogVol01)
- LogVol00 Назначается для подкачки размером 956 МБ.
- LogVol01 Назначено для 18,63 ГБ/с 18,63 ГБ.
Итак, отсюда мы узнаем, что на диске VDA недостаточно свободного места.
Создайте новую группу томов в LVM.
2. Чтобы создать новую группу томов, нам нужно добавить к этому серверу еще 3 жестких диска. Однако не обязательно использовать 3 накопителя; всего 1 достаточно, чтобы создать новые VG и LV (логический том) внутри этого VG.
Я добавляю сюда следующие 3 диска в демонстрационных целях и для предоставления дополнительных пояснений к командам функций.
sdb, sdc, sdd
3. Чтобы получить список всех дисков и их разделов, таких как имя диска, размер, тип раздела, начальный и конечный секторы и т. д., используйте утилиту fdisk, как показано.
fdisk -l
Вот описание каждого диска, показанного на скриншоте выше.
- Диск по умолчанию, используемый для операционной системы, — RHEL 9.
- На диске по умолчанию определены следующие разделы: (sda1=загрузочный), (sda2=/).
- Кроме того, добавленные диски обозначаются как Disk1, Disk2 и Disk3.
Размер каждого диска составляет 20 ГБ.
4. Теперь запустите команду vgdisplay, чтобы просмотреть подробную информацию обо всех группах томов, присутствующих в системе, включая их имя, размер, свободное пространство, физический том (PV). информация и многое другое.
vgdisplay
Вот описание каждого параметра, показанного на скриншоте выше.
- Имя VG — имя группы томов.
- Формат – в архитектуре LVM используется lvm2.
- Доступ к VG: Группа томов находится в режиме чтения и записи и готова к использованию.
- Состояние VG: размер группы томов можно изменить. Мы можем расширить его, если нам нужно добавить больше места.
- Cur LV – в настоящее время в этой группе томов имеется 2 логических тома.
- CurPV и Act PV – в настоящее время используется физический диск 1 (vda), и он активен. Итак, мы можем использовать эту группу томов.
- Размер PE. Физические размеры (PE) и размер диска можно определить с использованием размера PE или ГБ. Размер PE по умолчанию для LVM составляет 4 МБ. Например, если нам нужно создать логический том объемом 5 ГБ, мы можем использовать в сумме 1280 PE. Ты понимаешь, что я говорю?
Вот объяснение: 1 ГБ равен 1024 МБ, поэтому 1024 МБ x 5=5120 PE=5 ГБ. Теперь разделите 5120 на 4=1280. 4 — это размер PE по умолчанию.
- Всего PE – в этой группе томов есть.
- Alloc PE – общее количество использованных PE, полное PE уже использовано, 5008 x 4PE=20032.
- Бесплатный PE – здесь он уже использовался, поэтому бесплатного PE не было.
5. Теперь перечислите информацию о дисковом пространстве файловой системы, здесь только sda используется с /boot, /, и поменять на физическом диске sda с помощью LVM. На этом диске не осталось места.
df -TH
На изображении выше показана используемая нами точка монтирования, а 19 ГБ полностью используется для корня, поэтому свободного места нет.
Создать раздел диска
6. Итак, давайте создадим новый физический том (PV) и группу томов (VG) с именем tecmint_add_vg и создадим внутри него логические тома (LV). Здесь мы можем создать 4 логических тома с именами tecmint_documents, tecmint_manager и tecmint_public.
Мы можем расширить группу томов используемой в данный момент VG, чтобы получить больше места. Однако в данном случае мы собираемся создать новую Группу томов и поэкспериментировать с ней. Позже мы увидим, как расширить файловые системы группы томов, которая используется в данный момент.
Прежде чем использовать новый диск, нам нужно разбить его на разделы с помощью команды fdisk, как показано.
fdisk -c /dev/sdb
Затем выполните следующие шаги, чтобы создать новый раздел.
- Выберите
n
, чтобы создать новый. - Выберите
p
, чтобы создать основной раздел. - Выбираем, какое количество разделов нам нужно создать.
- Нажмите enter дважды, чтобы использовать все пространство диска.
- Нам нужно изменить тип вновь созданного раздела типа
t
. - Какой номер раздела нужно изменить, выбираем номер, под которым мы создали его
1
. - Здесь нам нужно изменить тип, нам нужно создать LVM, поэтому мы будем использовать код типа LVM как
8e
, если мы не знаем код типа. НажмитеL
перечислить все типы кодов. - Распечатайте раздел, который мы создали, чтобы просто подтвердить.
- Здесь мы видим идентификатор как 8e LINUX LVM.
- Запишите изменения и выйдите из fdisk.
7. Выполните указанные выше действия для двух других дисков sdc
и sdd
, чтобы создать новые разделы. Затем перезагрузите компьютер, чтобы проверить таблицу разделов с помощью команды fdisk.
fdisk -l
Создать физический том LVM
8. Теперь пришло время создать физические тома, используя все три диска. Здесь я перечислил физические диски с помощью команды «pvs», и теперь указан только один PV по умолчанию.
pvs
9. Затем создайте новые физические диски и подтвердите вновь созданные физические диски.
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs
Создание групп томов LVM
10. Создайте группу томов с именем tecmint_add_vg, используя доступный бесплатный PV и размер PE, равный 32. Для отображения текущих групп томов, мы видим, что есть одна группа томов с 1 PV.
vgs
11. Будет создана группа томов с именем tecmint_add_vg с размером 32 МБ и тремя физическими томами, которые мы создали на последних шагах.
vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1
12. Затем проверьте группу томов, еще раз выполнив команду vgs.
vgs
Понимание вывода команды vgs:
- Имя группы томов.
- Физические тома, используемые в этой группе томов.
- Показывает свободное место, доступное в этой группе томов.
- Общий размер группы томов.
- Логические тома внутри этой группы томов. Здесь мы еще не создали, поэтому их 0.
- SN=количество снимков, содержащихся в группе томов. (Позже мы сможем создать снимок).
- Статус группы томов: доступен для записи, чтения, изменения размера, экспорта, частичного и кластеризованного. Здесь это wz–n-, что означает w=возможность записи, z=изменяемый размер.
- Номер физического тома (PV), используемого в этой группе томов.
13. Чтобы отобразить дополнительную информацию о группе томов, используйте команду.
vgs -v
14. Чтобы получить дополнительную информацию о вновь созданных группах томов, выполните следующую команду.
vgdisplay tecmint_add_vg
Вот описание каждого параметра, показанного на скриншоте выше.
- Имя группы томов
- Используемая архитектура LVM.
- Его можно читать и записывать, он готов к использованию.
- Размер этой группы томов можно изменять.
- Физический диск не использовался, и они активны.
- Общий размер группы томов.
- Размер Single PE здесь был 32.
- Общее количество PE, доступных в этой группе томов.
- В настоящее время мы не создали ни одного LV внутри этой виртуальной группы, поэтому это совершенно бесплатно.
- UUID этой группы томов.
Создание логических томов LVM
15. Теперь создайте 3 логических тома с именами tecmint_documents, tecmint_manager и tecmint_public. Здесь мы покажем, как создавать логические тома, используя как размер PE, так и размер ГБ.
Сначала перечислите текущие логические тома, используя следующую команду.
lvs
16. Эти логические тома входят в группу томов vg_tecmint. Чтобы узнать, сколько свободного места доступно для создания логических томов, перечислите группу томов и доступные физические тома с помощью команды «vgs».
vgs
Размер группы томов составляет почти 60 ГБ, и она не используется, поэтому мы можем создавать в ней LV. Давайте разделим группу томов на равные размеры, чтобы создать 3 логических тома. Это означает, что 60 ГБ/3=20 ГБ. После создания каждый логический том будет иметь размер 20 ГБ.
Способ 1. Создание логических томов с использованием размера PE
Сначала давайте создадим логические тома, используя размер физического экстента (PE). Нам необходимо знать размер PE по умолчанию, назначенный этой группе томов, и общее количество доступных PE для создания новых логических томов.
Выполните следующую команду, чтобы получить эту информацию.
vgdisplay tecmint_add_vg
- PE по умолчанию, назначенный для этого VG, составляет 32 МБ. Здесь размер одного PE будет 32 МБ.
- Всего доступных PE — 1917.
Просто выполните и посмотрите небольшой расчет с помощью команды bc.
bc
1917PE/3 = 639 PE.
639 PE x 32MB = 20448 --> 20GB
Нажмите CRTL+D, чтобы выйти из bc.
Давайте теперь создадим 3 логических тома, используя 639 PE. Здесь -l
используется для увеличения размера, а -n
— для назначения логического имени тома.
lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg
Выведите список созданных логических томов с помощью команды lvs.
lvs
Способ 2. Создание логических томов с использованием размера в ГБ
При создании логического тома с использованием размера ГБ мы не можем получить точный размер. Итак, лучший способ — создать, используя расширение.
lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
Выведите список созданных логических томов с помощью команды lvs.
lvs
Здесь мы видим, что при создании третьего тома мы не можем округлить до 20 ГБ, это связано с небольшими изменениями в размере, но эта проблема будет игнорироваться при создании раздела с использованием расширения размера.
Создание файловой системы
17. Для использования логических томов нам необходимо отформатировать их. Здесь я использую файловую систему ext4 для создания томов и собираюсь смонтировать их в /mnt/.
mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager
18. Давайте создадим каталоги в /mnt и смонтируем логические тома, в которых мы создали файловую систему.
mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/
19. Перечислите и подтвердите использование точки монтирования.
df -h
Постоянное монтирование логических томов
20. Теперь он временно смонтирован, для постоянного монтирования нам нужно добавить запись в fstab, для этого давайте получим запись монтирования из mtab с помощью
cat /etc/mtab
21. Нам нужно внести небольшие изменения в запись fstab при вводе копий содержимого записи монтирования из mtab, нам нужно изменить rw на значения по умолчанию.
vi /etc/fstab
Наши записи fstab должны выглядеть примерно так, как показано ниже.
/dev/mapper/tecmint_add_vg-tecmint_documents /mnt/tecmint_documents ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public /mnt/tecmint_public ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager /mnt/tecmint_manager ext4 defaults 0 0
22. Наконец, запустите команду mount -a, чтобы проверить наличие записи fstab перед перезапуском.
mount -av
Здесь мы увидели, как настроить гибкое хранилище с логическими томами, используя физический диск для физического тома, физический том для группы томов и группу томов для логических томов.
В моих будущих статьях я увижу, как расширить группу томов и логические тома, уменьшить логический том, сделать снимки и выполнить восстановление из снимков. А пока следите за обновлениями на TecMint, чтобы увидеть больше таких замечательных статей.