- Как работать с LVM
- Уровни абстракции
- Установка
- Создание разделов
- 1. Инициализация
- 2. Создание групп томов
- 3. Создание логических томов
- Создание файловой системы и монтирование тома
- Файловая система
- Монтирование
- Просмотр информации
- Linux mount an LVM volume / partition command
- Linux mount an LVM volume
- Fedora Linux install lvm
- CentOS/RHEL/Oracle Linux install lvm
- OpenSUSE/SUSE Linux install lvm2
- Debian/Ubuntu Linux install lvm
- Arch Linux install LVM2 package
- How to mount LVM partition in Linux
- How to mount an LVM volume
- Mount an LVM partition
- Update /etc/fstab
- Conclusion
- Монтирование LVM-based томов (LVM-in-LVM)
Как работать с LVM
В статье описаны основные моменты использования LVM для организации дисковой системы в Linux. Она поможет как чайникам разобраться с принципами ее работы, так и уже знающим LVM в качестве шпаргалки.
Используемые команды одинаково подойдут как для систем Red Hat / CentOS, так и Debian / Ubuntu.
Уровни абстракции
Работа с томами с помощью LVM происходит на 3-х уровнях абстракции:
- Физический уровень (PV). Сначала диск инициализируется командой pvcreate — в начале диска создается дескриптор группы томов. При этом важно заметить, что диск не обязательно должен быть физическим — мы можно отметить на использование обычный раздел диска.
- Группа томов (VG). С помощью команды vgcreate создается группа томов из инициализированных на предыдущем этапе дисков.
- Логический том (LV). Группы томов нарезаются на логические тома командой lvcreate.
Схематично, уровни можно представить так:
Установка
Для работы с LVM необходима установка одноименной утилиты. В системе Linux она может быть установлена по умолчанию. Но если ее нет, выполняем инструкцию ниже.
Если используем системы на безе deb (Ubuntu, Debian, Mint):
apt-get install lvm2
Если используем системы на безе RPM (Red Hat, CentOS, Fedora):
yum install lvm2
Создание разделов
Рассмотрим пример создания томов из дисков sdb и sdc с помощью LVM.
1. Инициализация
Помечаем диски, что они будут использоваться для LVM:
pvcreate /dev/sdb /dev/sdc
* напомним, что в качестве примера нами используются диски sdb и sdc.
Посмотреть, что диск может использоваться LMV можно командой:
В нашем случае мы должны увидеть что-то на подобие:
«/dev/sdb» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdb
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID rR8qya-eJes-7AC5-wuxv-CT7a-o30m-bnUrWa
«/dev/sdc» is a new physical volume of «1,00 GiB»
— NEW Physical volume —
PV Name /dev/sdc
VG Name
PV Size 1,00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 2jIgFd-gQvH-cYkf-9K7N-M7cB-WWGE-9dzHIY
- PV Name — имя диска.
- VG Name — группа томов, в которую входит данный диск (в нашем случае пусто, так как мы еще не добавили его в группу).
- PV Size — размер диска.
- Allocatable — распределение по группам. Если NO, то диск еще не задействован и его необходимо для использования включить в группу.
- PE Size — размер физического фрагмента (экстента). Пока диск не добавлен в группу, значение будет 0.
- Total PE — количество физических экстентов.
- Free PE — количество свободных физических экстентов.
- Allocated PE — распределенные экстенты.
- PV UUID — идентификатор физического раздела.
2. Создание групп томов
Инициализированные на первом этапе диски должны быть объединены в группы.
Группа может быть создана:
vgcreate vg01 /dev/sdb /dev/sdc
* где vg01 — произвольное имя создаваемой группы; /dev/sdb, /dev/sdc — наши диски.
Просмотреть информацию о созданных группах можно командой:
На что мы получим, примерно, следующее:
— Volume group —
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 1,99 GiB
PE Size 4,00 MiB
Total PE 510
Alloc PE / Size 0 / 0
Free PE / Size 510 / 1,99 GiB
VG UUID b0FAUz-wlXt-Hzqz-Sxs4-oEgZ-aquZ-jLzfKz
- VG Name — имя группы.
- Format — версия подсистемы, используемая для создания группы.
- Metadata Areas — область размещения метаданных. Увеличивается на единицу с созданием каждой группы.
- VG Access — уровень доступа к группе томов.
- VG Size — суммарный объем всех дисков, которые входят в группу.
- PE Size — размер физического фрагмента (экстента).
- Total PE — количество физических экстентов.
- Alloc PE / Size — распределенное пространство: колическтво экстентов / объем.
- Free PE / Size — свободное пространство: колическтво экстентов / объем.
- VG UUID — идентификатор группы.
3. Создание логических томов
Последний этап — создание логического раздела их группы томов командой lvcreate. Ее синтаксис:
Примеры создания логических томов:
lvcreate -L 1G vg01
* создание тома на 1 Гб из группы vg01.
lvcreate -L50 -n lv01 vg01
* создание тома с именем lv01 на 50 Мб из группы vg01.
lvcreate -l 40%VG vg01
* при создании тома используется 40% от дискового пространства группы vg01.
lvcreate -l 100%FREE -n lv01 vg01
* использовать все свободное пространство группы vg01 при создании логического тома.
* также можно использовать %PVS — процент места от физического тома (PV); %ORIGIN — размер оригинального тома (применяется для снапшотов).
Посмотрим информацию о созданном томе:
— Logical volume —
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID 4nQ2rp-7AcZ-ePEQ-AdUr-qcR7-i4rq-vDISfD
LV Write Access read/write
LV Creation host, time vln.dmosk.local, 2019-03-18 20:01:14 +0300
LV Status available
# open 0
LV Size 52,00 MiB
Current LE 13
Segments 1
Allocation inherit
Read ahead sectors auto
— currently set to 8192
Block device 253:2
- LV Path — путь к устройству логического тома.
- LV Name — имя логического тома.
- VG Name — имя группы томов.
- LV UUID — идентификатор.
- LV Write Access — уровень доступа.
- LV Creation host, time — имя компьютера и дата, когда был создан том.
- LV Size — объем дискового пространства, доступный для использования.
- Current LE — количество логических экстентов.
Создание файловой системы и монтирование тома
Чтобы начать использовать созданный том, необходимо его отформатировать, создав файловую систему и примонтировать раздел в каталог.
Файловая система
Процесс создания файловой системы на томах LVM ничем не отличается от работы с любыми другими разделами.
Например, для создания файловой системы ext4 вводим:
* vg01 — наша группа томов; lv01 — логический том.
Для создания, например, файловой системы xfs вводим:
Монтирование
Как и в случае с файловой системой, процесс монтирования не сильно отличается от разделов, созданных другими методами.
Для разового монтирования пользуемся командой:
mount /dev/vg01/lv01 /mnt
* где /dev/vg01/lv01 — созданный нами логический том, /mnt — раздел, в который мы хотим примонтировать раздел.
Для постоянного монтирования раздела добавляем строку в fstab:
/dev/vg01/lv01 /mnt ext4 defaults 1 2
* в данном примере мы монтируем при загрузке системы том /dev/vg01/lv01 в каталог /mnt; используется файловая система ext4.
Проверяем настройку fstab, смонтировав раздел:
Проверяем, что диск примонтирован:
Просмотр информации
Разберемся, как получить информацию о дисковых накопителях в системе.
1. Для общего представления дисков, разделов и томов вводим:
Мы получим что-то на подобие:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
sda1 8:1 0 1G 0 part /boot
sda2 8:2 0 29G 0 part
sys-root 253:0 0 27G 0 lvm /
sys-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
vg01-lv01-real 253:3 0 1G 0 lvm
vg01-lv01 253:2 0 1G 0 lvm /mnt
vg01-sn01 253:5 0 1G 0 lvm
sdc 8:32 0 1G 0 disk
vg01-lv01-real 253:3 0 1G 0 lvm
vg01-lv01 253:2 0 1G 0 lvm /mnt
vg01-sn01 253:5 0 1G 0 lvm
vg01-sn01-cow 253:4 0 500M 0 lvm
vg01-sn01 253:5 0 1G 0 lvm
sdd 8:48 0 1G 0 disk
* как видим, команда отображает корневое блочное устройство, какие разделы из него сделаны и в какие логические тома организованы из некоторых из разделов.
2. Получить информацию о проинициализированных для LVM дисков:
Источник
Linux mount an LVM volume / partition command
I have some data on second SATA hard disk created by Fedora Linux installer with some data. How do I mount an LVM volume/partition in Linux to access my data? Can you tell me the command to mount LVM partition in Linux?
Introduction: LVM is an acronym for Logical Volume Manager. LVM is a device mapper that provides logical volume management for the Linux kernel. You can access LVM partitions from an external USB hard disk or second hard disk installed in your system. This page shows how to mount an LVM partition or volume on Linux using the CLI.
Tutorial details | |
---|---|
Difficulty level | Intermediate |
Root privileges | Yes |
Requirements | Linux OS with LVM |
Est. reading time | 5m |
Linux mount an LVM volume
If lvm2 not installed on your system, install it as per your Linux distro.
Fedora Linux install lvm
Use the dnf command:
$ sudo dnf install lvm2
CentOS/RHEL/Oracle Linux install lvm
Type the yum command:
$ sudo yum install lvm2
OpenSUSE/SUSE Linux install lvm2
Programs and man pages for configuring and using the LVM2 Logical Volume Manager installed using the zypper command:
$ sudo zypper install lvm2
Debian/Ubuntu Linux install lvm
Arch Linux install LVM2 package
Use the pacman command:
$ sudo pacman -S lvm2
How to mount LVM partition in Linux
The procedure to mount LVM partition in Linux as follows:
- Run vgscan command scans all supported LVM block devices in the system for VGs
- Execute vgchange command to activate volume
- Type lvs command to get information about logical volumes
- Create a mount point using the mkdir command
- Mount an LVM volume using sudo mount /dev/mapper/DEVICE /path/to/mount
Let us see all steps in details to mount LVM volume on Ubuntu Linux.
- No ads and tracking
- In-depth guides for developers and sysadmins at Opensourceflare✨
- Join my Patreon to support independent content creators and start reading latest guides:
- How to set up Redis sentinel cluster on Ubuntu or Debian Linux
- How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
- How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
- A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
- How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
How to mount an LVM volume
Mount an LVM partition
Create a mount point using the mkdir command:
$ sudo mkdir -vp /mnt/fedora/
Sample outputs:
Mount both home and root logical volume from LV path using the following syntax:
$ sudo mount
$ sudo mount /dev/fedora_localhost-live/home /mnt/fedora/home
$ sudo mount /dev/fedora_localhost-live/root /mnt/fedora/root
Verify it with the help of df command or grep command:
$ df -T
$ df -T | grep -i fedora
$ ls /mnt/fedora/root
$ ls /mnt/fedora/home
Click to enlarge image
Update /etc/fstab
Update /etc/fstab file if you want a logical volume to be mounted automatically on boot:
/dev/mapper/fedora_localhost—live-root /mnt/fedora/root ext4 defaults 0 0
/dev/mapper/fedora_localhost—live-home /mnt/fedora/home ext4 defaults 0 0
Conclusion
You just learned various steps to access an LVM from Linux based system. For more info see this page here and here.
🐧 Get the latest tutorials on Linux, Open Source & DevOps via
Источник
Монтирование LVM-based томов (LVM-in-LVM)
Ситуация в которрой может понадобиться данная процедура, довольне не частая, однако, иногда приходится с ней столкнуться, например при работе с виртуальными машинами.
Представим что у нас есть виртуальная машина на LVM разделе, внутри которой так же есть LVM разделы. К примеру CentOS, при установке, по умолчанию, создает LVM-based разделы, за исключением /boot.
Задача:
добраться до данных в этих разделах с родительской машины.
виртуальная машина на LVM-разделе /dev/mapper/vol-centos1
внутри неё имеются разделы /boot, / и swap, причем / и swap на LVM
Решение:
для начала посмотрим что из себя представляет /dev/mapper/vol-centos1:
# kpartx -l /dev/mapper/vol-centos1
vol-centos1p1: 0 1024000 /dev/loop0 2048
vol-centos1p2: 0 15751168 /dev/loop0 1026048
и замяпим разделы:
# kpartx -a /dev/mapper/vol-centos1
после этого в /dev/mapper у нас появятся два раздела
vol-centos1p1 vol-centos1p2
Первый раздел vol-centos1p1 (/boot) нас не интересует, мы можем его хоть сейчас примонтировать. Нас интересует второй раздел vol-centos1p2, в котором находятся / и swap.
просканируем и увидем LVM-тома:
# lvm pvscan
PV /dev/mapper/vol-centos1p2 VG VolGroup lvm2 [7.51 GiB / 0 free]
Total: 1 [7.51 GiB] / in use: 1 [7.51 GiB] / in no VG: 0 [0 ]
теперь нам необходимо активировать LVM-тома, что бы добраться до них, делаем:
# lvm vgchange -a y
2 logical volume(s) in volume group «VolGroup» now active
в /dev/mapper появятся еще два раздела
vol-centos1p1 vol-centos1p2 VolGroup-lv_root VolGroup-lv_swap
вот теперь мы спокойно можем примонтировать раздел VolGroup-lv_root и удобно работать с ним:
# mount /dev/mapper/VolGroup-lv_root /mnt
После работы, надо все вернуть на круги своя.
отмонтируем # umount /dev/mapper/VolGroup-lv_root
деактивируем LVM-тома # lvm vgchange -a n VolGroup
удаляем маппинг # kpartx -d /dev/mapper/vol-centos1
Источник