1

Тема: Установка LVM ‭(‬Logical Volume Manager‭) на Дебиан дистро

Данный Хау-Ту пишу на основании построения своего сервера и своих ошибок.

LVM‭ (‬Logical Volume Manager‭) ‬позволяет добавлять,‭ ‬удалять менять размер разделов‭ ‬по необходимости.


Для начала терминология:‭

Физический Раздел‭ (‬ФР‭)‬-‭ ‬это физические диски либо разделы.‭ ‬/dev/sda или‭ ‬/dev/sda1.‭ ‬используя LVM мы объединяем физические разделы в группы объема.

Группа Разделов‭ (‬ГР‭)‬-‭ ‬это‭ "‬виртуальный раздел‭" ‬состоящий из физических разделов и используется для создания логических разделов которые в свою очередь можно создавать/удалять/изменять.

Логический Раздел‭ (‬ЛР‭)‬-‭ ‬это разделы которые ты монтируеш к системе.‭ ‬Они могут добавляться,‭ ‬убираться,‭ ‬изменяться на лету.‭ ‬Так как логические разделы находяться в группе разделов то они могут превышеть в размере конкретный физический раздел.‭ ‬То есть:‭ (‬4х5Гиг‭) ‬винта могут быть скомбинированы в‭ ‬20Гиг группу разделов и можно будет создать‭ ‬2х10Гиг логических раздела.

Требования:‭
железо‭ ‬-‭ ‬минимум‭ ‬1‭ ‬винт IDE SATA без разницы‭ (‬в мануале использую‭ ‬2-SATA‭)
софтина‭ ‬-‭  ‬ядро‭ ‬2.6
‎            ‏пакет lvm2

Ограничения:
1-‎ ‏для монтирования ЛР необходимо чтобы команды‭ "‬vgscan‭" "‬vgchange‭" ‬были доступны для системы.‭
2‎ ‏решения проблемы:‭
а‭) ‬использовала initrd имидж.‭ (‬мы пойдем этим путем‭!)
б‭) ‬/sbin,‭ ‬/,‭ ‬/etc,‭ ‬/dev,‭ ‬...‭ ‬все кроме‭ ‬/home.‭ ‬/tmp разместить вне ЛР

2-‎ ‏/boot обязан размещаться вне ЛР‎!! ! ‏загрузчик не умеет читать ЛР и не загрузит систему‭!!!





LVM разбиение винта следующее:
/boot‎ (‏reiserfs‭) ‬100-200мб‭

swap‭ (‬ЛР‭) ‬2гиг
/‎ (‏reiserfs ЛР‭) ‬5гиг
/home‎ (‏reiserfs ЛР‭) ‬все остальное


Я использовал Дебиан‭ ‬,‭ ‬так как он позволяет безболезненно установить LVM во время инсталяции системы.‭



Загружаемся с Дебиан СД,‭

expertgui

Устанавливаем систему как обычно до момента разбиения жесткого диска.

Разбиение жесткого диска:

Выбрать

-‎ "‏Partition disks‭"

в случае диск никогда не был в использовании создаем таблицу раздела,‭ ‬иначе пропускаем и идем к пункту‭ ‬2.

1.‎ ‏Создание загрузочной таблицы для sda:

‎  ‏-‎ ‏двойной щелчек по первому диску‭ (‬/dev/sda‭)
  -‎ ‏выбрать‭ "‬Yes‭" ‬для создания пустой таблицы раздела
‎  ‏-‎ ‏выбрать‭ "‬msdos‭" ‬для‭ "‬partition table type‭"

По необходимости повторить для всех винтов.


2.‎ ‏Создание‭ ‬/boot раздела.‭

Создаем‭ ‬/dev/sda1

-‎ ‏щелчек по‭ "‬FREE SPACE‭" ‬на sda

-‎ ‏щелчек по‭ "‬Create a new partition‭"

-‎ ‏вводим‭ ‬200MB

‎  ‏-‎ ‏щелчек на‭ "‬Primary‭"

  -‎ ‏выбрать‭ "‬Beginning‭"

  -‎ ‏щелкнуть‭ "‬Use as:‭"

  -‎ ‏выбрать‭ "‬ReiserFS journaling file system‭"

  -‎ ‏щелчек на‭ "‬Mount point:‭"

  -‎ ‏щелчек на‭ "‬/boot‭ ‬-‭ ‬static files of the boot loader‭"

  -‎ ‏щелчек на‭ "‬Mount options:‭"

-‎ ‏выбрать‭ "‬Bootable flag‭" ‬установить‭ "‬on‭"  !!! 

-‎ ‏выбрать‭ "‬notail‭ ‬-‭ ‬disable packing of files into the file system tree‭"

  -‎ ‏щелчек‭ "‬Continue‭"

  -‎ ‏щелчек на‭ "‬Label:‭"

  -‎ ‏ввести‭ "‬boot‭"

  -‎ ‏щелчек на‭ "‬Done setting up the partition‭"

 

   3.‎ ‏Создание ЛР устройств

в моем случае у меня‭ ‬2‭ ‬sata диска:‭ ‬sda,‭ ‬sdb

я создам из оставшегося пространства на sda‭ ‬/dev/sda2‭ ‬раздел
все пространство на sdb уйдет на создание‭ ‬/dev/sdb1‭ ‬раздела


-‎ ‏щелчек по‭ "‬FREE SPACE‭" ‬на sda

-‎ ‏щелчек по‭ "‬Create a new partition‭"

-‎ ‏щелчек на‭ "‬Primary‭"

-‎ ‏щелкнуть‭ "‬Use as:‭"

-‎ ‏выбрать‭ "‬physical volume for LVM‭"

-‎ ‏щелчек на‭ "‬Done setting up the partition‭"

Аналогично создаем ЛР устройство на sdb


4.‎ ‏Создание ЛР

‎   ‏-‎ ‏щелчек на‭  "‬Configure the Logical Volume Manager‭"

  -‎ ‏выбрать‭ "‬Yes‭"

  -‎ ‏щелчек на‭ "‬Continue‭"


Создаем ГР

-‎ ‏щелчек на‭ "‬Create volume group‭"

  -‎ ‏вводим‭ "‬vol-gr‭" (‬называем как хотим у меня ГР‭ "‬zeus‭")

  -‎ ‏щелчек‭ "‬Continue‭"

  -‎ ‏выбираем‭ "‬/dev/sda2‭"

  -‎ ‏выбираем‭ "‬/dev/sdb1‭"

  -‎ ‏щелчек‭ "‬Continue‭"

Теперь у нас появилась ГР‭ "‬vol-gr‭" ‬и на ее базе будут создаваться ЛР.

Создаем ЛР‭ "‬root‭"  ‬5Гиг в дальнейшем используем этот раздел под‭ ‬/‭ (‬root‭)

  -‎ ‏щелчек на‭ "‬Create logical volume‭"

  -‎ ‏щелчек на‭ "‬vol-gr‭"

  -‎ ‏вводим‭ "‬root‭"

  -‎ ‏щелчек‭ "‬Continue‭"

  -‎ ‏вводим‭ ‬5G

‎  ‏-‎ ‏щелчек‭ "‬Continue‭"
Создаем ЛР‭ "‬swap‭" ‬2Гиг в дальнейшем используем этот раздел как swap

‎  ‏-‎ ‏щелчек на‭ "‬Create logical volume‭"

  -‎ ‏щелчек на‭ "‬vol-gr‭"

  -‎ ‏ввести‭ "‬swap‭"

  -‎ ‏щелчек‭ "‬Continue‭"

  -‎ ‏ввести‭ ‬2G

‎  ‏-‎ ‏щелчек‭ "‬Continue‭"

КРУТА‭!!! ‬мы почти там‭!

Идея понятная‭? ‬точно таким же способом можно насоздавать в зависимости от желаемой конфигурации‭  ‬/home,‭ ‬/var/www,‭ ‬и т.д.‭ ‬можно сразу можно потом уже роли не иргает основное дело сделано‭!!!

Сохраняем LVM конфигурацию

-‎ ‏щелчек на‭ "‬Finish‭"

конфигурация получиться примерно такой:

‎ ‏LVM VG vol-gr,‭ ‬LV root‭ ‬-‭ ‬5‭ ‬GB Linux device-mapper

‎    ‏> #1‎ ‏5‎ ‏GB

‎  ‏LVM VG vol-gr,‭ ‬LV swap‭ ‬-‭ ‬2‭ ‬GB Linux device-mapper

‎    ‏> #1‎ ‏2‎ ‏GB‭


LVM‭ ‬конфигурация закончена,‭ ‬приступаем к формированию файловой системы.

Следует отметить оптимальными для LVM есть ext3‭ ‬или ReiserFS я предпочитаю ReiserFS‭

5.1‎ ‏Формирование‭ ‬/‭ (‬root‭)

создание точки монтирования‭ ‬/

-‎ ‏щелчек на‭ "‬#1‭"   "‬LVM VG vol-gr,‭ ‬LV root‭" (‬/dev/vol-gr/root‭)

  -‎ ‏щелчек‭ "‬Use as:‭"

  -‎ ‏щелчек‭ "‬ReiserFS journaling file system‭"

  -‎ ‏щелчек на‭ "‬Mount point:‭"

  -‎ ‏щелчек на‭ "‬/‭ ‬-‭ ‬the root file system‭"

  -‎ ‏щелчек на‭ "‬Mount options:‭"

  -‎ ‏выбрать‭ "‬notail‭ ‬-‭ ‬disable packing of files into the file system tree‭"

  -‎ ‏щелчек‭ "‬Continue‭"

  -‎ ‏щелчек‭ "‬Label:‭"

  -‎ ‏печатать‭ "‬root‭"

  -‎ ‏щелчек‭ "‬Done setting up the partition‭"

Должно получиться что то типа

LVM VG vol-gr,‭ ‬LV root‭ ‬-‭ ‬5‭ ‬GB Linux device-mapper

‎    ‏> #1‎ ‏5‎ ‏GB f reiserfs‭ ‬/


5.2‎ ‏Создание swap

‎ ‏-‎ ‏щелчек на‭ "‬#1‭"  "‬LVM VG vol-gr,‭ ‬LV swap‭" (‬/dev/vol-gr/swap‭)

  -‎ ‏щелчек на‭  "‬Use as:‭"

  -‎ ‏щелчек на‭ "‬swap area‭"

  -‎ ‏щелчек на‭ "‬Done setting up the partition‭"

Должно получиться похоже на‭


  LVM VG vol-gr,‭ ‬LV swap‭ ‬-‭ ‬2‭ ‬GB Linux device-mapper

‎    ‏> #1‎ ‏2‎ ‏GB‭ ‬-‭ ‬f swap‭   ‬swap‭

5.3‎ ‏Создание дополнительных ЛР‭

перед перезагрузкой машины для каждого дополнительно созданного ЛР повторяем процедуру точно как было сделано для‭ ‬/‭ (‬root‭) ‬ЛР.‭

к примеру‭  ‬/home

‎ ‏-‎ ‏щелчек на‭ "‬#1‭" "‬LVM VG vol-gr,‭ ‬LV home‭" (‬/dev/vol-gr/home‭)

  -‎ ‏щелчек на"Use as:‭"

  -‎ ‏щелчек на‭ "‬ReiserFS journaling file system‭"

  -‎ ‏щелчек на‭ "‬Mount point:‭"

  -‎ ‏щелчек на‭  "‬/home‭ ‬-‭ ‬user home directories‭"

  -‎ ‏щелчек на‭ "‬Mount options:‭"

  -‎ ‏выбрать‭ "‬notail‭ ‬-‭ ‬disable packing of files into the file system tree‭"

  -‎ ‏щелчек‭ "‬Continue‭"

  -‎ ‏щелчек на"Label:‭"

  -‎ ‏ввести‭ "‬home‭"

  -‎ ‏щелчек на‭ "‬Done setting up the partition‭"
 


5,4‎ ‏Закончили разбиение диска.

-‎ ‏щелчек на‭ "‬Finish partitioning and write changes to disk‭"

  -‎ ‏выбрать‭ "‬Yes‭"

  -‎ ‏щелчек на‭ "‬Continue‭"

Продолжили установку Дебиан системы.


REBOOT

Создание дополнительных ЛР после перезагрузки,

(/home , /var/www , /tmp  .....  )

6. Как это делается на примере‭ ‬/home ЛР

Если к примеру забыли или отложили создание раздела‭ ‬/home че делать‭?

6.1 Создаем  /home

Cоздаем ЛР /home 5Гиг

# lvcreate -A -n home -L 5G vol-gr

Создаем файловую систему на ЛР

# mkreiserfs --label home /dev/vol-gr/home

Временно монтируем /dev/vol-gr/home и переносим содержимое /home

# mount /dev/vol-gr/home /mnt

# mv /home/* /mnt

# umount /mnt


6.2  Редактируем /etc/fstab

добавляем вот это:

/dev/vol-gr/home    /home        reiserfs    noatime,notail

6.3 Монтируем /home

# mount /home

КОНЕЦ!!!    Первой части

UNIX is an operating system, OS/2 is half an operating system, Windows is a shell, and DOS is a boot partition virus. (Peter Coffin)

https://linuxcounter.net/cert/444384.png