Форум русскоязычного сообщества Ubuntu
Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
- Форум русскоязычного сообщества Ubuntu »
- Архив »
- Архив »
- Архив тем до 2020г »
- Увеличение корневого раздела на уже установленной системе
Страницы: [1] 2 3 Все Вниз
Автор Тема: Увеличение корневого раздела на уже установленной системе (Прочитано 32286 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Страницы: [1] 2 3 Все Вверх
- Форум русскоязычного сообщества Ubuntu »
- Архив »
- Архив »
- Архив тем до 2020г »
- Увеличение корневого раздела на уже установленной системе
Страница сгенерирована за 0.045 секунд. Запросов: 23.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как увеличить размер корневого каталога linux
После расширения основного диска ВМ через панель управления облаком, диск увеличится, а раздел — не всегда. Ниже будет описано, как «вручную» расширить раздел диска внутри ОС.
До начала выполнения действий по данной инструкции советуем проверить, прошёл ли ваш сервер базовую настройку
Важно. Сделайте резервную копию всего диска перед началом работ (можно сделать snapshot, в случае с ВМ)
В нашем случае, расширим диск с 10-и до 60-и GB,
1. Сначала посмотрим «карту» диска:
# lsblk
Получается, нам нужно расширить раздел sda2
2. Проверим размер диска и томов:
# parted print
Видно, что размер диска якобы 64 GB, а оба раздела в сумме явно дают больше 10-и GB. Происходит это из-за разночтений правил подсчёта данных/информации (1 килобайт = 1000/1024 байт)
3. Создаём на диске новый раздел:
# fdisk /dev/sda
4. Проверяем состояние диска, затем записываем изменения на диск и перезапускаем ВМ:
5. Расширяем раздел. Точнее, мы объединим два раздела (sda2 и sda3, в нашем случае) путём «сшивания» их в одну volume-group. Для начала посмотрим список всех логических уровней и групп:
# lvdisplay
5.1 Объединяем разделы (используем VG Name и LV Path соответственно):
# vgextend centos /dev/sda3 # lvextend -l +100%FREE /dev/centos/root
6. Последний шаг, актуальный для версии
CentOS 7 и выше, а также современные версии ОС Ubuntu, Debian и др.:
# xfs_growfs /dev/mapper/centos-root
# resize2fs -p /dev/mapper/centos-root
Изменение размера корневого раздела
Имеется 4 раздела ЖД.В корневом разделе не хватает места.Можно-ли изменить его размер,убавив размер HOME,не теряя даных в разделах?Если можно,надо-ли ,прежде чем менять их размер, размонтировать эти разделы(корневой,Home).
anonymous
02.04.08 07:43:35 MSD

Re: Изменение размера корневого раздела
Если не используется LVM(по всей видимости не используется), то размонтировать разделы нужно. Просто загрузись с live-cd и заюзай утилиту gparted.
Если /boot находится не на отдельном разделе а в корне, то возможно придётся переставить загрузчик. (по крайней мере lilo нужно) Это можно сделать с этого же загрузочного диска.
Nao ★★★★★
( 02.04.08 08:44:56 MSD )
Ответ на: Re: Изменение размера корневого раздела от Nao 02.04.08 08:44:56 MSD
Re: Изменение размера корневого раздела
Но ведь в самой Mandrive под рутом есть утилита разметки разделов ЖД,а раздела у Mandrivы три :/,swap,home.
anonymous
( 02.04.08 08:56:04 MSD )
Ответ на: Re: Изменение размера корневого раздела от anonymous 02.04.08 08:56:04 MSD
Re: Изменение размера корневого раздела
Да,еще, используется grab,на home полезного два файла nvidia и wine и то установленные,тут в принципе и терять нечего ,верней не жалко,боюсь за корневой,и теперь озадачили вы ,NAO, меня с загрузчиком .А liveCD нету.
anonymous
( 02.04.08 09:08:48 MSD )
Re: Изменение размера корневого раздела
покажи fdisk -l /dev/твой_диск
Если /home физически находится после / и его (/home) можно убить, то все можно сделать из single mode.
sdio ★★★★★
( 02.04.08 10:25:59 MSD )
Ответ на: Re: Изменение размера корневого раздела от sdio 02.04.08 10:25:59 MSD
Re: Изменение размера корневого раздела
>покажи fdisk -l /dev/твой_диск Если /home физически находится после / и его (/home) можно убить, то все можно сделать из single mode.
Я новичек в linux.Физический диск один.Четыре раздела:на первом винда,2-/,3-swap,4-home.
anonymous
( 02.04.08 10:54:03 MSD )
Ответ на: Re: Изменение размера корневого раздела от anonymous 02.04.08 10:54:03 MSD
Re: Изменение размера корневого раздела
как рут запусти команду: # fdisk -l /dev/sda (или fdisk -l /dev/hda) и покажи вывод
sdio ★★★★★
( 02.04.08 11:52:34 MSD )
Ответ на: Re: Изменение размера корневого раздела от anonymous 02.04.08 10:54:03 MSD

Re: Изменение размера корневого раздела
ИМХО, здесь уж лучше пертащить часть каталогов, например /var/log, каталоги с man-ами и другими доками в home раздел, сделав на них символические ссылки. Просто и безопастно.
mky ★★★★★
( 02.04.08 11:57:11 MSD )
Ответ на: Re: Изменение размера корневого раздела от sdio 02.04.08 11:52:34 MSD
Re: Изменение размера корневого раздела
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
anonymous
( 02.04.08 13:37:13 MSD )
Ответ на: Re: Изменение размера корневого раздела от anonymous 02.04.08 13:37:13 MSD
Re: Изменение размера корневого раздела
>/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
Так вернее будет.
anonymous
( 02.04.08 14:41:05 MSD )
Ответ на: Re: Изменение размера корневого раздела от sdio 02.04.08 10:25:59 MSD

Re: Изменение размера корневого раздела
>Если /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) создать заново своп и хоум
Инструкция: как расширить файловую систему в Linux. Часть 1

Чаще всего задача расширить файловую систему возникает при работе с облачной инфраструктурой. Виртуализация позволяет экономить на дисковом пространстве и выделять его столько, сколько необходимо в конкретный момент. Но простого расширения ресурсов недостаточно, об изменениях необходимо сообщить операционной системе. Сегодня ведущий архитектор #CloudMTS Дмитрий Фисенко в формате пошагового туториала расскажет, как это сделать.
Материал будет интересен начинающим системным администраторам, а также разработчикам, которые хотят ближе познакомиться с файловыми системами.
Подготовительная работа
Мы рассмотрим сценарии с двумя вариантами разметки диска — с использованием LVM и логических разделов, а также без них. Поскольку мы будем работать в облачной среде, где важны доступность и непрерывность сервисов, сфокусируемся на подходах, позволяющих расширить файловую систему без перезагрузки виртуальной машины (хотя сделать это не всегда возможно).
В рамках руководства нам также потребуется утилита growpart. К сожалению, нельзя просто так взять и расширить смонтированную файловую систему. Стандартные утилиты вроде fdisk или GParted предлагают предварительно размонтировать раздел. Вот команды установки growpart для различных семейств Linux-систем:
apt-get install cloud-utils-growpart yum install cloud-utils-growpart dnf install cloud-utils-growpart
Также рекомендуем сформировать на виртуальной машине точку восстановления (snapshot) на случай, если что-то пойдет не по плану.
Когда нет LVM
Рассмотрим задачу, когда на диске присутствует два раздела — загрузочный и корневой. Они смонтированы в произвольную точку. Вот как это выглядит в графическом интерфейсе GParted:

Расширять будем корневой раздел. Первым делом необходимо увеличить доступный объем жесткого диска через панель управления облачной инфраструктурой #CloudMTS — с 7 до 8 Гбайт.

Увеличение диска займет какое-то время, а мы вернемся на тестовый стенд. Отобразим структуру разделов с помощью команды:
parted /dev/sdb/ print free
Параметры print и free отвечают за отображение структуры разделов и неразмеченного пространства.

Мы увеличили объем диска, но все равно не видим в выдаче команды parted свободную память. Можно перезагрузить сервер, но мы решили, что по возможности не будем останавливать виртуальную машину. Вместо этого, выполним команду:
echo 1 > /sys/block/sdb/device/rescan

Если мы попытаемся снова отобразить структуру разделов командой parted , то увидим предупреждение. Мы используем таблицу разделов в формате GPT. Информация о ней хранится в начале и в конце диска (для резервирования). Когда мы увеличили объем физического накопителя, сменился конец адресного пространства. Система предлагает автоматически переместить резервные файлы. Соглашаемся и пишем в командной строке fix.

Появилось свободное дисковое пространство в размере одного гигабайта:

Прежде чем перейти к расширению файловой системы, необходимо разметить новое пространство и расширить сам раздел. Здесь нам пригодится утилита growpart — выполним команду:
growpart /dev/sdb 2

Мы расширили раздел, но файловая система осталась нетронутой. Вот как это выглядит в GParted:

Давайте расширим ФС командой resize2fs . Если у вас xfs, то нужно указывать точку монтирования. В случае с ext2, ext3 и ext4 достаточно выполнить команду с указанием блочного устройства, которое монтируется в файловую систему. Мы используем ext4, поэтому выполним:
resize2fs /dev/sdb2
Таким образом, мы успешно расширили файловую систему до размера диска.

Теперь рассмотрим другую ситуацию, когда ФС находится в логическом диске, созданном в расширенном разделе. Так структура выглядит в древовидном формате:

У нас два основных раздела — sdc1 и sdc2. Второй — расширенный, и внутри него можно сформировать неограниченное количество новых разделов. Перейдем в облачную панель управления и увеличим диск на один гигабайт, а затем обновим информацию об устройстве sdc уже известной командой:
echo 1 > /sys/block/sdс/device/rescan
Конкретно этот диск мы разметили в формате MBR, поэтому здесь мы не видим предупреждений о переносе резервной копии таблицы разделов, как в случае с GPT.

Вернемся в консоль и отобразим информацию о диске:
parted /dev/sdb/ print free

Чтобы не захламлять выдачу, временно уберем отображение свободного пространства на диске:
parted /dev/sdb/ print

У нас есть три раздела: основной под номером один, расширенный и логический под номерами два и пять.
Чтобы понять, какие разделы находятся в extended, необходимо сверить их начало и конец. Здесь мы видим, что конец второго раздела соответствует концу пятого раздела — 5369 Мбайт. И размер последнего на один мегабайт меньше. Так мы можем утверждать, что пятый раздел находится во втором разделе.
Чтобы расширить пятый раздел, необходимо предварительно увеличить второй. Для этого выполним:
growpart /dev/sdc 2

Вот так результат команды будет выглядеть в графическом отображении:

Раздел extended был расширен до конца всего раздела — вокруг неразмеченной области появилась голубая рамка. Теперь расширим пятый раздел, который пока занимает 4,5 Гб из доступных 5,5 Гб. В консоли пишем:
growpart /dev/sdc 5

Теперь и желтая рамка, обозначающая пятый раздел, протянулась до конца физического диска. Но мы видим, что файловая система все еще заканчивается сильно раньше. В нашем примере мы используем файловую систему xfs, которая наиболее распространена на CentOS, хотя иногда её применяют и на Debian с Ubuntu.
Для расширения файловой системы выполним команду:
xfs_growfs /mnt/sdc5
Обратите внимание, что в случае с xfs мы указываем не само физическое устройство, а точку монтирования. В нашем случае это /mnt/sdc5 , но в частном случае это будет корень.

Вновь обращаемся к GParted и видим, что файловая система расширена до конца.

Если есть доп. разделы
Рассмотрим ситуацию, когда после расширяемого раздела идут другие — SWP, Home, Data и так далее.

В случае SWP облачная инфраструктура предлагает выход из ситуации. Мы можем выделить операционной системе столько памяти, чтобы ей вообще не приходилось применять своп. Затем раздел можно отключить из автозагрузки и удалить, а освободившееся дисковое пространство присоединить к целевому.
Есть и другой вариант, позволяющий сохранить SWP. С точки зрения виртуальной машины диск представляет собой файл в системе хранения данных с разными расширениями — например, VDI или VHDX. Мы можем изменить локацию SWP на файл в файловой системе, которую планируем расширять. Мы не будем говорить о переносе SWP в файл, так как это выходит за рамки нашего материала. Однако в интернете можно найти подробные руководства — вот одна из таких инструкций.
Если вместо SWP за целевым разделом следует раздел с данными, ситуация становится интереснее. К сожалению, в этом случае нельзя расширить файловую систему без простоя. Поэтому на реальной инфраструктуре лучше запланировать технологическое окно в вечернее время.
Для решения задачи мы воспользуемся GParted Live CD — скачать его можно на официальном сайте. Переходим на вкладку Download и загружаем образ.

Подключаем образ к виртуальной машине. Последовательность действий зависит от конкретной системы виртуализации. Загружаемся с диска и видим уже привычный графический интерфейс для расширения файловой системы. Как обычно, начинаем с увеличения доступного объема диска в панели управления облаком.

В этом примере разделом с данными выступает linux-swap. Обновляем информацию по разделам в консоли:
echo 1 > /sys/block/sdd/device/rescan
Затем — информацию в графическом интерфейсе. Видим неразмеченное дисковое пространство объемом в один гигабайт.

Расширим раздел extended до максимального размера. Для этого правой кнопкой мыши вызываем выпадающее меню и выбираем пункт Resize/Move.

Откроется новое всплывающее окно, в котором необходимо подвинуть ползунок в крайнее правое положение. И подтвердить операцию.
Далее открываем меню Resize/Move для раздела с данными — в нашем случае это linux-swap.

Мышкой перемещаем красную рамку в конец жесткого диска, подтверждаем операцию.
Теперь на главном экране раздел linux-swap находится в конце блока extended.

Далее остается произвести расширение целевого раздела и файловой системы.

В верхней части экрана нажимаем кнопку Apply All Operations.

Спустя какое-то время утилита применит все изменения.

У такого подхода есть одна серьезная проблема. Если раздел linux-swap довольно объемный, то его перемещение в конец диска может занять два-три часа. Все это время приложения и сервисы виртуальной машины будут простаивать. Вопрос можно решить, если сформировать в виртуальной инфраструктуре несколько дисков под каждый раздел. Так вы всегда сможете расширить условные /data и /root, поскольку они будут независимы друг от друга.
Другим решением, которое позволит избежать простоев, является разметка диска с помощью LVM.
Если есть LVM
К сожалению, для работы с LVM нет нормальных программ с графическим интерфейсом. Точнее, они есть, но не слишком информативные. Так с логическими томами приходится работать исключительно в командной строке.
В контексте LVM существуют физические тома (physical volume) — это целые неразбитые диски или их разделы. Внутри физических томов также есть разделы, объединённые в volume-groups. Эти группы, в свою очередь, дробятся на логические разделы — еще один уровень абстракции.
Что нам это дает? Рассмотрим два варианта разметки разделов диска. Чисто технически они ничем не отличаются — первый загрузочный, а второй физический том с LVM. В последнем случае он уже разбит на дополнительные разделы.

Может быть и следующая картина. Два раздела лежат в extended partition, а третий стоит отдельно, но добавлен в volume group. На отдельном диске дополнительно выделен раздел и также добавлен в эту группу.

Дополнительный уровень абстракции LVM позволяет нам расширять файловую систему вне зависимости от порядка разделов и предоставляет несколько подходов. Например, можно просто увеличить объём раздела, а можно создать новый и «приписать» его в логическую группу. Главное не переборщить с дроблением, чтобы разметку было проще читать.
Небольшая ремарка — если на диске есть раздел, который монтируется как блочное устройство и не участвует в LVM, то при расширении могут возникнуть проблемы. Здесь нужно или подключать образ Live CD, или перемещать раздел на отдельный виртуальный диск — тогда он не будет мешать увеличивать основной и логические разделы и volume groups.

Перейдем непосредственно к расширению файловой системы с LVM. На нашем тестовом стенде есть диск /dev/sde со следующей структурой:

В панели управления облаком увеличим объем диска на один гигабайт. Отобразим информацию о нем в консоли:
echo 1 > /sys/block/sdd/device/rescan parted /dev/sde/ print free
Мы видим, что у нас добавилось свободное дисковое пространство.

Разделы, использующие LVM, помечены соответствующим тегом. В этом конкретном примере мы будем увеличивать диск под номером три до необходимого нам объёма. Нам не придется ставить дополнительные утилиты, так как все инструменты по умолчанию присутствуют во всех популярных дистрибутивах Linux.
Мы воспользуемся возможностями parted . Но предварительно отобразим размер свободного пространства в мегабайтах для наглядности.
parted /dev/sde unit MB print free
Далее смотрим на ключевые столбцы — Start, End и Size. Свободное дисковое пространство заканчивается на точке в 6442 Мбайта.

Чтобы расширить последний раздел, прописываем команду:
parted /dev/sde resizepart 3 6441MB
Обратите внимание, что мы уменьшили цифровое значение в конце на один мегабайт. Проверим внесенные изменения:
parted /dev/sde print free
Свободное дисковое пространство уменьшилось до одного мегабайта, а наш второй раздел имеет объем в 3806 Мбайт.

Вернемся в GParted и обновим информацию по разделам. Сейчас LVM в /dev/sde3 не «растянут» до конца.

Посмотрим на объем текущего физического тома – для этого выполним:
pvdisplay

Как физические тома у нас помечены два устройства — sde2 и sde3. Последний имеет объем в 2,5 Гб, но в GParted эта цифра равна 3,5 Гб. Чтобы исправить ситуацию и синхронизировать значения, нужно выполнить команду:
pvresize /dev/sde3
Повторяем pvdisplay и видим, что объем физического раздела увеличился.

Визуальное отображение в GParted также изменилось:

Чтобы отобразить существующие логические разделы, обратимся к команде:
lvscan
В нашей группе томов присутствуют два логических раздела — root и data.

Мы можем увеличить любой из этих томов. Для примера расширим /root следующей командой:
lvextend /dev/vg/root -l +100%FREE -r
Ключ -r автоматически расширит и раздел, и файловую систему внутри него (как в случае с xfr, так и с ext). Переходим в GParted и видим, что операция выполнена успешно:

Теперь, если прописать в консоли df -h , мы увидим, что устройство dev/mapper/vg-root имеет объем в два гигабайта, хотя изначально его объем был равен одному гигабайту.

Как определить разметку
Поговорим о том, как понять, какая разметка у нас используется — с LVM или без? Если после выполнения команды df -h вы видите исключительно устройства типа /dev/sda — блочные устройства — то разметка выполнена без LVM. Также можно ввести команду lvscan . Если LVM не используется, то она ничего не отобразит. В противном случае покажет используемые логические разделы. На изображении ниже их два — root и data.

Иногда консоль может отобразить достаточно экзотические варианты, когда используется не dev, а dm0, dm1 и так далее. Чтобы понять, что это за устройства и какие логические разделы следует расширять, можно воспользоваться следующей командой. Она выведет всю информацию об устройствах.
lsblk --output NAME,KNAME,TYPE,SIZE,MOUNTPOINT

Например, мы видим, что dm-0 смонтирован в /mnt/sde-vg-root. Достаточно часто этот путь указывает в корень. И есть еще одна команда:
ls /dev/dm-*
Она отображает все устройства вида dm-*. Как видно на скриншоте ниже, в нашем случае их два.

Пока на этом всё. В следующей части поработаем с реальной виртуальной машиной на операционной системе Linux Mint.
P.S. Продолжается акция при запуске ИТ‑инфраструктуры IaaS c #CloudMTS.