- Как работать с LVM
- Уровни абстракции
- Установка
- Создание разделов
- 1. Инициализация
- 2. Создание групп томов
- 3. Создание логических томов
- Создание файловой системы и монтирование тома
- Файловая система
- Монтирование
- Просмотр информации
- How to Create Swap Partition on Linux
- Create a swap partition
- 1) Check disk space
- 2) Create a partition for swap
- 3) Format to swap mode
- 4) Enable Swap space
- 5) Verify swap space
- 6) Add to fstab file
- How to Create swap partition for lvm
- Extend swap partition for lvm
- Remove swap partition
- How to adjust swappiness property
- Conclusion
Как работать с 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 дисков:
Источник
How to Create Swap Partition on Linux
Swap memory is required when the system requires more memory than it is physically available. The kernel swaps out less used pages and gives memory to the current process that needs the memory immediately. So a page of memory is copied to the preconfigured space on the hard disk. Disk speed is much slower compared to memory speed. Swapping pages give more space for current applications in the memory (RAM) and make the application run faster.
Swap space is located on hard drives, which have a slower access time than physical memory. Swap space can be a dedicated swap partition or swap file, or a combination of both.
In this tutorial, we learn how to create a swap partition on a Linux system.
Create a swap partition
Lets first check disk space, then create a partition and followed by enabling swap.
1) Check disk space
Check if you have enough space on disk to create a new partition for swap using fdisk or parted command.
We will use /dev/sdb disk for our swap. Check the swap with free -m command; we have:
You can see that we don’t have a swap partition. We can also use the command below for verification
You see that we don’t have a return. It means that there is no swap
2) Create a partition for swap
As we saw we have enough unallocated space on the disk, we can create a new partition using tools like parted or fdisk.
Here I am going to use fdisk command to create a partition:
You can type m command for the help which will list you different possibilities. We will create a new partition for our swap with n command
To define now our partition as swap type, we will use t command
The Hex code for swap partition on Linux is 82 . Now we will save the changes with w command
Make the new partition as swap. Change toggle id to 82 (for swap). Let’s check with fdisk -l command:
You can see the mention ‘Linux swap’ on the last line.
Note: On the latest version Ubuntu and Centos it uses create swap file instead of a swap partition. Let’s see how to create a swap file.
Just use dd command or fallocate to create a file (say 1 GB or 2GB).
Then follow the below steps.
3) Format to swap mode
After defining our partition, we need to format it for «swap mode» so run mkswap command on the newly created swap partition. Make sure to choose the correct partition number which you need to enable swap. You may use -L option to set LABEL on the swap partition.
Run the following command define /dev/sdb1 as swap partition:
4) Enable Swap space
Now that our swap partition is formatted, we need to enable the swap space so run swapon command to enable it:
5) Verify swap space
Verify the newly added swap space using the command below:
6) Add to fstab file
Then add newly created swap partition to /etc/fstab file. It should look as below:
How to Create swap partition for lvm
You can have an LVM installation on your server and you need to create a swap partition. The procedure is not exactly the same because of «lvm mode»
We must first create the LVM2 logical volume of size 8 GB:
After creating the logical volume, we need to format the new swap space:
To be sure that our swap partition will be mounted automatically even if we restart the server, we need to add the following entry to the /etc/fstab file:
Now we need to enable the extended logical volume:
To test if the logical volume was successfully created, use swapon -s or free -m command to inspect the swap space.
Extend swap partition for lvm
You can need to extend your swap partition because the actual swap size doesn’t satisfy your job. With lvm, it is possible to directly increase the size of an existing partition as below.
You must first identify the swap volume group which is ‘/dev/rootvg/swapvol’ in our case. You need first to disable the current swapping
Now you must resize the volume group to indicate the space to increase
We want to increase from 8 GB to 16 GB
Now we need to format the space
Now we need to activate the swap for devices marked as swap in /etc/fstab
Remove swap partition
For some reason, you can need to remove your swap partition in lvm mode.
To remove a swap partition, you first need to disable the swapping for the associated logical volume whether it is lvm or something else there
The second principle is to remove the volume so you need to delete the swap partition entirely.
Now we need to remove the following entry from the /etc/fstab file
How to adjust swappiness property
Swappiness value defines how often system swaps data out of RAM to the swap space. The current swappiness value is stored in «/proc/sys/vm/swappiness’ file. This is a value between 0 and 100. A low value say close to zero will make the kernel to try to avoid swapping. A server can have a value closer to 0 and Desktop 60 should be okay.
Conclusion
In this tutorial, we learned how to create a swap partition and enable swap on Linux. The modern computer comes with high memory and if you think your application will exhaust memory then it’s advised to add a bit swap.
For old computers with small memory, it is always good to give twice the RAM size for your swap space.
I hope you enjoyed reading this and please provide your suggestions on the below comment section.
Источник