Использовать lvm при новой установке linux mint что это такое

LVM — это просто!

Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.

LVM — это дополнительный слой абстракции от железа, позволяющий собрать кучи разнородных дисков в один, и затем снова разбить этот один именно так как нам хочется.

есть 3 уровня абстракции:
1. PV (Physical Volume) — физические тома (это могут быть разделы или целые «неразбитые» диски)
2. VG (Volume Group) — группа томов (объединяем физические тома (PV) в группу, создаём единый диск, который будем дальше разбивать так, как нам хочется)
3. LV (Logical Volume) — логические разделы, собственно раздел нашего нового «единого диска» ака Группы Томов, который мы потом форматируем и используем как обычный раздел, обычного жёсткого диска.
это пожалуй вся теория. 🙂 теперь практика:
для работы нужны пакеты lvm2 и возможность работать с привелегиями root поэтому:
$ sudo bash
# apt-get install lvm2

допустим у нас в компе есть жёсткий диск на 40Гб и нам удалось наскрести немного денег и наконец-то купить себе ТЕРАБАЙТНИК! :))) Система уже стоит и работает, и первый диск разбит одним разделом (/dev/sda1 как / ), второй — самый большой, который мы только подключили — вообще не разбит /dev/sdb…
Предлагаю немножко разгрузить корневой диск, а заодно ускорить (новый диск работает быстрее старого) и «обезопасить» систему с помощью lvm.
Можно делать на втором диске разделы и добавлять их в группы томов (если нам нужно несколько групп томов),
а можно вообще не делать на диске разделы и всё устройство сделать физическим разделом (PV)

# pvcreate /dev/sdb
Physical volume «/dev/sdb» successfully created

Создаём группу томов с говорящим названием, например по имени машины «ws», чтобы когда мы перетащим данный диск на другую машину небыло конфликтов с именами групп томов:

# vgcreate ws /dev/sdb
Volume group «vg0» successfully created

желательно внести с корневого раздела такие папки как /usr /var /tmp /home, чтобы не дефрагментировать лишний раз корневой раздел и ни в коем случае его не переполнить, поэтому создаём разделы:

# lvcreate -n usr -L10G ws # здесь мы создаём раздел с именем «usr», размером 10Gb
Logical volume «usr» created
по аналогии делаем то же для /var, /tmp, /home:
root@ws:

# lvcreate -n var -L10G ws
root@ws:

# lvcreate -n tmp -L2G ws
root@ws:

# lvcreate -n home -L500G ws
у нас ещё осталось немного свободного места в группе томов (например для будущего раздела под бэкап)
посмотреть сколько именно можно командой:
root@ws:

# vgdisplay
информацию по созданным логическим томам
root@ws:

# lvdisplay
информацию по физическим томам
root@ws:

разделы что мы создали появятся в папке /dev/[имя_vg]/, точнее там будут ссылки на файлы,
lrwxrwxrwx 1 root root 22 2009-08-10 18:35 swap -> /dev/mapper/ws-swap
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 tmp -> /dev/mapper/ws-tmp
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 usr -> /dev/mapper/ws-usr
lrwxrwxrwx 1 root root 21 2009-08-10 18:35 var -> /dev/mapper/ws-var
и т.д…

Читайте также:  Windows made to order

дальше lvm уже почти кончается… форматируем наши разделы в любимые файловые системы:
root@ws:

# mkfs.ext2 -L tmp /dev/ws/tmp
root@ws:

# mkfs.ext4 -L usr /dev/ws/usr
root@ws:

# mkfs.ext4 -L var /dev/ws/var
root@ws:

# mkfs.ext4 -L home /dev/ws/home

кстати, не плохо было бы сделать раздел подкачки:
root@ws:

# lvcreate -n swap -L2G ws
root@ws:

# mkswap -L swap /dev/ws/swap
root@ws:

создаём папку и подключая по очереди новообразовавшиеся тома, копируем в них нужное содержимое:
root@ws:

# mkdir /mnt/target
root@ws:

# mount /dev/ws/home /mnt/target
копируем туда всё из папки /home своим любимым файловым менеджером (с сохранением прав доступа), например так ;):
root@ws:

# cp -a /home/* /mnt/target/
root@ws:

# umount /mnt/target/
кстати, для папки temp необходимо только поправить права, копировать туда что-либо необязательно:
root@ws:

На вкусное, хочу предложить более продвинутую штуку:
допустим у нас есть система с разделом на LVM, а жёсткий диск начал сбоить, тогда мы можем без перезагрузки переместить всю систему на другой жёсткий диск/раздел:

# On-line добавление/удаление жёстких дисков с помощью LVM (пример)

# pvcreate /dev/sda1 # наш эмулятор сбойного диска
Physical volume «/dev/sda1» successfully created

# pvcreate /dev/sdb1 # наш эмулятор спасательного диска
Physical volume «/dev/sdb1» successfully created

# vgcreate vg0 /dev/sda1 # создаю группу томов vg0
Volume group «vg0» successfully created

# lvcreate -n test -L10G vg0 #создаю раздел для «важной» инфы
Logical volume «test» created

# mkfs.ext2 /dev/vg0/test # создаю файловую систему на разделе
root@ws:

# mount /dev/mapper/vg0-test /mnt/tmp/ #монтирую раздел
… # заполняю его информацией, открываю на нем несколько файлов и т.п.

# vgextend vg0 /dev/sdb1 # расширяю нашу групу томов на «спасательный» диск
Volume group «vg0» successfully extended

# pvmove /dev/sda1 /dev/sdb1 #передвигаю содержимое с «умирающего» диска на «спасательный»
/dev/sda1: Moved: 0.9%
/dev/sda1: Moved: 1.8%

/dev/sda1: Moved: 99.7%
/dev/sda1: Moved: 100.0%

# vgreduce vg0 /dev/sda1 # убираю «умирающий» диск из группы томов.
Removed «/dev/sda1» from volume group «vg0»

Итого:
Я создал логический раздел, отформатировал его, примонтировал и заполнил нужными данными, затем переместил его с одного устройства на другое, при этом раздел остался примонтирован и данные всё время оставались доступны!
Подобным образом мне удавалось без перезагрузки перенести всю систему с умирающего диска на рэид-массив. 🙂

Источник

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

  • Главная
  • LVM для начинающих. Часть 2. Основы управления томами

LVM для начинающих. Часть 2. Основы управления томами

В нашей прошлой статье мы рассмотрели теоретические основы LVM, в объеме минимально необходимом для начала работы с этой технологией. Сегодня мы перейдем к практическим сценариям и расскажем, как начать использовать LVM и какие задачи можно решать с его помощью. Основной упор при этом будет сделан на базовые действия с привлечением изложенного в предыдущей части теоретического материала, чтобы читатель не только изучил необходимые команды, но и представлял, что именно и на каком уровне абстракции они делают.

Настраиваем LVM при установке системы

Самый простой способ начать использовать LVM — это настроить его при установке системы, для этого следует выбрать соответствующий пункт в меню разметки диска:

Дальнейшие действия при автоматической разметке ничем не отличаются от обычной установки, и мы не будем заострять на них внимания.

Читайте также:  Samsung ml1210 драйвер для windows 10

При ручном разбиении диска следует учесть следующий момент: загрузочный раздел /boot или EFI-раздел должны располагаться за пределами LVM-разметки.

Поэтому сразу создадим в самом начале диска первичный раздел размером 250 МБ с файловой системой ext2 и точкой монтирования /boot, не забываем отметить раздел как загрузочный.

Для EFI разметки следует создать первичный радел размером 499 МБ с типом системный раздел EFI, метка загрузочный будет установлена автоматически:

Создав загрузочный раздел можно приступать к настройке LVM, для этого выберите Настройка менеджера логических томов (LVM):

В котором сразу создаем группу томов (VG), рекомендуем давать группам томов и логическим томам понятные имена с использованием сокращений VG и LV, чтобы в дальнейшем было понятно, с чем именно вы имеете дело.

В качестве устройства для группы томов указываем доступное свободное место:

Затем создаем нужное количество логических томов, в нашем случае мы сделали тома для корневого раздела и домашней директории:

После создания структуры LVM мы возвращаемся в меню разметки дисков и указываем для каждого логического тома используемую файловую систему и точку монтирования:

Далее установка продолжается обычным образом, и мы не будем на этом останавливаться.

Ниже мы будем рассматривать разметку, созданную автоматически с выделением /home в отдельный раздел.

Сразу после загрузки посмотрим структуру блочных устройств в системе, для этого воспользуемся командой:

В выводе мы видим загрузочный раздел sda1 размером в 243 МБ, расширенный раздел sda2 в котором располагается логический раздел sda5 используемый под LVM. Также видим три логических тома: root, swap_1 и home.

Обратите внимание, что при использовании MBR-разметки система всегда использует расширенный раздел, размещая в нем все остальные разделы, кроме первого. Это связано с ограничением MBR на 4 первичных раздела. При использовании EFI-разметки расширенный раздел не создается и для LVM был бы использован сразу sda2.

Теперь посмотрим информацию об элементах LVM, начнем с физических томов (PV):

Указанная команда выведет информацию обо всех физических томах, здесь мы увидим используемое устройство или раздел, группу томов, которую входит физический том, его размер, размер физического экстента, общее количество экстентов, а также количество используемых (отображенных) и свободных.

Вас может удивить необычный размер физического тома Обратите внимание! В первую очередь всегда уменьшается размер файловой системы, а только затем содержащего ее логического тома, при этом размер тома должен быть больше или равен размеру содержащейся в нем файловой системы. В противном случае произойдет ее разрушение с потерей данных.

В некоторых случаях требуется расширить логический том на вполне определенные физические диски, для этого следует явно их указать в команде расширения:

Указанная команда расширит логический том home на 5118 экстентов с физического тома /dev/sdb, перед выполнением команды следует убедиться, что выбранный том содержит нужное количество свободного пространства, поэтому наиболее удобно использовать свободные экстенты, точное количество которых мы всегда можем узнать получив информацию об указанном физическом томе.

Перемещение логических томов LVM

Еще одна распространенная задача — перемещение томов между физическими дисками. В предыдущем разделе мы расширили логический том home на добавленный нами в LVM диск sdb, при этом его часть так и осталась на sda5. Поставим себе теперь иную задачу: полностью переместить домашнюю директорию на новый диск sdc, а освободившееся пространство на sda5 отдать корневому разделу системы.

Читайте также:  Throttlestop для windows 10

Прежде всего создадим на новом диске физический том и добавим его в нужную группу томов:

Затем переместим экстенты логического тома home на новый диск. Так как sdb не содержит никаких иных логических томов, кроме home, то команда будет проста:

Она переместит все физические экстенты диска sdb на диск sdc. Для sda5, который содержит три логических тома такой фокус не пройдет, поэтому добавим конкретики:

Эта команда переместит все физические экстенты тома с именем home с диска sda5 на диск sdc.

Посмотрим информацию о логическом томе home:

Как можно видеть из вывода он теперь содержит единственный сегмент, который расположен на диске sdc.

Отлично, теперь можно расширить корневой раздел. Но нам следует использовать только пространство sda5 и желательно использовать его по максимуму. Как мы уже говорили выше, лучше всего опираться на число свободных экстентов. Чтобы узнать это значение выполним команду:

В выводе нас интересует единственный параметр — количество свободных экстентов:

Это число, в отличии от размера в байтах, либо процентов, является абсолютным, и мы можем смело его использовать:

Данная команда расширит логический том root на 2874 физических экстента принадлежащих разделу sda5. Затем не забудем расширить файловую систему:

А теперь посмотрим информацию о логическом томе:

Теперь корневой раздел состоит из двух сегментов, расположенных в начале и конце физического тома. Почему так? Вернемся в самое начало статьи и вспомним, что автоматически группа томов была размечена на следующие разделы: root, swap_1 и home. Домашний раздел мы переместили, но swap остался на своем месте и теперь root находится по обе стороны от него, если смотреть на физическом уровне, то мы получим схему root — swap_1 — root.

Для чего мы заостряем внимание на этих моментах? С практической точки зрения не так уж и важно, где именно лежат ваши данные, но это важно для понимания работы LVM, чтобы он перестал быть для вас черным ящиком, и вы могли на практике получить подтверждение теоретическим знаниям из предыдущей статьи.

Удаление дисков из LVM

LVM — это очень гибкая система, которая позволяет как добавлять, так и удалять диски. Такая необходимость не всегда связано с отказами, чаще встречаются ситуации, когда мы установили в систему новые, более емкие диски, а старые хотим использовать где-нибудь в другом месте.

Удаляемый диск не должен содержать логических томов, их следует переместить, либо удалить. Это можно сделать командой

Которая удалит логический том myvolume1 из группы томов andrey-lvm-vg.

В приведенном выше примере у нас освободился диск sdb в группе томов debian-lvm-vg. Удалим его из группы томов:

Ну и наконец удалим LVM-разметку с указанного диска:

После чего диск можно изъять из системы и использовать по собственному усмотрению. Также можно удалив физический том из одной группы томов, включить в другую, таким образом перераспределив имеющиеся аппаратные ресурсы.

Заключение

Несмотря на то, что в данной статье мы коснулись всего лишь основ управления томами, перед нами открылись богатые возможности LVM, которая в умелых руках предоставляет весьма широкие возможности по управлению дисковой подсистемой, позволяя быстро и без простоя системы изменять ее конфигурацию согласно текущим потребностям.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:

Источник

Оцените статью