Linux уменьшить размер root

Обновлено: 05.07.2024

Имеется 4 раздела ЖД.В корневом разделе не хватает места.Можно-ли изменить его размер,убавив размер HOME,не теряя даных в разделах?Если можно,надо-ли ,прежде чем менять их размер, размонтировать эти разделы(корневой,Home).

Если не используется LVM(по всей видимости не используется), то размонтировать разделы нужно. Просто загрузись с live-cd и заюзай утилиту gparted.

Если /boot находится не на отдельном разделе а в корне, то возможно придётся переставить загрузчик. (по крайней мере lilo нужно) Это можно сделать с этого же загрузочного диска.

Но ведь в самой Mandrive под рутом есть утилита разметки разделов ЖД,а раздела у Mandrivы три :/,swap,home.

Да,еще, используется grab,на home полезного два файла nvidia и wine и то установленные,тут в принципе и терять нечего ,верней не жалко,боюсь за корневой,и теперь озадачили вы ,NAO, меня с загрузчиком .А liveCD нету.

покажи fdisk -l /dev/твой_диск
Если /home физически находится после / и его (/home) можно убить, то все можно сделать из single mode.

>покажи fdisk -l /dev/твой_диск Если /home физически находится после / и его (/home) можно убить, то все можно сделать из single mode.

Я новичек в linux.Физический диск один.Четыре раздела:на первом винда,2-/,3-swap,4-home.


ИМХО, здесь уж лучше пертащить часть каталогов, например /var/log, каталоги с man-ами и другими доками в home раздел, сделав на них символические ссылки. Просто и безопастно.

255 heads,63 sectors/trak, 30401 cylinders

units= цилиндры of 16065 * 512 = 8225280 bytes

disk identifier: 0xbbb5bbb5 /dev/sda1 1 17592 141307708+ 7 hpfs/ntfs

/dev/sda2 17593 30401 102888292+ 5 расширенный

/dev/sda3 17593 18611 8185086 83 linux своп/solaris

/dev/sda4 18612 19120 408851 82 linux /dev/sda5 19121 30401 90614601 83 linux

>/dev/sda1 1 17592 141307708+ 7 hpfs/ntfs

>/dev/sda2 17593 30401 102888292+ 5 расширенный >/dev/sda5 17593 18611 8185086 83 linux >/dev/sda6 18612 19120 408851 82 linux своп/solaris

>/dev/sda7 19121 30401 90614601 83 linux

Так вернее будет.

>Если /home физически находится после / и его (/home) можно убить, то все можно сделать из single mode.

впринципе можно конечно, но автору всё же наверно не стоит рекомендовать менять размер партиции со смонтированной фс. тем более насколько я знаю большинство "user-friendly" утилит (cfdisk,gparted) откажутся работать со смонтированными разделами.

можно воспользоваться установочным диском с которого ставили свой дистр) правда я не уверен будет ли там parted)

>/dev/sda1 1 17592 141307708+ 7 hpfs/ntfs
>/dev/sda2 17593 30401 102888292+ 5 расширенный
>/dev/sda5 17593 18611 8185086 83 linux
>/dev/sda6 18612 19120 408851 82 linux своп/solaris
>/dev/sda7 19121 30401 90614601 83 linux

если sda5 это /, а sda7 это home то проще всего будет:
1) загрузиться с установочного диска и зайти в консоль и запустить parted
2) прибить своп и хоум
3) увеличить размер /
4) создать заново своп и хоум

под виндой можно прекрасно изменить размер каким нить Acronis Disk Directorom .

>под виндой можно прекрасно изменить размер каким нить Acronis Disk Directorom .

Некоторые установщики Linux создают большой раздел /home, если для системных служб необходимо больше места на разделе / (root), можно изменить конфигурацию LVM разделов без перезагрузки сервера.

До изменений раздел / (root) заполнен на 98%, и имеются свободные 141GB на партиции /home

1. Отмонтируем раздел /home

Для успешного отключения раздела, остановите сервисы работающие на нем, а также выйдите из системы всеми пользователями кроме root

2. Уменьшаем размер раздела /home до 20GB, (Система попросит провести проверку тома коммандой e2fsck)

3. Уменьшаем LVM том /dev/mapper/vg_oracle-lv_home до 20G

4. Расширяем LVM том /dev/mapper/vg_oracle-lv_root до максимально возможного размера.

5. Увеличиваем раздел /root (ext3/4) используя все свободное место.

6. Монтируем /home

Теперь в корневом разделе сервера 72% свободного места.

TL;DR

Уменьшение раздела /home (/dev/mapper/vg_oracle-lv_home) до 20GB и перенос свободного места в корневой раздел диска /root (/dev/mapper/vg_oracle-lv_root):

12 thoughts on “ Изменение размеров разделов LVM ”

Thank you very much,
just resized my filesystem with no issues.

Worked perfectly for me. Thanks for putting this up!

This is common error, try following:

1. change your directory to something not /home (cd /root)
2. check who is logged in to the box by running who, ask them to log off/ kill their pts process (ps -dN|grep pts/3)
3. if you have services running from home, stop them

perfect documents sucessfully shirnk home partition and increase root on centos 6.5

I have applied this in my Centos (2.6.32-431.29.2.el6.x86_64) server and it works fine !!

It worked flawlessly on OEL 6.8.Thanks for the excellent tip

I closely followed the instructions, but have an issue after step 2.
I successfully (without errors) ran
e2fsck -f /dev/my_home
resize2fs /dev/my_home 426G

The initial size of /home was 436G, so I tried to reduce by about 10G. I still had about 40G free space in /home.

When I want to run

lvreduce -L 426G /dev/my_home

I obtain an error that the location does not exists. Checking with
df
shows that /dev/my_home does not exist anymore. Any idea what happened?

Как изменить размер раздела Linux

Изменение размеров логических томов в Linux осуществляется сложнее, нежели в Windows, что связано с особенностями использования консольных команд и доступных графических приложений. Однако эта задача под силу любому пользователю, и приведенные далее инструкции помогут разобраться с тем, как выполнить ее быстро.

Работа с разделами в GParted

Не все юзеры Linux предпочитают использовать терминал, когда можно обойтись без него. К тому же новички в этой операционной системе не особо желают разбираться с активацией сложных команд. Поэтому в качестве первого варианта предлагаю ознакомиться с использованием программы GParted, которая представляет собой полноценную систему управления дисками.

GParted по умолчанию установлена в большинстве популярных дистрибутивов и их оболочках. Однако если при запуске окажется, что она отсутствует, используйте менеджер приложений или пользовательские репозитории для стандартной процедуры инсталляции. После этого приступайте к выполнению следующей инструкции.

Если все пространство уже распределено по разделам, учитывайте, что сначала его придется вернуть к нераспределенному, сжав один или несколько логических томов. Затем свободные мегабайты уже можно будет отнести к новому тому, расширив его.

Меняем размер разделов диска с помощью fdisk

Более гибкий, но сложный вариант изменения размера диска в Linux подразумевает использование консольной утилиты fdisk. Для выполнения расширения тома на все свободное пространство понадобится выполнить более десятка разных действий, но на все про все уйдет не больше 10 минут.

Просмотр списка дисков перед изменением размера в Linux

  1. Если вы пока не знаете, под какими метками располагается сам диск и его логические тома, используйте команду sudo fdisk -l, отобразив список со всеми секторами.
  2. Используйте команду umount /dev/sdb2 для размонтирования раздела. Замените его название на необходимое и учитывайте, что корневой том размонтировать так просто нельзя, понадобится загрузка с LiveCD.
  3. Далее укажите fdisk /dev/sdb , подключившись тем самым к указанному диску.
  4. Посмотрите все разделы, введя p и нажав на Enter .
  5. За удаление отвечает d; после активации этого атрибута понадобится ввести цифру раздела, который вы хотите удалить (при этом форматирования не происходит, все данные сохраняются).
  6. Последовательно активируйте n (новый раздел), p (основной) и 2 (замените на номер тома). При появлении уведомления о создании первого и последнего сектора подтверждайте операцию нажатием на Enter .
  7. Проверьте список томов еще раз через p , а затем нажмите w для сохранения изменений.

Осталось только указать файловой системе, что размер тома был расширен до максимального, поскольку пока отображается старое значение. Для этого сначала определите используемую файловую систему через df -T . Введите одну из трех следующих команд, отталкиваясь от полученной информации:

Для ext2/ext3/ext4 :

XFS :

Reiserfs :

В командах номера разделов указаны в качестве примеров, вы же заменяете их на свои. Еще оставлю пример команды для монтирования диска, если ранее он был отключен:

Сделать это нужно уже после внесения всех изменений.

Для уменьшения размера раздела используйте последовательность команд:

После ввода последней снова используйте последовательную активацию букв так, как это было показано в предыдущей инструкции, чтобы создать новый раздел. Кроме того, не забудьте смонтировать его обратно!

Изменение размера дисков LVM


На днях пришлось менять диски на сервере CentOS 6.7. Старые диски хоть и рабочие еще, но с нагрузкой не справлялись. Поэтому раскошелились и купили SSD диски такой же емкости, как и старые. Но т.к. стоимость 1 Гб на SSD диске намного дороже, то посмотрев на размер /var (180 Гб) и / (корневой раздел) 300 Гб, само собой напросилось решение увеличить размер / за счет уменьшения размера /var. Идея, конечно, хорошая, но раньше я никогда таким не баловался, поэтому провел выходные на форумах, проверил сначала все на виртуальной машине без raid, потом подумал, что на моем сервере работает софтовый raid1 и сделал тестовый стенд (на старый комп поставил CentOS 6.7 с двумя дисками в программном raid1) и проверил все на нем, потом уже выполнил повторно на рабочем сервере. Но все же волнительно было, чего уж. Итак, поехали!

Совет: если вы раньше никогда не развлекались изменениями разделов, никогда не пробуйте это делать на рабочем компьютере.

Итак, есть система из двух дисков, объединенных в raid1 (зеркало).

Разбивка примерно такая:

/dev/sda:
/dev/sda1 200 Мб, /dev/md0
/dev/sda2 480 Гб, /dev/md1

/dev/sdb:
/dev/sdb1 200 Мб, /dev/md0
/dev/sdb2 480 Гб, /dev/md1

/dev/md0 отдан под /boot

На /dev/md1 тома LVM:
/dev/VolGroup/LogVol00 swap 2 Гб
/dev/VolGroup/LogVol01 /var 180 Гб, ext4
/dev/VolGroup/LogVol02 / 300 Гб, ext4

Для чего я привел пример разбивки? Чтобы вы обратили внимание, что мы в дальнейшем ни разу не будем ресайзить тома на устройствах /dev/sdXY. Мы все изменения разделов будем проводить только с логическими томами LVM!

Задача: изменить размер /var до 30 Гб и отдать все освободившееся место в / (корень). Файловая система обоих разделов ext4. Система CentOS 6.7.

Шаг 1: уменьшаем /var

В моем случае (софтовый raid1) я сначала проверил на всякий случай, что все диски подключены и ошибок нет (cat /proc/mdstat).

Я не был уверен, что размонтировать /var (umount /var) в рабочем режиме хорошая мысль, поэтому загрузился с LiveCD CentOS в Rescue Mode (можно было войти в single mode и без LiveCD).

Проверяем доступность физического тома LVM:

Проверяем доступность групп томов:

Активируем логические тома:

Смотрим логические тома:

Можно посмотреть подробности тома /dev/VolGroup/LogVol01 (он у нас /var):

а можно и не смотреть.

Все вышеуказанные проверки служат для того, чтобы вы были уверены, что тома LVM видны и активны и чтобы вы понимали, с каким именно томом вам следует проводить дальнейшие дествия. Идем дальше.

Отмонтируем том, который у нас /var и который будет уменьшать:

Выполняем проверку файловой системы тома:

Команда должна пройти без ошибок.

Выполняем проверку на наличие ошибок (-f - force):

Сначала уменьшаем размер файловой системы тома:

resize2fs -p /dev/VolGroup/LogVol01 30G

Внимание: здесь "30G" - это размер, который мы хотим задать для файловой системы, а не на который мы хотим уменьшить файловую систему.

И только после этого изменяем размер тома LVM:

Теперь можно и не монтировать обратно раздел, а сразу перезагрузиться и проверить, что все ок, система загружается, df -h выдает размер /var равным 30 Гб.

Шаг 2: увеличиваем размер тома LVM (который у нас / ) без перезагрузки

Да, вы не очитались. Чтобы увеличить размер тома LVM нам не придется загружаться в single mode (или через LiveCD в Rescue mode).

На всякий случай, чтобы не перепутать, какому тому вы хотите отдать свободное место, выполните cat /etc/fstab и lvscan, убедитесь, что раздел / (корень) - это /dev/VolGroup/LogVol02, а не что-то иное ;)

Именно так, без пробелов между -l (это маленькая L) и +100%FREE. Заметьте, я не стал указывать, на сколько точно я хочу увеличть размер тома. В данной ситуации мне это было не нужно и чтобы не гадать, сколько конкретно надо добавить Гбайт, я просто указал, чтобы было добавлено все, что можно. man lvextend для ознакомления с вариациями -L+100G ;) Опция -r указывает на то, чтобы был выполнен ресайз файловой системы после увеличения логического тома. Без этой опции команды было бы две:

После успешного завершения я бы перезагрузился и проверил, что все ок.

Естественно, все вышеописанное может дать сбой на любом этапе, хотя бы из-за сбоя электропитания. Поэтому если данные на изменяемых разделах хоть как-то важны, вы должны иметь их копию.

Все вышеперечисленное верно для CentOS. Для Ubuntu вроде бы все то же самое. Думаю (не знаю) что для всех современных Linux все команды такие же.

Читайте также: