LINUX.ORG.RU

Добавление размера разделу

 , ,


0

1

Приветствую, товарищи!

Ранее поставил себе Debian на VirtualBox. Раздел сделал 5 Гб, включая 1 Гб swap. Теперь стоит задача добавить места - стало маловато :) Через инструменты VirtualBox увеличил размер виртуального диска до 8 Гб и пытаюсь на уровне операционной системы тоже увеличить основной раздел Linux. При этом я отключил swap, убрал его из fstab и не пранирую использовать, соответстветно раздел этот можно снести.

Сейчас вот такая ситуация:

root@debian:~# lsblk 
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  7,9G  0 disk 
├─sda1   8:1    0  4,1G  0 part /
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0  975M  0 part 
sr0     11:0    1 1024M  0 rom  

Пытался сделать

root@debian:~# growpart /dev/sda 1
NOCHANGE: partition 1 could only be grown by 2046 [fudge=2048]

но это не дало результатов (хотя я в принципе понимаю почему - потому что раздел, который увеличиватеся должен быть последним перед свободным местом)

Мои вопросы:

  1. что это за раздел sda2 размером 1К? для чего он? можно ли его удалить?
  2. как удалить разделы sda2 (если он не нужен) и sda5 (swap)
  3. если я удалю разделы из п.2 - growpart и resize2fs будут выполнены успешно?

заранее спасибо за ответы

Тебе это для обучения или для практического использования? Во втором случае я бы создал второй новый виртуальный диск нужного объема, разметил как надо и скопировал в него всё со старого. А потом отсоединил от виртуалки старый диск. 5 Гб быстро скопируется

cobold ★★★★★
()

Если у тебя там MBR, то sda2 - это расширенный раздел для обхода ограничения на 4 раздела. Если у тебя там был только свап, то носи его через fdisk, например, и расширяй корень.

Radjah ★★★★★
()
Ответ на: комментарий от cobold

Даже если не учитывать ситуации когда твоя схема невозможна (например, на хосте нет места чтобы одновременно и старый и новый диск хранить), то она просто избыточна, лишние ненужные действия. Увеличение ext4-раздела - совершенно безопасная и простая операция, совершенно незачем для этого копировать 5ГБ куда-то.

firkax ★★★★★
()

sda2 это контейнер для разделов sda5,6,7 итд, тебе он не нужен, его тоже удаляй.

fdisk /dev/sda
Command (m for help): p
  -- покажет таблицу разделов
Command (m for help): d
Partition number (...): 5
...
Command (m for help): d
Partition number (...): 2
...
Command (m for help): w
После увеличения размера раздела, в зависимости от разных обстоятельств, иногда может потребоваться перезапустить систему, чтобы настройки (в т.ч. размер) устройства /dev/sda1 обновились до актуальных.

Свап всё-таки может пригодиться, и если будешь его делать - создавай просто как sda2 без расширенного раздела.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от cobold

Нет не подразумевает. С чего бы им теряться? Или ты про то что он может опечататься и удалить первый раздел, а затем ещё случайно dd if=/dev/zero of=/dev/sda сделать?

firkax ★★★★★
()

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

PunkPerson ★★
()
Последнее исправление: PunkPerson (всего исправлений: 1)
Ответ на: комментарий от dark-initr0

да, смонтирован и с него запущена система.

это не проблема, не слушай дилетантов

futurama ★★★★★
()
Ответ на: комментарий от PunkPerson

В man resize2fs написано

Modern Linux 2.6 kernels will support on-line resize for file systems mounted using ext3 and ext4; ext3 file systems will require the use of file systems with the re‐size_inode feature enabled.

точнее можешь найти в changelog этого мана или в changelog ядер 2.6. Но само по себе 2.6 означает, что уже больше 10 лет.

firkax ★★★★★
()
Ответ на: комментарий от PunkPerson

я пачил ядро в мандраке-мандриве знакому в 2003, чтобы работало. т.е. это уже тогда было и на ext2, ext3 ещё не массовоое было. считалось экспериментальной новинкой

году в 2008 уже завезли поддержку по умолчанию, но там были какие-то ограничения последний раз я на ходу добавлял место этим летом на 3 ВМ, если LVM и ext4 то можно ключ -r дать и оно сразу и ФС исправит

mumpster ★★★★★
()

покажи вывод в нормальной программе, sfdisk -l /dev/sda и sfdisk -d /dev/sda, lsblk не годится

mumpster ★★★★★
()
Ответ на: комментарий от firkax

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

dark-initr0
() автор топика

всем спасибо за советы.

Итого: проблема решена. sda2 размером 1К это заголовок (или как его там правильно назвать) расширенного раздела.

С помощью fdisk удалил sda2 (расширенный раздел) и sda5 (swap) С помощью growpart и resize2fs увеличил размер первого и единственного раздела до размера нового диска на лету.

dark-initr0
() автор топика
Ответ на: комментарий от dark-initr0

С помощью growpart

growpart еще найти где-то надо. cloud-guest-utils это не то что установлено везде. fdisk’ом удаляется раздел sda1 и не отходя от кассы создается снова, с тем же началом и «новым увеличенным» концом.

futurama ★★★★★
()
Ответ на: комментарий от lonelywoolf

Качаешь gparted-live…

Это чтобы подвинуть sda2?

Судя по разбивки он при инсталляции выбрал ручное разбиение и что то там накосячил. Не может нормально быть чтобы /boot был не отдельно.

И вообще ему нужно было выбирать lvm просто бы тогда подцепил к root это новый раздел и все.

anonymous
()
Ответ на: комментарий от anonymous

Да хоть что делать, хоть размер увеличить (а уменьшить так вообще намного проще), подвинуть, удалить, создать. Оно же там мышетыкательное. Двигаю я разделы и уменьшаю именно там. Потому, что легче. Не, я могу и консольными командами все сделать, квалификация позволяет, но зачем?

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

Да хоть что делать, хоть размер увеличить

Да я понимаю, и в курсе про parted-gtk (он есть в том же rescuecd и т.д.) хотя я могу и parted и в cli юзать … просто TC в сообщении написал:

При этом я отключил swap, убрал его из fstab и не пранирую использовать, соответстветно раздел этот можно снести.

Но меня больше заинтересовало как он смог дистр без отдельного /boot поставить … ну и ладно.

anonymous
()
Ответ на: комментарий от firkax

Увеличение раздела - это перезапись таблицы разделов… Для которой контроллер просто сменит физический адрес ячеек с данными… Надо подушнить… И вообще можно вместо файла физический раздел диска использовать… Но не из винды… Винда такое не дает…

anonymous
()
Ответ на: комментарий от lonelywoolf

На современных системах там в принципе /efi только монтироваться должен, остальное - под корень. Не доходят у меня руки сделать по уму

anonymous
()
Ответ на: комментарий от lonelywoolf

Чего? Отдельный /boot только вручную и делают некоторые по гайдам из 90-х (которые для LILO), а так в нём смысла давным давно нет и по крайней мере в нормальных дистрах (дебиан, как у автора) это никаким боком не дефолт.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Чего? Отдельный /boot только вручную и делают некоторые по гайдам из 90-х (которые для LILO), а так в нём смысла давным давно нет и по крайней мере в нормальных дистрах (дебиан, как у автора) это никаким боком не дефолт.

Вы не правы. Постоянно ставлю в ВМ то Debian то el и там всегда есть отдельный boot по умолчанию.

anonymous
()
Ответ на: комментарий от anonymous

Имею противоположные наблюдения, не видел никогда дефолтно-отдельного /boot в дебиановском установщике. Что за el не знаю.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Ты давно Debian, к примеру, ставил? Я хрен знает, как там щас с новомодной федорой или ещё чем таким, арч там сам размечаешь. А в rhel/debian и всяких отечественных бут отдельный (ну то, с чем я работаю).

lonelywoolf
()
Ответ на: комментарий от firkax

Что за el не знаю.

Ну если вы не знаете, что такое EL, то и к остальному уже вопросы. Вот щас открыл дебьян, который ставился примерно пару лет назад:

[code] root@git:~# cat /etc/fstab

/etc/fstab: static file system information.

Use ‘blkid’ to print the universally unique identifier for a

device; this may be used with UUID= as a more robust way to name devices

that works even if disks are added and removed. See fstab(5).

/dev/mapper/git–vg-root / ext4 errors=remount-ro 0 1

/boot was on /dev/sda1 during installation

UUID=b142986b-c256-4623-aefb-588b83dcee5e /boot ext2 defaults 0 2 /dev/mapper/git–vg-swap_1 none swap sw 0 0 /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 /swapfile swap swap sw 0 0 root@git:~# [/code]

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

В дефолтном дебиане нет никаких /dev/mapper, там монтирование по UUID=.

Видимо ты при установке всунул ему lvm и из-за этого всё так стало. boot на lvm нельзя наверно и поэтому отдельный. На шапкодистре с lvm-ом я такое тоже видел.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

Видимо ты при установке всунул ему lvm и из-за этого всё так стало.

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

debian 12, в виртуалку.

Ладно. Потом проверю установку без LVM, и если что - приду покукарекать, что ты обманул. Ну или не приду, чтоб не позориться xD

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

Касательно «это ж виртуалка» - там наоборот смысла в lvm ещё меньше, по двум причинам. Во-первых в виртуалках обычно всего один раздел где всё в корне (и в твоём fstab как раз так и есть), во-вторых если разделов больше, то их можно выделить как два-три-итд виртуальных диска и управлять ими снаружи (при расширении какого-то раздела всё равно сначала надо расширять диск извне - вот и расширишь только тот, где раздел хранится). LVM же ставят для того чтобы смочь расширить раздел, который сверху уже загорожен другим (свап не в счёт, кстати, его двигать просто).

firkax ★★★★★
()
Ответ на: комментарий от firkax

(и в твоём fstab как раз так и есть)

Ну в моем fstab есть ещё swapfile. Я не понял, почему тег [code] не сработал. И вот расширить раздел, например, не трогая swap как раз таки проще с LVM (на несколько команд меньше). А ещё случае с LVM машинку можно не ребутать…

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

Я ж уточнил что свап не в счёт - его передвинуть всегда просто (swapoff, delete, create, mkswap, swapon). Да, дополнительные команды, но они совершенно тривиальные. Ребутать не нужно в любом случае, lvm тут ничего не меняет.

Второй свап не заметил сначала. Зачем на виртуалке аж два свапа что-то непонятно. Но это не меняет ничего в плане этой задачи.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Просто, но это же больше одной команды. Гораздо проще pvresize && pvextend -t -L … В общем мне так больше нравится. И опять же - перезагружаться не надо (в случае без LVM это, как правило, необходимость и никакое перечитывание таблицы разделов тут не поможет).

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

в случае без LVM это, как правило, необходимость и никакое перечитывание таблицы разделов тут не поможет

Не выдумывай. Так может быть было 15 лет назад, но не сейчас. Хотя тоже сомневаюсь: чтобы сделать pvresize сначала надо обновить таблицу разделов (и pvresize и файловые системы берут размер раздела из одного и того же места), так что вряд ли оно хоть когда-то могло отличаться.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Только что, специально для проверки поставил Debian 13.7.0

  1. Выбрал пункт - Все файлы в одном разделе (рекомендуется новичкам)
  2. Показал разбивку (в инстапяторе):
#1 первич ext4 /
#5 логич. подк подк
  1. Зашел в систему после установки:
vda1 part /
vda2 part
vda5 part [SWAP]

Хм. Признаю ошибку, был не прав, по умолчанию так и лепит. Странно конечно, но в принципе я уже привык к нелогичным закидонам Debian.

anonymous
()
Ответ на: комментарий от firkax

Так может быть было 15 лет назад, но не сейчас

Да не выдумываю. У меня сотни виртуалок под управлением Debian12/13 и Rhel с его клонами. И знаешь, сё очень сильно may vary. В идеальном мире оно перезагрузки не должно требовать - достаточно перечитать только таблицу разделов. Но вот поди ж ты, не работает.

lonelywoolf
()
Ответ на: комментарий от anonymous

Чего тут нелогичного то? В отдельном boot самом по себе смысла нет - он его и не делает. Но вот грузиться с lvm видимо или вообще нельзя или могут быть проблемы - поэтому когда lvm то boot вне его.

firkax ★★★★★
()
Ответ на: комментарий от firkax

В отдельном boot самом по себе смысла нет

Вообще зависит от ФС и опций сборки ядра и поддержки нужной ФС загрузчиком.

lonelywoolf
()
Ответ на: комментарий от firkax

Чего тут нелогичного то?

я про то что: пункт 1 жмешь и видишь пункт 2, все таки это не совсем один, как заявлено.

Но вот грузиться с lvm видимо или вообще нельзя или могут быть проблемы

ну да, я обычно кругом ставлю lvm вот и привык что /boot всегда рядом.

anonymous
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария