Both sides previous revision Previous revision Next revision | Previous revision |
linux_faq:vmware_disk_expand_without_reboot [2020/09/17 11:07] – admin | linux_faq:vmware_disk_expand_without_reboot [2020/09/17 11:35] (current) – admin |
---|
</code> | </code> |
* Нам нужно, чтобы **Linux** увидела новый размер диска **/dev/sda**, поэтому выполняем (с привилегиями **root**): <code>echo 1 > /sys/class/scsi_device/32\:0\:0\:0/device/rescan</code> | * Нам нужно, чтобы **Linux** увидела новый размер диска **/dev/sda**, поэтому выполняем (с привилегиями **root**): <code>echo 1 > /sys/class/scsi_device/32\:0\:0\:0/device/rescan</code> |
* Проверяем, что диск в GPT:<code>fdisk -l /dev/sda | grep 'Disklabel type: gpt'</code>Если диск имеет таблицу MBR (**Disklabel type: dos**), то хорошо бы его сконверировать в **GPT** и починить/переустановить **grub**. Для этого - перемещаем таблицу разделов в конец диска <code>sgdisk -e -g /dev/sda</code>перечитываем таблицу разделов<code>partx -u</code>создаем новый маленький раздельчик номер 4 с типом **EF02** (номер раздела и начальный/конечный сектора у вас будут другими)<code>sgdisk -n 4:293605246:293609946 -t 4:EF02 /dev/sda</code>переустанавливаем **grub**:<code>grub-install /dev/sda</code> | * Проверяем, что диск в GPT:<code>fdisk -l /dev/sda | grep 'Disklabel type: gpt'</code>Если диск имеет таблицу MBR (**Disklabel type: dos**), то хорошо бы его сконверировать в **GPT** и починить/переустановить **grub**. Для этого - перемещаем таблицу разделов в конец диска <code>sgdisk -e -g /dev/sda</code>перечитываем таблицу разделов<code>partx -u /dev/sda</code>создаем новый маленький раздельчик номер 4 с типом **EF02** (номер раздела и начальный/конечный сектора у вас будут другими)<code>sgdisk -n 4:293605246:293609946 -t 4:EF02 /dev/sda</code>переустанавливаем **grub**:<code>grub-install /dev/sda</code> |
* На всякий случай смотрим как разбит сейчас диск, потому что нижеприведенный скрипт ориентирован на то, что диск разбит дефолтно. Возможно, придется просто вручную указать размер последнего (не по номеру, а по размешению на диске) раздела (переменная **PART**). Вот пример разбиения, когда раздел с большим номером находится ПЕРЕД разделом с меньшим номером (о чем сообщает fdisk): <code># fdisk -l /dev/sda ... | * На всякий случай смотрим как разбит сейчас диск, потому что нижеприведенный скрипт ориентирован на то, что диск разбит дефолтно. Возможно, придется просто вручную указать размер последнего (не по номеру, а по размешению на диске) раздела (переменная **PART**). Вот пример разбиения, когда раздел с большим номером находится ПЕРЕД разделом с меньшим номером (о чем сообщает fdisk): <code># fdisk -l /dev/sda ... |
* Device Boot Start End Sectors Size Id Type | * Device Boot Start End Sectors Size Id Type |
partx -u $DISK | partx -u $DISK |
pvresize $DISK$PARTNUM | pvresize $DISK$PARTNUM |
grub-install $DISK --force | |
update-grub | |
update-initramfs -u | |
</code>Этот скрипт предполагает, что системе есть единственная **VolumeGroup**, в которую входит единственный **PhysicalVolume** и он является последним разделом на диске. Скрипт обнаруживает устройство, на котором размещен **PhysicalVolume**, обнаруживает номер раздела и его начальный сектор, затем - удаляет раздел и заново создает с началом в том же месте и максимальным размером. В завершение - скрипт перечитывает таблицу разделов и ресайзит **PhysicalVolume**. | </code>Этот скрипт предполагает, что системе есть единственная **VolumeGroup**, в которую входит единственный **PhysicalVolume** и он является последним разделом на диске. Скрипт обнаруживает устройство, на котором размещен **PhysicalVolume**, обнаруживает номер раздела и его начальный сектор, затем - удаляет раздел и заново создает с началом в том же месте и максимальным размером. В завершение - скрипт перечитывает таблицу разделов и ресайзит **PhysicalVolume**. |
* Теперь можно создавать новые **LogicalVolumes** или расширять имеющиеся. Я расширю то что уже есть:<code>lvresize -L +25G /dev/mapper/ubuntu--vg-var</code> | * Теперь можно создавать новые **LogicalVolumes** или расширять имеющиеся. Я расширю то что уже есть:<code>lvresize -L +25G /dev/mapper/ubuntu--vg-var</code> |