Как сжать логические и физические тома Ubuntu LVM?

26

Я установил Ubuntu 12.10 в качестве единственной ОС в моей системе.

Я сказал Ubuntu перезаписать все, как я спешил, поэтому у меня есть только два раздела, которые создает Ubuntu, загрузочный раздел на пару сотен МБ, а затем все остальное.

Основной раздел составляет около 600 ГБ,

Я хочу изменить размер до 450 ГБ, чтобы я мог установить Windows 8 в качестве двойной загрузки.

Проблема в том, что я не могу понять, как сжать раздел, обычно это нормально из Gparted (gparted-live-0.14.1-6-i486.iso) live iso, просто измените размер, и вы готовы идти.

Но на этот раз Ubuntu был установлен с LVM.

Итак, раздел Ubuntu имеет значок замка рядом с ним. Это мешает мне что-либо делать, я могу выбрать раздел, и есть опция для «деактивировать», которая, если я верен, я считаю, деактивирует своп? Если я сделаю это, я могу манипулировать разделом.

Я спрашиваю здесь, если это правильно, прежде чем я разрушу свою систему.

  1. Загрузись с живого gparted iso.
  2. Выберите раздел Ubuntu.
  3. «Деактивировать» раздел.
  4. Изменить размер раздела.
  5. «Активировать» раздел.
  6. Подать заявление.
  7. Прибыль ???

Правильно ли мое мышление?

Редактировать # 1

Итак, после некоторого расширенного чата я пришел к этой команде

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

Который успешно сократил логический раздел.

Gparted New Shot

Но теперь у меня есть сложная часть.

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

Поэтому я думал, что смогу бежать

pvresize --setphysicalvolumesize {any size here} /dev/sda5

Но я вернусь

/ dev / sda5: невозможно изменить размер до экстентов ххххх, поскольку выделяются более поздние.

Который я полагаю, из-за обмена из-за этого изображения:

Черт своп!так, каков мой следующий шаг?

$: lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu/root
  LV Name                root
  VG Name                ubuntu
  LV UUID                G7Z3dA-xska-8QpO-Y5oD-aIVO-D8l1-22s6dO
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:02 +1300
  LV Status              available
  # open                 1
  LV Size                540.42 GiB
  Current LE             138348
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/ubuntu/swap_1
  LV Name                swap_1
  VG Name                ubuntu
  LV UUID                14qpRy-H5jl-dTAq-CVle-k7Bz-95Rm-Y46zOs
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2013-01-29 22:06:04 +1300
  LV Status              available
  # open                 2
  LV Size                7.97 GiB
  Current LE             2041
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Дополнительная информация перед редактированием # 1

Скриншот Gparted
Обратите внимание, что приведенный выше снимок взят из версии Gparted в репозиториях Ubuntu, а не из последней версии.

Мэтью @ play: ~ $ sudo fdisk -l

Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c5bec

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758  1465147391   732322817    5  Extended
/dev/sda5          501760  1465147391   732322816   8e  Linux LVM

Disk /dev/mapper/ubuntu-root: 741.3 GB, 741334843392 bytes
255 heads, 63 sectors/track, 90128 cylinders, total 1447919616 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu-swap_1: 8560 MB, 8560574464 bytes
255 heads, 63 sectors/track, 1040 cylinders, total 16719872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/ubuntu-swap_1 doesn't contain a valid partition table

Мэтью @ play: ~ $ sudo lvs

  LV     VG     Attr     LSize   Pool Origin Data%  Move Log Copy%  Convert
  root   ubuntu -wi-ao-- 690.42g                                           
  swap_1 ubuntu -wi-ao--   7.97g  

Мэтью @ play: ~ $ sudo vgs

  VG     #PV #LV #SN Attr   VSize   VFree
  ubuntu   1   2   0 wz--n- 698.39g    0 

Мэтью @ play: ~ $ sudo Pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 
Hailwood
источник
Убедитесь, что вы используете последнюю версию GParted (только недавно полученную поддержку LVM - так что просто заметка для других читателей). И деактивация, я думаю, деактивация группы томов ( vgchange -an myvgname), которая может потребоваться, если вы собираетесь изменить физический том. :) О, это почти ответ.
gertvdijk
Более подробная информация предоставляется.
Hailwood
@gertvdijk Звоните мне в чат, если вам нужна какая-то быстрая информация.
Hailwood
Это было решено? Я ищу сокращение физического раздела для установки другой версии ОС рядом.
Jamess

Ответы:

17

Это все шаги, необходимые для изменения размера раздела LVM или LVM2 -

sudo lvresize --verbose --resizefs -L -150G /dev/ubuntu/root

sudo pvresize --setphysicalvolumesize {any size here} /dev/sda5

/dev/sda5: cannot resize to xxxxx extents as later ones are allocated.

Вы должны переставить нераспределенное пространство в конце LVM. Это означает, что после раздела root и swap_1. Итак, вам нужно переместить это свободное место с помощью команды ниже

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn 0 free                          
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz swap 0 linear /dev/sda5:yyy-zzz

Теперь используйте команду ниже, чтобы удалить внешнюю фрагментацию -

sudo pvmove --alloc anywhere /dev/sda5:yyy-zzz

Теперь давайте посмотрим, как это происходит -

pvs -v --segments /dev/sda5

This will show the output like below
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g 0 xxx root 0 linear /dev/sda:0-xxx
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g xxx nnn swap 0 linear /dev/sda5:xxx-yyy(-1)
/dev/sda5 ubuntu lvm2 a-- 698.04g 150g yyy zzz 0 free

После этого используйте gparted и измените размер LVM до максимально используемой области, а остальное будет в нераспределенном пространстве. Наслаждаться...

UJJAL
источник
7

Я бы, теперь, когда у вас есть меньший корневой LV, lvremoveподкачка LV и воссоздать его. Это должно заставить его быть непосредственно добавленным к корневому LV с точки зрения положения. Как только это будет сделано, вы должны быть в состоянии pvresizeфизического объема. Затем редактирование таблицы разделов ( fdisk) - это страшная задача - уменьшить размер раздела до нового размера PV, освобождая тем самым пространство для использования установщиком Windows.

Для уменьшения размера раздела я бы рекомендовал увеличить его на несколько МБ немного больше, чем PV сообщает о его размере, а также увеличить PV и корневой LV, чтобы заполнить свободные экстенты. Таким образом, вы можете быть уверены, что вы: а) используете все размеры раздела для LVM и не теряете пространство, делая его недоступным, и б) не обрезаете жизненно важные данные с PV, неправильно интерпретируя двоичные KiB / MiB / GiB для десятичных КБ / MB / GB или наоборот во время операции fdisk.

Новый своп, если вы создадите новый, чтобы убедиться, что он добавлен в корневой LV, как я предлагаю выше, будет иметь другой UUID, и поэтому ваш / etc / fstab не будет совпадать. Как только изменение размера будет завершено, вам нужно будет mount /dev/ubuntu/root /mntотредактировать / mnt ** / etc / fstab **.

В файле fstab вам нужно найти запись подкачки, аналогичную приведенной ниже, и обновить шестнадцатеричное число после UUID = значением, сообщенным с помощью blkid.

Шаги для blkidмоей системы следующие:

  1. бег

    blkid /dev/ubuntu/swap_1
    

    какие выводы

    /dev/ubuntu/swap_1: UUID="9e99b37a-38af-4987-85eb-92048abd9825" TYPE="swap"
    
  2. скопируйте значение UUID

    9e99b37a-38af-4987-85eb-92048abd9825

  3. отредактируйте / etc / fstab из корневого LV и вставьте значение UUID вместо старого UUID.

    находить

    UUID=**old-uuid** none swap sw 0 0
    

    замените свой новый UUID вместо старого UUID

    UUID=9e99b37a-38af-4987-85eb-92048abd9825 none swap sw 0 0
    

    в качестве альтернативы, вы можете заменить механизм UUID и использовать /dev/ubuntu/swap_1, например,

    /dev/ubuntu/swap_1 none swap sw 0 0
    
Даниэль Ллевеллин
источник
Эта процедура вместе с вопросом редактирования помогла мне изменить размер раздела. Я не смог найти команду lvdelete (12.04) и использовал lvremove для удаления раздела подкачки. Pvresize работал как шарм. Затем я использовал gparted live CD, чтобы изменить размер раздела, чтобы уменьшить его. завершил операцию и был создан нераспределенный размер. Я хотел бы предложить, чтобы спрашивающий должен создать полный ответ.
Jamess
Я случайно не использовал UUID (я его поменял, не помню), может систьем никогда не использовал UUID для подкачки. Так что я мог пропустить шаги редактирования UUID.
Jamess
Как воссоздать своп lv 1. Создайте -L 5G -n / dev / vg0 / swap_1 2. mkswap / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, затем проверьте записи в / etc / fstab и, если необходимо изменить UUID.
Jamess
Спасибо за упоминание о lvdeleteнеправильности в моем ответе. Теперь я исправил текст, чтобы привести правильное lvremoveимя.
Даниэль Ллевеллин
6

Используйте KVPM из Центра программного обеспечения. Я установил Ubuntu 14.10 LTS, используя весь диск одним огромным LVM (я знаю, в чем смысл одного огромного LVM), но хотел добавить еще два LVM для другой ОС и накопителя данных. Я использовал KVPM, он говорит, что в описании менеджера разделов KDE, но он прекрасно работает на 14.04. Вот шаги.

  1. Скачайте 14.04LTS и создайте загрузочный USB.
  2. Загрузитесь с USB, используя опцию TRY UBUNTU, чтобы вы работали на USB-накопителе.
  3. Установите KVPM из Центра программного обеспечения.
  4. Запустите KVPM из терминала по вашему выбору,

    sudo kvpm- если вы просто запустите kvpm, live CD выдаст вам ошибку и зависнет.

  5. Как только kvpm открыл графический интерфейс, перейдите на вкладку с названием some_drive-vg

  6. Выделите объем, который необходимо изменить, и щелкните правой кнопкой мыши параметры, выберите «Уменьшить объем».
  7. Вы можете поменять LVM одновременно с вводом нового размера.
  8. Следуйте инструкциям, чтобы подтвердить изменения и вуаля, у вас будет нераспределенное свободное пространство.
  9. Вы можете сделать столько новых LVM, сколько вам нужно с доступным пространством. Мой дисплей показывал ярко-зеленое нераспределенное пространство, просто щелкните правой кнопкой мыши зеленое пространство, единственной опцией будет «Создать новый логический том».

Мне потребовалось больше времени, чтобы написать это, чем выполнить весь процесс.

Кстати, размер раздела / root, который я изменил, прекрасно работает после всех изменений. Просто перезагрузите жесткий диск в выбранной вами ОС и наслаждайтесь новыми найденными томами.

RCF
источник
0

KVPM - это путь, перезагрузка не требуется.

  1. Щелкните правой кнопкой мыши Размонтировать раздел
  2. уменьшить размер
  3. щелкните правой кнопкой мыши другой раздел увеличить размер
  4. перемонтировать оригинальный раздел

СДЕЛАННЫЙ!

Cparello
источник