Centos 7 Розширити розділ з нерозподіленим простором


16

У мене є сервер centos 7 (CentOS Linux release 7.3.1611 (Core))Коли я був оновлений, я побачив помилку, вам потрібно додаткове місце. Але у мене був диск на 20 Гб на сервері, коли я перевіряв місця на диску, я бачив, що створений розділ лише 4,5 ГБ, а розділ 16 ГБ - це вільний простір, не виділений Як я можу розширити розділ на 16 Гб вільного місця?

lsblk:

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

введіть тут опис зображення


Відповіді:


22

Зробити три кроки:

  1. змінити таблицю розділів, щоб вона sda2закінчилася в кінці диска
  2. перечитайте таблицю розділів (потребуватиме перезавантаження)
  3. змінити розмір вашого LVM, використовуючи pvresize

Крок 1 - Таблиця розділів

Біжи fdisk /dev/sda. Проблема, pщоб надрукувати поточну таблицю розділів і скопіювати цей вихід у якесь безпечне місце. Тепер випуску з dподальшим 2видаленням другого розділу. Випуск nдля створення нового другого розділу. Переконайтеся, що старт дорівнює початку таблиці таблиці, яку ви надрукували раніше. Переконайтеся, що кінець знаходиться в кінці диска (зазвичай за замовчуванням).

Випуск tз 2подальшим 8eперемиканням типу розділу нового другого розділу на 8e (Linux LVM).

Проблема pпереглянути ваш новий макет розділу та переконатися, що початок нового другого розділу саме там, де був і другий другий розділ.

Якщо все виглядає правильно, задайте wзаписувати таблицю розділів на диск. Ви отримаєте повідомлення про помилку від partprobe про те, що таблицю розділів не вдалося перечитати (оскільки диск використовується).

Перезавантажте систему

Цей крок необхідний, щоб таблиця розділів перечитувалася.

Змініть розмір PV LVM

Після перезавантаження системи виклик системи pvresize /dev/sda2. Ваш фізичний об'єм LVM тепер буде охоплювати решту диска, і ви можете створювати або розширювати логічні томи в цьому просторі.


чудове рішення, воно працює чудово. ще лише частина, як розширити логічні обсяги.
Мімуні

1
Ця відмінна відповідь зупинилася трохи ближче до фінішної лінії! Я зрозумів, як це закінчити. Приклад розділяє в цьому питанні показав два логічних томів underneith sda2: centos-rootі centos-swap. У цьому випадку група томів є, centosі два логічні томи всередині цієї групи є rootі swap. Якби ми хотіли збільшити centos-rootгучність у цьому прикладі на 50% наявного простору в нашому щойно розширеному sda2розділі, ми б використали lvextend -r -l +50%FREE /dev/centos/root. -rЗмінює основну файлову систему відповідно до розширеним логічним томи.
Шадоніня

@Shadoninja, що виходить за рамки оригінального питання. Тож я не додав його і не буду його додавати до цього питання в майбутньому.
Андреас Рогге

@AndreasRogge Я б заперечував, що це повністю входить в рамки цього питання, оскільки термінологія в цьому просторі може бути заплутаною і простою. Варто опублікувати повне резюме того, як отримати нерозподілений простір на диску, використовуваний файловою системою, оскільки це буде надзвичайно поширеною причиною для людей, щоб знайти це питання.
Shadoninja

14

Це можна зробити без перезавантаження в CentOS 7. Припустимо, що ваш диск / dev / vda та стандартний розділ RHEL / CentOS:

Розгорніть розділ

# fdisk /dev/vda

Введіть pдля друку початкової таблиці розділів.

Введіть d(видаліть) з подальшим 2видаленням існуючого визначення розділу (розділ 1 зазвичай / завантажиться, а розділ 2 - зазвичай кореневий розділ).

Введіть n(новий), після чого p(первинний), після чого 2знову створіть розділ №2 та enterприйняти стартовий блок і enterзнову прийняти кінцевий блок, який за замовчуванням до кінця диска.

Введіть t(тип), а 2потім, 8eщоб змінити новий тип розділу на "Linux LVM".

Увійдіть, pщоб надрукувати вашу нову таблицю розділів і переконайтесь, що стартовий блок відповідає тому, що був у друкованій вище таблиці початкового розділу.

Введіть, wщоб записати таблицю розділів на диск. Ви побачите помилку, про Device or resource busyяку можете ігнорувати.

Оновіть таблицю розділів в пам'яті

Після зміни таблиці розділів виконайте таку команду, щоб оновити таблицю розділів ядра в пам'яті:

# partx -u /dev/vda

Змініть фізичний обсяг

Змініть розмір PV для розпізнавання додаткового простору

# pvresize /dev/vda2

Змініть розмір LV та файлової системи

У цій команді centosє PV, rootє LV і /dev/vda2є розділом, який був розширений. Використовуйте команди pvsта lvsкоманди, щоб переглянути свої фізичні та логічні назви томів, якщо ви їх не знаєте. -rВаріант в цій команді змінює файлову систему відповідним чином , вам не потрібно дзвонити resize2fsабо xfs_growfsокремо.

# lvextend -r centos/root /dev/vda2

Складніша відповідь, а потім «обрана відповідь»!
Фуркат У.

Це геніально. Дякую! Це має бути прийнятою відповіддю. Я пропустив останній крок, щоб змінити розмір lv та файлової системи!
Skinner927

4

Для тих, хто має проблеми з розширенням логічних томів, як я, читання цієї публікації може допомогти. Підсумовуючи це, ви можете використовувати lvextendдля розширення свого логічного обсягу: lvextend -l +<PE> <LV_PATH> ви можете отримати кількість залишилися PE ( <PE>) до vgdisplayта отримати шлях вашого логічного обсягу ( LV_PATH) на lvdisplay.

Тоді, залежно від вашого розповсюдження, ви або хочете xfs_growfs <LV_PATH>(Centos 7), або resize2fs <LV_PATH>остаточно змінити розмір.


0

Перевірте це - все в одному рядку, жодних питань:

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2

Слід розглянути можливість додавання пояснень та оточення. Наприклад, у мого partx немає опції -u(Centos6.7 util-linux-ng-2.17.2-12.28.el6).
Boop

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