Я запускаю контейнеры докеров на своей машине, и все это помещается в / var /. DF показывает, что / var / занимает 6,9 ГБ и нет свободного места. Система Linux работает под управлением VMWare, и я выделил серверу дополнительные 100 ГБ в консоли VMWare.Как увеличить / var в виртуальной машине linux без перезапуска сервера?
root@TB-IOT02:/var# df -a | grep sda
/dev/sda1 19276020 4530700 13743080 25% /
/dev/sda5 6722700 6706316 0 100% /var
/dev/sda7 1182728 3748 1100852 1% /tmp
/dev/sda8 74238884 65640 70359052 1% /home
root@TB-IOT02:~# fdisk --list
Disk /dev/sda: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0b21c5c6
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 39436287 39434240 18.8G 83 Linux
/dev/sda2 39438334 209713151 170274818 81.2G 5 Extended
/dev/sda5 39438336 53231615 13793280 6.6G 83 Linux
/dev/sda6 53233664 55326719 2093056 1022M 82 Linux swap / Solaris
/dev/sda7 55328768 57798655 2469888 1.2G 83 Linux
/dev/sda8 57800704 209713151 151912448 72.4G 83 Linux
Спасибо
Поскольку сервер использует традиционную схему разделения, невозможно расширить раздел / var
без перезапуска сервера.
На вашем месте я бы создал новую файловую систему и смонтируйте ее в каталог, в котором Docker хранит свои файлы.
В зависимости от того, как вы добавили пространство, есть два варианта:
Если вы увеличили размер существующего виртуального диска
1.1. Используйте fdisk
для создания раздела / dev / sda9
1.2. Используйте mke2fs / dev / sda9
для создания файловой системы
Если вы добавили новый виртуальный диск в виртуальную машину
2.1. Используйте fdisk
, чтобы создать раздел на новом устройстве.
2.2. Используйте mke2fs
для создания файловой системы
Затем выполните следующие действия:
Запустите mount / dev / sda9 / mnt
, чтобы смонтировать новую файловую систему
Остановить Docker
Выполнить mv / var / lib / docker / * / mnt
Выполнить umount / mnt
Добавьте следующую строку в / etc / fstab
/ dev / sda9 / var / lib / docker ext4 relatime 0 1
Смонтируйте новую файловую систему, выполнив mount / var / lib / docker
Start Docker
Замените / dev / sda9
на имя раздела добавлен виртуальный диск в приведенных выше инструкциях.
После этого файлы Docker находятся в новой файловой системе на добавленном пространстве.
La respuesta de Tero es correcta. Sin embargo, si va a apagar la VM, puede agregar un disco expandible en vivo, de modo que no necesite apagarlo nuevamente por el mismo motivo en el futuro.
Puede expandir los discos de VM de Linux en ESXi (u otros hipervisores) en vivo. Pero solo si:
o (más exótico, pero eventualmente más simple y funciona)
fdisk
, formatea discos directamente . Por ejemplo mkfs.ext4 / dev / sdb
, no mkfs.ext4 / dev / sdb1
que es lo habitual. Es perfectamente posible. Así que agregue un nuevo disco usando cualquiera de las formas anteriores, asígnelo a algo como / vartemp
, copie todos los archivos de / var
a / vartemp
, luego elimine / var
cambie / vartemp
a / var
y listo. Ahora es posible la expansión en vivo del disco / var
.