И так, в этой статье речь пойдёт о такой чудесной вещи как LVM(Logical Volume Manager). Зачем он нужен, и что это вообще такое?
Думаю, любой пользователь компьютера сталкивался с тем, что свободное место на его диске со временем заканчивается. Так вот, представьте себе именно такую ситуацию, когда места уже почти не осталось, и надо что-то предпринимать. Конечно, можно удалить все фильмы и музыку, но это не самый лучший вариант. Лучший вариант – это с помощью LVM организовать логический том, который при необходимости можно будет легко расширить или уменьшить.
Чтобы понять, как создать логической том, и, вообще, из чего он состоит, придётся окунуться в термины.
Физический том(Physical Volume) – это раздел вашего жесткого диска, или весь диск целиком.
Группа томов(Volume Group) – это группа физических томов. Вы объединяете физические тома в одну группу томов. То есть, если у вас есть два жестких диска (два физических тома) каждый по 2 Гб, то обьём группы томов будет размеров в 4 Гб соответственно. Говоря простым языком, вы объединяете два жёстких диска в один.
Логический том(Logical Volume) – одна или более групп томов образуют логический том. Если говорить на более простом языке, то из группы томов вы создаёте логический том. Допустим, мы создали группу томов объемом в 4 Гб. Из неё можно сделать логический том размером в 3 Гб. При необходимости можно его увеличить ещё на 1 Гб или уменьшить насколько вы хотите. Естественно, объем логического тома не может превышать объем группы томов.
Надеюсь, что следующая картинка поможет вам осмыслить всё выше сказанное:
Ну что ж, далее дело техники.
Создание партиций
Для создания партиций используем программу fdisk. Для этого у вас должны быть права root. Если вы зашли не под администратором, то заходим под него путём следующей команды:
sudo –i
Теперь вбиваем в shell:
fdisk /dev/sdb
Вот мы и в fdisk –е. Для того, чтобы ознакомиться с возможностями fdisk жмём кнопку «m»- далее будет выведен весь список доступных команд. Нажимая «p», будет выведен список всех партиций на данном диске. Нам нужно сделать новую партицию – для этого жмём «n».
Выбираем тип портиции – primary, то есть жмём «p». Далее fdisk спросит номер партиции(Partition number). В моём случаи на диске больше нету партиций, и поэтому я делаю партицию под номером 1. Далее fdisk интерисуется первый цилиндром(First cylinder) – устанавливаем значение по умолчанию. Fdisk услужливо подсказывает это значение, так что вам остаётся только вписать его. Теперь необходимо указать последний цилиндр(Last cylinder), а если говорить проще, то надо указать обьём будущей партиции. Создаю партицию обьёмом в 2Gb. Для этого пишу следующее: +2048M. «М» указывает на размер в мегабайтах, то есть создаётся партиция в 2048 Мб, а это соотвественно 2 Гб. Всё именно так, как мы хотели.
Следующий скрин отображает только что проделанные операции:
Для создания второй партиции, поступаем точно так же, за исключением номера партиции.
Итак, мы создали две партиции, каждая по 2Гб. Далее нужно поменять тип системы этим партициям. Для того, чтобы использовать партиции или диски для LVM, типом системы должен быть Linux LVM, то есть надо поменять тип системы – для этого жмём «t» и выбираем номер той партиции, у которой хотим поменять тип системы. Далее вписываем «8e» – это и есть тип файловой системы Linux LVM. Также поступаем и для второй партиции.
Следущий скрин показывает, как я сменил тип системы на Linux LVM:
Для того, чтобы наши изменения (созданные партиции и изменение типа системы) пришли в силу, необходимо записать их на диск. Если сейчас выйти из fdisk –а, то наши изменения не будет записаны, и всё останется без изменений. Для того, чтобы записать наши изменения нажимаем «w».
Далее мы переходим на работу непосредственно с LVM. Скорее всего, LVM не установлен, тогда установим его с помощью следующей команды:
apt-get install lvm2
Прежде чем приступать к созданию физического тома, хочу описать вкратце команды LVM, чтобы было понятно, какие команды к чему относятся:
pv* – команды, связанные с физическим томом(Physical Volume)
vg* – команды, связанные с группой томов(Volume Group)
lv* – команды, связанные с логический томом(Logical Volume)
Создание физического тома
Создаём физический том, или можно скачать «подготавливаем диски». Для этого выполняем следующую команду:
pvcreate /dev/sdb1 /dev/sdb2
На что shell нам отвечает одобрение:
Physical volume “/dev/sdb1” successfully created
Physical volume “/dev/sdb2” successfully created
Создание группы томов
Наша группа томов будет состоять из двух партиций, которые мы только что «подготовили». Для этого пишем следующее:
vgcreate VG /dev/sdb1 /dev/sdb2
Немного поясню предыдущую команды – мы создаем группу томов под названием VG из партиций /dev/sdb1 и /dev/sdb2.
Для того чтобы просмотреть параметры только что созданной группы томов, используем:
vgdisplay
В моём случае команды вернула следующий результат:
Думаю самым полезным, что можно увидеть из ответа на команду vgdisplay, будет общий обьём группы томов(VG Size). В данном случаи – это 3.83Гб, ну почти что 4Гб, как я и говорил.
Создание логического тома
Теперь из группы томов VG создаем логический том LV размером в 3Gb. Для этого используем следующую команду:
lvcreate –L3G –nLV VG
На что shell отвечает:
Logical volume “LV” created
Для просмотра параметров созданного логического тома используем:
lvdisplay
В моём случаи команда вернула следующее:
Создание файловой системы и монтирование
Для того чтобы новый логический том можно было использовать в системе, необходимо создать на нём файловую систему и затем «примонтировать» его.
Я выбираю для нашего логического тома LV файловую систему ext3 и создаю её:
mkfs –t ext3 /dev/VG/LV
Создали, теперь нужно примонтировать логической том. Для этого пишем:
mount /dev/VG/LV /home/igor/test
Поясню предыдущую команду – мы примонтировали логический том LV с папкой /home/igor/test. То есть, теперь все файлы, которые будут сохранены в папке /home/igor/test, на самом деле будут храниться на логическом томе LV. Далее расскажу немного о монтировании. Если в момент монтирования в точке монтирования (папка на диске) находятся какие-то файлы, то они становятся невидимыми и недоступными до момента размонтирования.
Чтобы просмотреть, удалось ли нам произвести монтирование, пишем в shell команду – mount. Последние примонтированные устройства отображаются в конце списка:
Добавление записи в файл /etc/fstab
Сейчас мы смонтировали систему в ручную, но, если системе сделать рестарт, то от нашего монтирования и следа не останется, и надо будет делать всё заново. Чтобы этим не заниматься, добавим запись в файл /etc/fstab. Задача этого файла заключается в автоматическом монтировании устройств при загрузки системы.
Если вы не в корне то переходим в него – cd /
И пишем следующее:
nano /etc/fstab
Далее вы должны увидеть примерно следующее:
Теперь будем добавлять записи о нашем логическом томе.
Для этого клавишей «стрелка в низ» на клавиатуре передвигаемся в конец файла и начинаем писать. А что писать то? Чтобы знать, что писать, необходимо знать о полях файла /etc/fstab. И так о них:
Жмём Ctrl + X для выхода, говорим, что хотим сохранить изменения – Y(Yes) и сохранить изменения в /etc/fstab, то есть жмём Enter.
Для того, чтобы только что добавленное устройство было найдено системой, пишем следующее:
mount –a
Готово! Теперь можно использовать логической том.
Если вспомнить начало статьи, то все эти операции мы по идее должны были сделать для того, чтобы в любой момент можно было легко добавить дополнительный обьём к диску. Вот, и настал этот долгожданный момент.
Для того, чтобы увеличить обьём логического тома LV на 800Mb, пишем следующее:
lvextend –L+800M /dev/VG/LV
На что shell нам отвечает:
Extending logical volume LV to 3.78 GB
Logical volume LV successfully resized
А для того, чтобы уменьшить обьём логического тома на 800MB пишем:
lvreduce –L-800M /dev/VG/LV
Заключение
Организация логического тома довольна сложная процедура. По крайней мере, мне так показалось, когда я разбирался в LVM. Но уже в скором времени, вы оцените плюсы создание логического тома, и надеюсь что, хоть какое-то время не будет проблем с нехваткой места на жёстком диске.
Автор: EPS