Рейтинг:0

Как изменить размер раздела до максимального размера в Debian 8?

флаг us

Мой вопрос: как изменить размер раздела в Debian 8 без потери данных? У меня есть раздел размером 90 ГБ, но на моем диске 150 ГБ на VPS-сервере, поэтому 50 ГБ свободно, и я хочу добавить эти 50 ГБ без потери данных, вот как это выглядит:

2

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

Файловая система уже имеет длину n блоков. Нечего делать!

Я уже расширил раздел на Debian 11 с помощью resize2fs и все было нормально, здесь не знаю почему, но он не хочет работать.

РЕДАКТИРОВАТЬ

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

paladin avatar
флаг id
Используйте диспетчер разделов, такой как fdisk или parted, распечатайте текущую таблицу разделов в байтах, удалите раздел, который вы хотите увеличить, создайте новый раздел с точно такими же значениями, как и удаленный, но на этот раз конечный байт больше, сохраните изменения в разделе и выйдите из диспетчера разделов. Снова используйте resize2fs. **PS создайте резервную копию исходной таблицы разделов, прежде чем что-либо удалять. PPS, если вы создадите новый раздел неправильно, вы, вероятно, потеряете данные. PPPS использует более новую версию Debian.**
paladin avatar
флаг id
PS также сначала деактивируйте раздел SWAP, а также удалите раздел SWAP.
флаг pl
Вы должны (1) изменить размер раздела, для которого требуется свободное место рядом с vda1 (где находится ваш файл подкачки на диске?), и его необходимо переносить во время *размонтирования* для большинства типов файловых систем (ваша доб*?). Только тогда вам нужно (2) изменить размер файловой системы.
флаг pl
предоставьте вывод `lsblk --fs`
Piotror avatar
флаг us
@ Брахим vda1 - это ext4
Nikita Kipriyanov avatar
флаг za
Мы видим два раздела, но непонятно, как они расположены на диске. Числа не всегда соответствуют реальному порядку на диске, а соответствуют порядку записей в таблице разделов. Например. можно разместить vda2 перед vda1 на диске. Чтобы быть уверенным, покажите `fdisk -l /dev/vda`. (На самом деле мне это нужно, чтобы знать, следует ли что-то делать с этим разделом подкачки или нет.)
Рейтинг:1
флаг pl

В соответствии с вашей разметкой диска вы должны

(0) убрать раздел подкачки, чтобы оставить место для расширения vda1; пространство раздела должно быть непрерывным. для этой цели:

  • отключить своп, с подкачка /dev/vda2 (/dev/vda2 это ваш файл устройства подкачки. Всегда проверяйте мои аргументы)
  • удалить раздел подкачки с помощью parted /dev/vda rm partno куда часть номер раздела подкачки согласно разделил /dev/vda, (должно быть 2 ?)
  • заново создайте раздел подкачки в конце диска с /dev/parted /dev/vda mkpart -4G -1s. Отрицательные числа здесь являются ссылками с конца диска, что означает, что раздел охватывает прошлой 4GiB диска (-1с означает, что раздел заканчивается последним сектором диска, что невозможно, так как это перезапишет вторичный заголовок GPT, поэтому расстались изменит точное начало/конец и выравнивание раздела (вам будет предложено). Раздел будет создан с тем же номером 2. Таким образом, файл устройства будет называться /dev/vda2. Вы должны это проверить.
  • повторно включить своп, с mkswap /dev/vda2 тогда своп на /dev/vda2
  • обновить строку, имеющую РЕЗЮМЕ= в /etc/initramfs-tools/conf.d/резюме если есть. В этой строке указывается раздел, используемый для гибернации, и он идентифицируется либо с помощью UUID=... или же ЭТИКЕТКА=.... Вы можете найти UUID или метку раздела подкачки, используя черный
  • обновить строку, описывающую раздел подкачки в таблице fs /etc/fstab. Просто обновите UUID, метку или номер раздела (в зависимости от того, как раздел подкачки обозначен в файле)

После того, как своп удален, вы должны

(1) измените размер корневого раздела, рядом с которым теперь есть свободное место. Вы можете использовать команду часть роста (из пакета облачные утилиты), что заставляет раздел использовать все доступное пространство. Если вы не можете получить этот пакет в своей системе, вы можете сделать это вручную с помощью подкоманды изменить размер части из расстались, сообщая только номер раздела (1?) и позицию END (в блоках). Ссылаться на разделил /dev/vda чтобы получить ожидаемую позицию END. расстались предотвратит случайную перезапись файла подкачки.

(2) изменить размер файловой системы (ext4 можно вырастить онлайн, нет необходимости размонтировать его), используя resize2fs /dev/vda1

Эти шаги решат вашу проблему, как правило, без потери данных. Однако рекомендуется сделать резервную копию наиболее важных данных.

Рейтинг:0
флаг za

Вам нужно удалить раздел подкачки, расширить раздел данных и заново создать подкачку, если вам это нужно.

Если у вас достаточно свободной памяти (подкачка используется мало), вы можете сделать это без прерывания работы сервиса. Начинается с: подкачка /dev/vda2, чтобы освободить своп. Если вы не можете этого сделать (недостаточно памяти), вам нужно остановить потребляющие память службы, пока вы не сможете отключить своп.

После успешного обмена запустите fdisk/dev/vda и удалите второй раздел.

Теперь решите, какой объем свопа вам нужен, и рассчитайте, где он должен начинаться. Например, если вы хотите иметь подкачку ровно 8 ГБ (16777216 секторов), как сейчас, и у вас ровно 150 ГБ (314572800 секторов) на диске, ваша подкачка должна начинаться с сектора 314572800-16777216 = 297795584. Поэтому создайте новый раздел vda2. типа 82 (Linux swap), который начинается с этого сектора и 314572799 (это значение должно подсказываться само собой). Не пользуйтесь моими цифрами вслепую, посчитайте их сами, потому что я сделал предположение о размере диска — вы несколько скрываете часть информации, которая могла бы сделать этот расчет точным. (И впредь не выкладывайте скриншоты консоли, а просто скопируйте и вставьте в виде текста, так будет лучше. И не опускайте такую ​​информацию, как разметка диска, лучше скопируйте полный вывод, его нельзя использовать для идентифицировать вас или причинить какой-либо вред, но облегчает жизнь.)

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

Обратите внимание на ваш vda1 начинается в секторе 2048. Это очень важно!

  1. Удалите первый раздел. Да, сделай это. Да, на работающей системе. Ничего не будет и ничего не потеряется.
  2. Создайте новый раздел 1, он должен начинаться точно с сектора 2048 и заканчиваться на текущем последнем секторе 188745727 или за ним. Убедитесь, что ваш новый раздел начинается с 2048 и не меньше, чем был! Также обратите внимание, что он может обнаружить подпись файловой системы и предложить стереть ее. Не вытирайте.
  3. Зафиксировать изменения на диске (ж), fdisk должен выйти и сказать, что таблица разделов записана, но ядро ​​по-прежнему использует старую таблицу разделов. Использовать kpartx или же неполный зонд чтобы перезагрузить его, как он предлагает. Или отключить подкачку /etc/fstab и перезагрузитесь (вам нужно отключить его, чтобы он не останавливал загрузку из-за отсутствия подписи подкачки).
  4. В этот момент ваш лсблк уже должен показывать новый размер раздела. Вы можете расширить файловую систему с помощью resize2fs /dev/vda1. Что касается подкачки, создайте новую структуру подкачки с помощью mkswap /dev/vda2 и если /etc/fstab относится к обмену с использованием UUID, обновите его новым значением, которое mkswap напечатал вам.
флаг pl
почему раздел 1 должен быть удален? это не корневой раздел!!
Nikita Kipriyanov avatar
флаг za
Удалить, а затем создать раздел, начинающийся с того же сектора, — это то же самое, что «изменить размер» раздела. По сути, это просто изменяет некоторые числа в записи таблицы разделов. Если вы думаете, что `growpart` делает что-то еще, вы не понимаете, что происходит.
флаг pl
Нет, я не. Но я думаю, что увеличение (`growpart`) или изменение размера (`parted resizepart`) менее подвержены ошибкам пользователя и проще.
Nikita Kipriyanov avatar
флаг za
Но зачем мне устанавливать дополнительное программное обеспечение, которое я бы почти никогда не использовал, когда уже есть программное обеспечение, которое могло бы выполнить эту работу? Да, некоторые инструменты могут выглядеть менее подверженными ошибкам, но при этом дают меньше контроля. Кроме того, почему вы все еще ссылаетесь на одну и ту же операцию, используя разные термины, как будто эти инструменты делают что-то другое, а не просто обновляют одни и те же числа в таблице разделов таким же образом?
флаг pl
За все приходится платить, поэтому можно согласиться на установку дополнительного программного обеспечения, чтобы избежать рутинных или отвлекающих внимание задач. Обратите внимание, что `parted` предоставляет подкоманду `resizepart` для выполнения этого общего случая использования, `growpart` является отдельной альтернативой. Можно было бы вернуться к `fdisk` для необычного сценария манипулирования разделами.

Ответить или комментировать

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