Redhat изменить размер раздела
Прежде всего, я абсолютный новичок в Linux, но мне было поручено автоматизировать процесс изменения размера раздела в RHEL 6.5. Сервер находится как виртуальная машина в VMWare, и мы пытаемся организовать действие, при котором существующий файл VMDK расширяется, а размеры разделов в этом VMDK изменяются автоматически.
В качестве тестового примера VMDK рассматривается в системе как /dev/sdb. Размер этого скажем 5 ГБ. Теперь у меня есть 2 раздела: /dev/sdb1, /dev/sdb2, sdb1 занимает 1 ГБ, а sdb2 занимает 5 ГБ
Если кто-то теперь увеличит размер VMDK с 5 ГБ до 10 ГБ и укажет, что дополнительное место должно быть в / dev / sdb1, как я могу это сделать? До сих пор мне удалось создать процесс, при котором последний раздел может быть изменен без проблем (т. Е. / Dev/sdb2), но любые предыдущие не могут из-за номеров блоков Start и Ending.
Мой процесс выглядит следующим образом:
1) Увеличьте размер VMDK. 2) Запустите echo "1" > /sys/class/scsi_device/0:0:0:0/device/rescan, чтобы выбрать диск с измененным размером. 3) Используя fdisk, удалите раздел и создайте его заново.
Это прекрасно работает, если изменяемый раздел является последним разделом, но если это первый или второй раздел, то раздел просто воссоздается таким, каким он был. Есть ли инструмент, который может сделать это разумно?
Это вывод fdisk в моей среде:
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
67 heads, 62 sectors/track, 5048 cylinders
Units = cylinders of 4154 * 512 = 2126848 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf3405e93
Device Boot Start End Blocks Id System
/dev/sdb1 1 510 1059239 83 Linux
/dev/sdb2 511 2524 4183078 83 Linux
Как видите, sdb1 занимает 1 ГБ, а SDB2 - 4 ГБ, но на диске около 5 ГБ "свободно". Теперь, как мне изменить это так, чтобы sdb1 занимал это оставшееся место? Если я удаляю sdb1 и воссоздаю его, он делает тот же раздел. Я могу легко создать новый раздел, чтобы занять это пространство, или даже изменить sdb2, чтобы занять оставшееся пространство (просто удалить sdb2 и воссоздать его с помощью fdisk), но вопрос в том, как мне изменить sdb1, чтобы занять это пространство?
Надеюсь, мой вопрос ясен, и заранее спасибо
2 ответа
Вы можете переместить второй раздел sdb2 в конец "диска", а затем воссоздать первый, и тогда у вас будет возможность воссоздать первый раздел с "полным" размером.
Однако в зависимости от вашей файловой системы вам не нужно удалять ее, а "только" размонтировать, а затем сделать resize2fs
(по крайней мере для ext2/3/4), после выполнения вышеуказанного шага.
Сам ход мог быть сделан с parted
,
Как это сделать: обратитесь к следующим ссылкам:
Раздельное руководство пользователя gnu.org и linuxquestions.org
Нечто подобное может сработать (вам нужно изменить свои номера:
parted move 2 -125 -0
parted resize 1 0.063 -125
Однако после версии 2.4. parted
не содержит move
поэтому вам может понадобиться другой инструмент (или он переименован в другую функцию, которую я не нашел)
Руководство по Qoute от gnu.org
Обратите внимание, что после версии 2.4 были удалены следующие команды: check, cp, mkfs, mkpartfs, move, resize.
Я чувствую вашу боль, я также относительно новичок в Linux, поэтому я понимаю вашу боль. LVM - это путь, который можно легко расширить. Если вы зарегистрированы в Red Hat, вы можете установить графический интерфейс (yum -y install system-config-lvm). После установки в строке CMD запустите 'system-config-lvm', это запустит графический интерфейс, и оттуда вы можете просмотреть различные диски / разделы и внести изменения, или в командной строке вам придется пройти три шага. процесс. Поэтому я просто использую графический интерфейс, который быстрый и простой. Надеюсь это поможет