Як зменшити логічний та фізичний обсяги Ubuntu LVM?


26

Я встановив Ubuntu 12.10 як єдину ОС в моїй системі.

Я сказав Ubuntu переписати все так, як я поспішав, отже, у мене є лише два розділи, які створює Ubuntu, завантажувальний розділ пару сотень МБ, а потім все інше.

Основний розділ - близько 600 Гб,

Я хочу змінити розмір до 450 Гб, тому я можу встановити Windows 8 як подвійне завантаження.

Проблема полягає в тому, що я не можу розібратися, як зменшити розділ, як правило, це добре від живого iso Gparted (gparted-live-0.14.1-6-i486.iso), просто змініть розмір і вам добре йти.

Але цього разу Ubuntu було встановлено разом із LVM.

Отже, на розділі Ubuntu поруч є значок блокування. Це заважає мені робити що-небудь, я можу вибрати розділ, і є опція "деактивувати", яка, якщо я маю рацію, вважаю, що деактивація swap? Якщо я це зробити, я можу маніпулювати розділом.

Я запитую тут, чи правильно це робити перед тим, як розбити систему.

  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
Зауважте, що вищезазначений знімок зроблений із версії Gparted у сховищах Ubuntu, а не останньої версії

matthew @ 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

matthew @ 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  

matthew @ play: ~ $ sudo vgs

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

matthew @ play: ~ $ sudo pvs

  PV         VG     Fmt  Attr PSize   PFree
  /dev/sda5  ubuntu lvm2 a--  698.39g    0 

Переконайтеся, що ви запустили останню версію GParted (лише нещодавно отримали підтримку LVM - ви є, тому просто примітка для інших читачів). І дезактивація, я думаю, дезактивація групи гучності ( vgchange -an myvgname), яка може знадобитися, якщо ви збираєтеся змінити фізичну гучність. :) О, це майже відповідь.
gertvdijk

Більше деталей надано.
Гейлвуд

@gertvdijk Пінг мені в чаті, якщо вам потрібна швидка інформація.
Гейлвуд

Це було вирішено? Я шукаю зменшення фізичного розділу, щоб встановити іншу версію ОС поруч.
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 до максимально використовуваної площі, а відпочинок опиниться у нерозподіленому просторі. Насолоджуйтесь ...


7

Я б, тепер, коли у вас є менший кореневий LV, lvremoveпоміняйте LV і відтворіть його. Це повинно змусити його безпосередньо додаватися до кореневого LV з точки зору положення. Як тільки це буде зроблено, ви повинні мати можливість pvresizeфізичного обсягу. Тоді страшно в редагуванні таблиці розділів ( fdisk) зменшити розмір розділу до нового розміру фотографії, тим самим звільнивши місце для інсталятора Windows.

Для зменшення розміру розділу я рекомендую трохи пізніше збільшити, на кілька Мб, ніж PV повідомляє, що його розмір як і збільшити PV та root LV для заповнення вільних розширень. Таким чином, ви можете бути впевнені, що ви A) використовуючи весь розмір розділу для LVM і не втрачаючи місця, зробивши його недоступним, і B) не відсікаючи життєві дані з PV, неправильно інтерпретуючи двійкові KiB / MiB / GiB для десяткових Кб / МБ / ГБ або навпаки під час роботи fdisk.

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

У файлі fstab потрібно знайти запис swap, подібний до наведеного нижче, і оновити hexedcimal після 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 для видалення розділу swap. Pvresize працював як шарм. Потім я використовував gparted live CD, щоб змінити розмір розділу на менший розмір. завершено операцію і створений нерозподілений розмір. Я б сказав, що запитуючий повинен створити повну відповідь.
Jamess

Я випадково не використовував UUID (чи я його змінив, не пам’ятаю), можливо, система ніколи не використовувала UUID для своп. Тому я міг пропустити кроки редагування UUID.
Jamess

Як відтворити swap lv 1. lvcreate -L 5G -n / dev / vg0 / swap_1 2. mmwp / dev / vg0 / swap_1, swapon -s / dev / vg0 / swap_1, а потім перевірити записи / etc / fstab та якщо потрібна зміна UUID.
Jamess

Дякую за те, lvdeleteщо у моїй відповіді ви помилилися. Зараз я виправив текст, щоб цитувати належну lvremoveназву.
Даніель Ллевелін

6

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

  1. Завантажте 14.04LTS та зробіть завантажувальний USB.
  2. Завантажте з USB, використовуючи опцію TRY UBUNTU, щоб ви працювали на USB-накопичувачі.
  3. Встановіть KVPM з Software Center.
  4. Запустіть KVPM з обраного терміналу,

    sudo kvpm- якщо ви просто запустите kvpm, живий компакт-диск дасть вам помилку і зависне.

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

  6. Виділіть гучність, яку слід змінити, і клацніть правою кнопкою миші опції, виберіть зменшити гучність.
  7. Ви можете відновити LVM одночасно, коли ви введете новий розмір.
  8. Дотримуйтесь підказок, щоб OK змінити і voila, у вас буде нерозподілений вільний простір.
  9. Ви можете зробити стільки нових LVM, скільки вам потрібно, з наявного місця. На моєму дисплеї з'явився яскраво-зелений нерозподілений простір, просто клацніть правою кнопкою миші зелений простір, єдиним варіантом буде "Створити новий логічний том".

Написати це мені знадобилося більше часу, ніж це було для виконання всього процесу.

До речі, розділ / root я змінив розмір функцій ідеально після всіх змін. Просто перезавантажте свій жорсткий диск у вибраній ОС та насолоджуйтесь новими знайденими томами.


0

KVPM - це шлях, не потрібно перезавантажувати.

  1. Клацніть правою кнопкою миші Відключити розділ
  2. зменшити розмір
  3. клацніть правою кнопкою миші інший розмір розширення розділу
  4. відновити оригінальний розділ

Зроблено!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.