Как увеличить размер образа диска .img в Linux | Пошаговая инструкция
Что такое файл `.img`
Файл .img — это побайтовая копия диска, раздела или файловой системы. По сути, он представляет собой виртуальный жесткий диск, который хранится в одном файле.
Такой образ содержит все данные, необходимые для работы системы:
- загрузчик;
- таблицу разделов (при наличии);
- файловую систему;
- операционную систему;
- пользовательские файлы.
Где используются образы .img
1. Виртуальные машины
Это наиболее распространенная область применения.
Например, образ:
text
web.img
может использоваться в качестве виртуального жесткого диска для:
* QEMU/KVM;
* VirtualBox (после конвертации);
* VMware (после конвертации).
Внутри такого образа находятся операционная система, загрузчик и все пользовательские данные.
2. Raspberry Pi, Orange Pi и другие SBC
Готовые образы операционных систем обычно распространяются именно в формате `.img`.
Например:
text
debian.img
записывается на SD-карту командой:
bash
dd if=debian.img of=/dev/sdb bs=4M status=progress
После записи карта становится загрузочной.
3. Хранение файловой системы
Образ можно использовать как отдельный виртуальный диск:
bash
truncate -s 20G data.img
mkfs.ext4 data.img
mount -o loop data.img /mnt/data
В результате получится полноценная файловая система внутри одного файла.
Это удобно для:
- хранения сайтов;
- резервного копирования;
- тестирования;
- создания переносимых файловых систем.
4. Резервное копирование
Можно сохранить полный образ диска:
bash
dd if=/dev/sda of=backup.img
При необходимости его легко восстановить:
bash
dd if=backup.img of=/dev/sda
5. Embedded-устройства
Формат `.img` широко используется в:
- роутерах;
- Android-устройствах;
- OpenWrt;
- игровых приставках;
- IoT-устройствах.
6. Тестирование
Разработчики часто создают тестовые образы, например:
text
test.img
Это позволяет безопасно экспериментировать с файловой системой, не затрагивая реальные диски.
Преимущества использования `.img`
Использование образов дисков имеет несколько важных преимуществ:
- все данные находятся в одном файле;
- резервную копию можно создать обычной командой:
bash
cp web.img web.img.bak
- весь сервер или сайт легко перенести на другую машину;
- размер образа можно увеличивать по мере необходимости;
- образ можно подключить через `loop` практически в любой каталог;
- полностью сохраняются права доступа, владельцы и атрибуты файлов.
Для хранения данных веб-сервера такой подход вполне подходит. Однако сегодня многие предпочитают использовать отдельные разделы, LVM-тома или современные файловые системы, такие как **ZFS** и **Btrfs**.
Тем не менее формат `.img` остается отличным выбором, когда важны простота резервного копирования, переносимость и возможность быстро развернуть систему на другом сервере.
Увеличение размера образа
Перед началом работы рекомендуется создать резервную копию образа.
bash
cp /media/store/VirtualHdd/web.img /media/store/VirtualHdd/web.img.bak
Шаг 1. Размонтируйте образ
Если образ уже подключен к системе, сначала размонтируйте его:
bash
sudo umount /путь/к/точке_монтирования
Шаг 2. Увеличьте размер файла
Добавить **10 ГБ** к существующему размеру:
bash
truncate -s +10G /media/store/VirtualHdd/web.img
Или установить новый фиксированный размер, например **64 ГБ**:
bash
truncate -s 64G /media/store/VirtualHdd/web.img
Шаг 3. Проверьте файловую систему
Перед расширением рекомендуется выполнить проверку:
bash
e2fsck -f /media/store/VirtualHdd/web.img
Шаг 4. Расширьте файловую систему
После успешной проверки увеличьте размер файловой системы:
bash
resize2fs /media/store/VirtualHdd/web.img
Шаг 5. Смонтируйте образ
После завершения операции снова подключите образ:
bash
sudo mount -o loop /media/store/VirtualHdd/web.img /mnt/web
Готово!
После выполнения этих действий размер файловой системы внутри образа `.img` будет увеличен, и дополнительное пространство станет доступно для хранения данных без потери существующих файлов.
