- Создание и настройка LVM Linux
- Создание LVM Linux
- Инициализация физических LVM разделов
- Создание группы разделов LVM
- Создание логических томов LVM
- Удалить LVM раздел
- Изменение размера LVM тома
- Выводы
- Create LVM Logical Volumes in Linux
- Table of Contents
- How to Create LVM Logical Volumes in Linux
- LVM Architecture Overview
- LVM Logical Volumes Components
- How to Create LVM Logical Volumes in Linux
- Create Disk Partitions to be Used
- Initialize Partitions as Physical Volumes
- Other Tutorials
- SUPPORT US VIA A VIRTUAL CUP OF COFFEE
Создание и настройка LVM Linux
LVM или Logical Volume Manager — это еще один программный уровень абстракции над физическими разделами жесткого диска, который позволяет создавать логические тома для хранения данных без непосредственной переразметки жесткого диска на одном или нескольких жестких дисках. LVM увеличивает удобство работы с жестким диском, аппаратные особенности работы скрываются программным обеспечением, поэтому вы можете изменять размеры дисков, перемещать их на лету, без остановки приложений или размонтирования файловых систем. Это очень удобно на серверах, вы можете добавить еще один диск или расширить существующие lvm тома на лету.
LVM работает на уровне ядра, поэтому гарантируется максимальная прозрачность настройки и использования дисков. Программы смогут работать с логическими, виртуальными LVM разделами, точно так же, как и с обычными.
Давайте рассмотрим преимущества использования LVM перед обычными разделами жесткого диска.
- Легкое изменение размера — вы можете расширить или уменьшить lvm раздел без переформатирования диска
- Легкая расширяемость пространства — вы можете увеличить доступное пространство просто добавляя новые физические диски в общий пул памяти LVM, таким образом, вы получаете большую гибкость.
- Резервное копирование и зеркалирование данных — возможность записи на несколько дисков одновременно позволяет увеличить производительность работы системы, а также есть возможность настроить зеркалирование данных и резервное копирование разделов для увеличения безопасности.
- Читаемые имена — вы можете давать любые имена вашим логическим разделам, так чтобы они соответствовали назначению раздела и легко запоминались.
Теперь перейдем от теории ближе к практике. Рассмотрим создание LVM, настройку и работу с дисками. Как основную операционную систему мы будем использовать Ubuntu, но данная инструкция подойдет и для любого другого дистрибутива Linux.
Создание LVM Linux
Структура LVM состоит из трех слоев:
- Физический том (один или несколько), Physical Volume (PV)
- Группа физических томов, Volume Group (VG)
- Логический том, который и будет доступен программам, Logical Volume (LV)
Перед тем как начинать создание lvm linux необходимо установить нужные для этого инструменты:
Соответственно структуре LVM, нам нужно будет инициализировать физические разделы для LVM, объединить их в группу, а затем создать из этой группы нужные нам логические тома.
Инициализация физических LVM разделов
Сначала определимся с томами, которые будем использовать, допустим это будут /dev/sda6 и /dev/sda7. Инициализировать их для работы LVM можно с помощью команды pvcreate:
sudo pvcreate /dev/sda6 /dev/sda7
Чтобы посмотреть действительно ли были созданы физические тома LVM вы можете использовать команду pvscan:
Также можно посмотреть физические LVM разделы с более подробными атрибутами, такими как размер, общий размер, физический размер, свободное место и т д:
Здесь PE Size — это размер одного блока LVM, по умолчанию он равен четырем мегабайтам, но это значение можно изменить.
Создание группы разделов LVM
Группа томов — это не что иное, как пул памяти, который будет распределен между логическими томами и может состоять из нескольких физических разделов. После того как физические разделы инициализированы, вы можете создать из них группу томов (Volume Group, VG):
sudo vgcreate vol_grp1 /dev/sda6 /dev/sda7
С помощью LVM команды vgdisplay вы можете посмотреть созданные группы томов:
Создание логических томов LVM
Теперь все готово, чтобы создать логические LVM разделы. Для этого будем использовать команду lvcreate и создадим логический раздел размером 80 мегабайт, или 20 блоков LVM:
sudo lvcreate -l 20 -n logical_vol1 vol_grp1
Если вы хотите задать размер в обычных единицах измерения, то необходимо использовать опцию -L. Например, для тех же 80-ти мегабайт:
sudo lvcreate -L 80M -n logical_vol1 vol_grp1
В качестве приставки для указания размера можно использовать такие буквы:
Посмотреть список доступных логических разделов LVM можно по аналогии с предыдущими разделами с помощью команды lvdisplay:
Теперь, когда раздел создан, мы можем работать с ним как с обычным разделом. Например, отформатируем его в файловую систему ext4, а затем примонтируем в /mnt:
sudo mkfs.ext4 /dev/vol_grp1/logical_vol1
sudo mount /dev/vol_grp1/logical_vol1 /mnt/
Как видите, монтирование LVM в Linux ничем не отличается от монтирования обычных разделов.
Вообще говоря, LVM разделы могут быть трех типов:
- Линейные разделы (Linear Volume)
- Полосные разделы (Striped Volume)
- Зеркалированные разделы (Mirrored Volume)
Линейные разделы — это обычные LVM тома, они могут быть созданы как из одного, так и из нескольких физических дисков. Например, если у вас есть два диска по 2 гигабайта, то вы можете их объединить и в результате получите один раздел LVM Linux, размером 4 гигабайта. По умолчанию используются именно линейные LVM разделы.
Полосные разделы очень полезны при больших нагрузках на жесткий диск. Здесь вы можете настроить одновременную запись на разные физические устройства, для одновременных операций, это может очень сильно увеличить производительность работы системы.
Для этого нужно задать количество полос записи с помощью опции -i, а также размер полосы опцией -l. Количество полос не должно превышать количества физических дисков. Например:
sudo lvcreate -L 1G -i 2 -n logical_vol2 vol_grp1
Зеркалированный том позволяет записывать данные одновременно на два устройства. Когда данные пишутся на один диск, они сразу же копируются на другой. Это позволяет защититься от сбоев одного из дисков. Если один из дисков испортится, то разделы LVM просто станут линейными и все данные по-прежнему будут доступны. Для создания такого раздела LVM Linux можно использовать команду:
sudo lvcreate -L 200M -m1 -n lv_mirror vol_grp1
Удалить LVM раздел
Вы можете не только настроить LVM тома изменяя их размер и атрибуты, но и удалить LVM раздел, если он вам больше не нужен. Это делается с помощью LVM команды lvremove:
sudo lvremove /dev/vol-grp1/lv_mirror
Теперь лишний раздел удален.
Изменение размера LVM тома
Вы можете изменять уже созданные разделы LVM увеличивая или уменьшая их размер. Причем неважно есть ли место на физическом диске после этого раздела, если в пуле есть память, вы можете ее использовать для любого раздела. Чтобы изменить размер LVM используйте команду lvextend. Например, LVM увеличим размер диска из 80 до 100 мегабайт:
sudo lvextend -L100 /dev/vol_grp1/logical_vol1
Extending logical volume logical_vol1 to 100.00 MB
Logical volume logical_vol1 successfully resize
Также вы можете увеличить размер LVM, использовав знак +:
sudo lvextend -L+100M /dev/vol_grp1/logical_vol1
Точно так же можно выполнить уменьшение LVM раздела с помощью знака -.
Выводы
В этой статье мы рассмотрели создание LVM разделов в linux, а также настройку, увеличение, уменьшение и монтирование LVM Linux. Теперь вы знаете насколько это мощная технология и сколько преимуществ она может дать не только на сервере, но и на домашнем ПК. Вы раньше использовали LVM? Будете использовать?
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Create LVM Logical Volumes in Linux
In this tutorial, we are going to learn about how to create LVM logical volumes in Linux. LVM is a standard feature in most modern Linux distributions that allows you to create and manage logical volumes. In this tutorial, we will show you how to create and manage LVM logical volumes in Linux, using command-line tools. We will cover the basic concepts of LVM, including physical volumes, volume groups, and logical volumes, and demonstrate how to create filesystem on logical volumes in Linux.
Table of Contents
How to Create LVM Logical Volumes in Linux
Before we dive deeper, let us have a look at LVM architecture.
LVM Architecture Overview
The structure of an LVM disk environment is simply illustrated in the figure below.
LVM Logical Volumes Components
The underlying structure of an LVM environment is a block device such as partition or a whole disk which is initialized a Physical Volume (PV) . A single or multiple block devices can be grouped together to form a PV.
The physical volumes can be combined into a Volume Group (VG) . This creates a pool of disk space out of which LVM logical volumes (LVs) can be allocated. A top logical volumes, regular file systems, such as ext4, xfs, etc. can then be created. This process is comparable to the how disks are divided into partitions.
- Physical Volume
- Volume Group
- Logical Volume
As depicted in the architecture above.
How to Create LVM Logical Volumes in Linux
In order to create LVM logical volumes, here is a basic four step procedure:
In order to learn how to create LVM logical volumes in Linux, we will be following the above outlined steps.
Create Disk Partitions to be Used
So before you can create any logical volume, attach extra drives yo your system. In our case, we have two uninitialized disks, /dev/sdb1 and /dev/sdc1 and we will be using both of them to create LVM logical volumes.
Initialize Partitions as Physical Volumes
First, let us initialize our disks as physical volume using the command, pvcreate.
Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created.
To confirm this, you can run the command, pvs, to display information about physical volumes.
PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a--
As you can see, our two physical volumes have no volume group assigned to them yet.
Create Volume Group
Now, create a volume group that consists of the physical volumes created above. To create a volume group, run the command below;
vgcreate test_vol_group /dev/sdb1 /dev/sdc1
Volume group "test_vol_group" successfully created
where test_vol_group is the name of our volume group and /dev/sdb1, /dev/sdc1 are our physical volumes created above.
You can use the vgs command to display the attributes of the new volume group.
VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n-
Create Logical Volume
Now that we have the volume group, let us create a logical volume, test_log_volume, that will occupy 1G of the volume group space.
lvcreate -L 1G -n test_log_volume test_vol_group
Logical volume "test_log_group" created.
where –L specifies the size and –n specifies the name of the logical volume. test_vol_group is our volume group created above.
You can use the lvs command to display the attributes of the new volume group.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao----
Create Logical Volume Filesystem
So we now have a 1G logical volume. Let us make it usable by creating a file system on it. The following command creates a xfs file system on the logical volume. We will use mkfs.xfs command in its simplest form.
mkfs.xfs /dev/test_vol_group/test_log_group
Next,create a mount point and mount the logical volume.
mount /dev/test_vol_group/test_log_group /tmp/mnt/
Let us check the logical volume filesystem and disk space usage.
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 8.0G 1.1G 7.0G 14% / . /dev/mapper/test_vol_group-test_log_group xfs 1014M 33M 982M 4% /tmp/mnt
Upto there, we have created a usable LVM logical volume.
Stay tunned.
Other Tutorials
SUPPORT US VIA A VIRTUAL CUP OF COFFEE
We're passionate about sharing our knowledge and experiences with you through our blog. If you appreciate our efforts, consider buying us a virtual coffee. Your support keeps us motivated and enables us to continually improve, ensuring that we can provide you with the best content possible. Thank you for being a coffee-fueled champion of our work!