- How to extend partition in Ubuntu Guest on Vmware
- 3 Answers 3
- Linux resize partition vmware
- Создадим раздел и отформатируем его
- Расширим диск на лету
- Расширяем раздел и файловую систему
- Linux — расширяем раздел на лету
- Ссылки
- Теги
- Похожие материалы
- Установка VMware Tools на Ubuntu
- Олег
- Linux — расширяем раздел на лету 4
- Подготовка
- Расширяем раздел
- Ссылки
- Благодарности
How to extend partition in Ubuntu Guest on Vmware
On my Windows 7 host, I am using VMware Player to use Ubuntu. I had initially allocated 20GB and now getting Disk space full errors. So I wanted to extend partition. By searching on forums I saw how to add more disk and used this command to make it 30G —
sudo lvextend -L30G /dev/sda1
But still df command shows that max is 20GB. After more searching it seems that I need to extend partition using gparted. I tried using that but Resize button is disabled. I searched for that and they say that if the partition shows a key image then that partition is active and I cannot change it if it is live. Screenshot After some more search looks like this can also be fixed by using booting the OS from CD or using gparted boot from cd, boot using iso etc etc without giving any clear instructions. Can someone please guide or post any link which has clear instructions including screenshots for a linux layman as to how I can extend the partition.
3 Answers 3
Just did it in a Ubuntu 18.04 Server guest over a Windows 10 host.
The easiest way is, like you already suggested, to boot a live Ubuntu (the regular one, not server) and use GParted.
But first you need to «configure» the VMWare to increase the «virtual disk» size. Follow these steps:
- Shutdown the guest
- Click on «edit virtual machine settings» of that guest
- Click on «Hard disk» and «Expand. «
- A VMware window will let you modify the size, in GBs, of the device. Set the size you want and click on «Expand». After a while it will end.
At this point, the hard drive is bigger than before, but the partition is not. You must resize the partition also. To do so, download the ISO file of the regular Ubuntu distribution. Any other bootable device will also work, but this is the simplest way. Having the ISO downloaded do this:
- In the same configuration window as before, instead of configure the «Hard Disk» go to «CD/DVD» section.
- Make sure the option «Connect at power on» is set.
- Select «Use ISO image file:» and browse to the ISO file you downloaded.
After this, the guest is ready to be launched. Click in «Play virtual machine» and pay attention because you need to press the Esc key very quick to enter the boot menu, just before the VMWARE logo appears. As it were the BIOS of your physical computer.
Tip: After click on «Play. » click again over the VMWare window (black screen at this point) to make sure that the control of keyboard and mouse are in the guest, and not in the host. If you miss this step, you can simply reboot and try again.
Once you see the boot options:
- Press the down arrow key to highlight «CD-ROM Drive» and press enter.
- Ubuntu will start as live session.
- Select appropriate language and «Try Ubuntu».
- Wait until the desktop is loaded.
Look for the GParted tool and launch it. You will see two main blocks, one with some color (yellow probably) and the other in gray. The colored block is your actual partition (probably called /sda/sda1). To resize it do:
- Right click on the yellow block and select «ummount» or «stop»
- Right click again and «resize».
- In the new window, drag the limit of the partition to wherever you want of the free space (gray).
- Click «Ok»
- Don’t forget to click in «Apply changes» in Gparted’s main window before closing, otherwise the operation is not performed.
Once it is finished, you have already a bigger partition, just reboot and you will be good to go. (Don’t forget to uncheck the CD/DVD Connect at power on if it is not needed).
Linux resize partition vmware
Иногда возникает необходимость расширить диск Linux на лету, когда заканчивается место, а диск нельзя отмонтировать. К счастью, на файловой системе ext4 это возможно.
Например, у нас имеется диск /dev/sdd размером 100Гб. На нем раздел /dev/sdd1 и он примонтирован (это может быть даже корневой раздел).
Создадим раздел и отформатируем его
Потом можно нажать n, затем Enter, потом 4 раза Enter (если раздел будет занимать весь диск) и в конце w и Enter.
Как видим, на диске теперь есть раздел с файловой системой ext4
Сейчас создадим директорию, которая будет точкой монтирования и примонтируем раздел.
# mkdir /mnt/mydisk
# mount /dev/sdd1 /mnt/mydisk
Можем создать там файл MyFile и директорию MyDir
# touch /mnt/mydisk/MyFile
# mkdir /mnt/mydisk/MyDir
Расширим диск на лету
Сначала мы перейдем в настройки виртуальной машины и раширим диск, например, на 50Гб.
Посмотрим, что теперь в нашем Linux
Ничего не изменилось… А все потому, что в линукс необходимо пересканировать диск вручную. Для этого выполним следующую волшебную команду:
# echo ‘1’ > /sys/class/scsi_disk/2\:0\:3\:0/device/rescan
У нас пересканируется диск 3 (счет начиная с 0), потому что у нас sdd.
Расширяем раздел и файловую систему
Конечно, мы могли бы упростить себе жизнь, имея X сервер и используя gparted с графическим интерфейсом для этого. Но мы сделаем это через коммандную строку.
Для расширения раздела будем использовать parted
Затем пишем команду resizepart 1, жмем Enter. Пишем Yes, жмем Enter. И чтобы расширить до конца диск (то есть использовать все свободное пространство на диске) пишем -0 и жмем Enter. Выходим командой quit.
После этого нам необходимо расширить файловую систему. У нас ext4, поэтому мы можем это легко сделать с помощью команды resize2fs
Вот и все! Мы без отмонтирования раздела и перезагрузки хоста расширили раздел на нашем Linux.
Linux — расширяем раздел на лету
Шлифуем админское кунг-фу. Расширим раздел диска и файловую систему на лету без перезагрузки и без потери данных. Я буду расширять диск на виртуальной машине VMware с операционной системой Ubuntu.
Имеется диск /dev/sdb размером примерно 900 Гб. На диске есть раздел /dev/sdb1 с файловой системой ext4. Раздел забит на 89%, нужно добавить немного свободного места.
На виртуальной машине увеличиваем диск до 1400 Гб. Командуем операционной системе выполнить сканирование диска sdb:
echo 1>/sys/class/block/sdb/device/rescan
Система увидела, что диск sdb стал больше.
Теперь выполним приём кунг-фу. С помощью fdisk удалим и заново создадим раздел без потери данных. Переходим к управлению разделами диска:
Отобразим список разделов:
У меня на диске только один раздел. Удаляем текущий раздел (данные сохранятся):
Для основного (primary) раздела указываем:
Номер раздела 1 по умолчанию, остальное тоже по умолчанию. Сохраняем изменения:
Таблица разделов изменена.
Обращаем внимание на предупреждение:
WARNING: Re-reading the partition table failed with error 16: Устройство или ресурс занято.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Обновляем таблицу разделов диска sdb:
Расширяем файловую систему ext4 в разделе sdb1 до конца раздела:
Косметическая процедура. Отключаем зарезервированное под root место:
Раздел /dev/sdb1 с файловой системой ext4 занимает 1.4 Тб. Раздел забит на 60%.
Задача выполнена. Раздел и файловая система расширены на лету без перезагрузки и без потери данных. И без остановки сервисов, работающих с этим разделом.
Ссылки
Теги
Похожие материалы
Установка VMware Tools на Ubuntu
Олег
VMware Tools — бесплатный набор утилит для улучшения взаимодействия виртуальной машины и платформы VMware. В Интернете пишут про то, что от установки VMware Tools улучшается производительность виртуальной машины. В качестве примера указывают на то, что только в этом наборе утилит есть драйвера для сетевой карты vmxnet3. Не согласен, драйвера можно и отдельно поставить. В linux так и без этих драйверов сетевая карта работает нормально. А вот если у вас Windows Server — рекомендую vmxnet3, меньше глюков.
Linux — расширяем раздел на лету 4
Шлифуем админское кунг-фу. Расширим раздел диска и файловую систему на лету без перезагрузки и без потери данных. Ранее я уже расширял разделы, но везде использовал fdisk. Сегодня я буду расширять диск на виртуальной машине VMware с операционной системой Ubuntu с помощью parted. Данный метод подойдёт для Debian систем.
Подготовка
Увеличиваем диск на виртуальной машине VMware. Затем делаем снапшот на всякий случай. Если сначала сделать снапшот, то не получится увеличить размер диска.
Я увеличиваю второй диск виртуалки со 100 до 200 ГБ.
Расширяем раздел
Заходим на виртуалку по SSH под рутом. Смотрим что есть.
root@log00:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 91M 0 part [SWAP] ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 19,9G 0 part / sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part /var/lib/elasticsearch sr0 11:0 1 1024M 0 rom
Мы увеличили диск sdb но система об этом не знает, нужно заставить сделать рескан диска.
echo 1>/sys/class/block/sdb/device/rescan
Или по всем дискам, если требуется:
for D in $(ls /sys/block/sd?/device/rescan ); do echo $; echo 1 > $; done
root@log00:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 91M 0 part [SWAP] ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 19,9G 0 part / sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 100G 0 part /var/lib/elasticsearch sr0 11:0 1 1024M 0 rom
Теперь нужно изменить наш раздел. Посмотрим.
root@log00:~# parted /dev/sdb p Модель: VMware Virtual disk (scsi) Диск /dev/sdb: 215GB Размер сектора (логич./физич.): 512B/512B Таблица разделов: msdos Флаги диска: Номер Начало Конец Размер Тип Файловая система Флаги 1 1049kB 107GB 107GB primary ext4
Заметим, что parted может показать диск большего размера, чем мы задали, запомним его: 215 GB, используем для указания размера раздела. У него там свои тонкости, VMware делает диски в GiB, система тоже показывает диск как G (это GiB), а parted работает с GB, это метрическая система, там не 1024, а 1000.
200 GiB = 204800 MiB = 209715200 KiB = 214748364800 B 214748364800 B = 214748365 KB = 214748 MB = 215 GB
parted «диск» resizepart «номер раздела» y «новый размер»GB
parted /dev/sdb resizepart 1 y 215GB
root@log00:~# parted /dev/sdb resizepart 1 y 215GB Предупреждение: Раздел /dev/sdb1 используется. Действительно хотите продолжить? Информация: Не забудьте обновить /etc/fstab.
root@log00:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 20G 0 disk ├─sda1 8:1 0 91M 0 part [SWAP] ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 19,9G 0 part / sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 200G 0 part /var/lib/elasticsearch sr0 11:0 1 1024M 0 rom
Раздел увеличился но файловая система об этом не знает. Теперь изменяем файловую систему (если файловая система xfs то используем xfs_growfs /путь_куда_примонтировано)
root@log00:~# resize2fs /dev/sdb1 resize2fs 1.42.13 (17-May-2015) Filesystem at /dev/sdb1 is mounted on /var/lib/elasticsearch; on-line resizing required old_desc_blocks = 7, new_desc_blocks = 13 The filesystem on /dev/sdb1 is now 52428544 (4k) blocks long.
Проверяем свободное место после изменения размера.
root@log00:~# df -h Файл.система Размер Использовано Дост Использовано% Cмонтировано в udev 3,9G 0 3,9G 0% /dev tmpfs 799M 84M 716M 11% /run /dev/sda5 20G 7,1G 12G 39% / tmpfs 3,9G 12K 3,9G 1% /dev/shm tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup /dev/sdb1 197G 82G 107G 44% /var/lib/elasticsearch tmpfs 799M 0 799M 0% /run/user/10123 tmpfs 799M 0 799M 0% /run/user/10306
Раздел /dev/sdb1 с файловой системой ext4 занимает 197G. Раздел забит на 44%.
Задача выполнена. Раздел и файловая система расширены на лету без перезагрузки и без потери данных. И без остановки сервисов, работающих с этим разделом.
Ссылки
Благодарности
Выносится благодарность без внесения в личное дело моему коллеге Денису за подробную инструкцию, основную часть которой я скопипастил в статью.👏