По стопам статьи с сайта freecoder.ru
И очень много полезной информации о LVM здесь.

Кратко и по делу.
Есть 160 Гб старенький жёсткий диск. Приобрёл Seagate Constellation ES3 1 Тб и решил перенести все данные со старого.
Разметка на старом:
- /boot — ext2
 - LVM
- / — ext4
 - swap
 - /home — ext4
 - /var — ext4
 
 
Как видно, есть LVM. Переносим.
Подключение физического HDD описывать не буду — смысла нет.
Все команды делаются из под рута, если кто забыл.
- Размечаем новый жёсткий диск.
- Смотрим командой fdisk -l какие есть диски
 - Командой fdisk /dev/sdX выбираем для работы новый жёсткий диск, где X — буква отображённая в листинге ранее указанной команды.
 - Для справки можно нажать m, чтобы увидеть список доступных команд
 - Жмём p, чтобы увидеть лист разделов.
 - Жмём d, чтобы удалить ненужные разделы, если они есть. Если их нет, то естественно пропускаем этот шаг.
 - Жмём n, чтобы создать разделы. Enter. Тип раздела ставим по-умолчанию primary, сразу жмакая Enter. Номер будущего раздела тоже по-умолчанию — 1. Enter. С какого сектора начать разметку раздела. Жмём Enter, подтверждая, что с самого начала. Пока всё идёт по умолчанию. В запросе на конец раздела задаём нужный нам размер раздела в мегабайтах. Я выбрал 500. Для бутового раздела этого хватит с лихвой. Набираем +500M и первый раздел создастся.
 - Жмём n, для повторного создания раздела, только теперь все варианты выбираем такие какие предлагается.
 - После чего нажимаем w, для записи изменений в разметку. (Примечание: форматировать разделы нет нужды, сделаем это потом)
 
 - Перед использованием нового раздела инициализируем его.
- pvcreate /dev/sdX2 (X — буква диска, может быть c, d,e,f и т.п., 2 — потому что, это второй раздел. Первый мы отдали буту. Не забываем.
 - После выполнения команды, второй раздел нового жёсткого диска успешно преобразился в LVM, чтобы его далее можно было спокойно использовать в наших целях. Однако, это пока что всего навсего болванка, которая только способна сказать, что, дескать, я LVM, но кому принадлежу — не знаю. Здесь нет даже файловой системы. Давайте сделаем с этим хоть что-то.
 
 - Добавляем наш новый LVM раздел в существующий, но физически расположенный на старом жёстком volume group, в котором содержатся описания чей логический том кому принадлежит и какое место занимает. Иначе говоря захватываем в существующую группу томов старого харда новое место, расположенное на новом.
- Команда vgextend сделает это.
 - Сначала узнаём название нашей volume group командой pvdisplay, показывающей на каком физическом харде находится та или иная группа томов
 - Узнав имя группы томов, к которой мы будем присоединять наш новый пустой LVM раздел, пишем команду «vgextend имя_группы_томов /dev/sdX2«
 - Теперь группа томов переползла и на нашу новую, расположенную на новом харде LVM область.
 
 - Переносим данные со старого физического тома на новый, командой pvmove. Эта команда возьмёт все экстенты из старого размещения и перенесёт в новое. Выполняется долго, желательно выполнять в screen.
 - Вводим команду pvmove -v /dev/sdYZ /dev/sdX2, где Y — буква диска старого физического тома, Z — номер раздела, на котором располагается LVM-разметка. X — уже известная нам буква нового диска, 2 — потому что второй, первый — это boot, ключ -v, чтобы видеть прогресс.
 - Теперь создаём boot раздел с файловой системой ext2, на первом разделе нашего нового диска.
- mkfs.ext2 /dev/sdX1
 - Обратите внимание, что UUID boot-раздела должен быть таким же, как и у действующего boot-раздела в вашей системе на данный момент. Посмотреть UUID каждого раздела можно командой
blkid, вот примерный её вывод: - 
/dev/sda1: UUID="829790c4-7afd-4bf6-86f9-933dd5deb617" TYPE="ext2" PARTUUID="455 /dev/sda2: UUID="FCAC3P-O0aa-5HYn-sr4W-RFkV-hjUJ-akn0Xh" TYPE="LVM2_member" PART
 - Сменить UUID можно командой tune2fs, передав ей с параметром -U нужный UUID и устройство, на котором нужно его сменить:
 - 
tune2fs -U 829790c4-7afd-4bf6-86f9-933dd5deb617 /dev/sdX1
 - И помните, UUID не меняем у исходного старого раздела. Даже если очень хочется.
 - После форматирования раздела в ext2 монтируем его в какой-нибудь каталог, и копируем в него действующий каталог /boot:
 - 
mkdir /mnt/1 mount /dev/sdX1 /mnt/1/ cp -aT /boot/ /mnt/1/
 
 - Устанавливаем загрузчик grub2 на новый жесткий диск:
- grub-install /dev/sdX
 - Удаляем уже освобожденные и неиспользуемые HDD из группы томов:
 - 
vgreduce web /dev/sdb5 (старый том на старом диске) vgreduce web /dev/sda1 (ещё старый том на старом диске) vgreduce web /dev/sdc1 (и т.д.)
 
 - Осталось увеличить размер томов и файловых систем.
- Командой lvdisplay смотрим какие тома сколько места занимают
 - Допустим, что нам нужно увеличить рутовый раздел на 50 Гб. Для этого пишем «lvextend -L +50G /dev/vg-name/lv-name«, где -L — задаёт размер тома на необходимое количество байт, +50G — прибавляет к тому 50 Гигабайт (если писать без плюса, то это будет указание сделать раздел именно такого размера, буква G — как определитель, что это будет гигабайт, а не мегабайт, гибибайт или что-то другое), /dev/vg-name/lv-name — пути к увеличиваемому тому, это можно увидеть в выводе команды lvdisplay.
 - Теперь, когда рутовый раздел у нас вырос, нужно увеличить размер файловой системы на нём. Файловая система сама не растянется за увеличившимся томом. Вводим resize2fs /dev/vg-name/lv-name (или можно просто в команде выше приписать ключ -r, это автоматически увеличит и файловую систему)
 - Обычно файловая система ext4, меняет свой размер без размонтирования.
 
 - Осталось добавить раздел для веб-сервера, чтобы он не мешался в корне
- Здесь в общем-то всё просто. Если нужно занять новым разделом всё свободное место, то используйте команду lvcreate -l +100%FREE vg-name -n new-lv-name, где -l 100%FREE указание на создание тома на всём свободном пространстве. (маленькая l, кстати, используется для указания размера в экстентах, в отличие от большой L), vg-name — имя группы томов, на которых будет создан новый том, -n — ключ, указывающий имя нового тома new-lv-name
 - Например, создадим новый раздел для /srv
- lvcreate -l100%FREE web -n lv-srv
 
 - Создаём файловую систему: mkfs.ext4 /dev/web/lv-srv
 - Переносим старый /srv/ на /dev/web/lv-srv
- Остановим процесс, работающий с этой папкой service apache2 stop
 - Переименуем папку /srv в /srv-old и создадим папку /srv mv /srv /srv-old && mkdir /srv
 - Примонтируем новый созданный раздел к /srv «/mount /dev/web/lv-srv /srv/«
 - Скопируем файлы из старого местоположения в новое cp -aTv /srv-old/ /srv/
 - Запишем в /etc/fstab данные для монтирования нового раздела
- /dev/web/lv-srv /srv defaults 0 0
 
 
 
 
