Как сжать логические и физические тома Ubuntu LVM? - proUbuntu
Купить гитару в Москве
25 голосов
/

Я установил 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: невозможно изменить размер до экстентов xxxxx, поскольку выделены более поздние.

Я полагаю, это связано со свопом из-за этого изображения:

Darn Swap!, каков мой следующий шаг?

$: 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 Screenshot
Обратите внимание, что приведенный выше снимок взят из версии 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 

Ответы [ 4 ]

16 голосов
/

Это все шаги, необходимые для изменения размера раздела 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 до максимально используемой области, а остальные будут в нераспределенном пространстве. Наслаждайтесь ...

7 голосов
/

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

Для сокращения размера раздела я бы рекомендовал увеличить его на несколько МБ немного больше, чем PV сообщает о его размере, а также увеличить PV и корневой LV, чтобы заполнить свободные экстенты. Таким образом, вы можете быть уверены, что вы: а) используете все размеры раздела для LVM и не теряете место, делая его недоступным, и б) не обрезаете жизненно важные данные из PV, неправильно интерпретируя двоичные KiB / MiB / GiB для десятичных Кб / МБ / ГБ или наоборот во время операции 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
    
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 открыл GUI, перейдите на вкладку с названием some_drive-vg

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

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

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

0 голосов
/

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

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

СДЕЛАНО!

...