Увеличиваем размер диска Linux на VirtualBox
При использовании Linux на VirtualBox может возникнуть потребность в увеличении дискового пространства без потери данных. Как известно, увеличением размера диска в VirtualBox обойтись не достаточно, по той причине, что в системе Linux так же требуется произвести кое-какие манипуляции с разделами. Есть важный момент, который так же следует учесть, созданный ранее диск виртуальной машины, на котором размещается система Linux, должен быть динамическим. В случае если диск был создан фиксированного размера, то пример, о котором мы говорим вам не подходит.
Размер диска изменяется в два этапа, первый – мы изменяем размер на самой виртуальной машине, второй мы меняем размер разделов внутри системы Linux. В качестве примера мы использовали систему Linux CentOS.
В системе Windows, на которой установлен VitrualBox нам необходимо открыть командную строку, и выполнить следующую команду:
Тем самым, мы перешли в папку, где находится Virtual Box.
Далее изменяем размер vdi файла
Поменяйте значение x – на размер, который вы хотите задать диску виртуальной машины, указывается размер в мегабайтах, к примеру, если мы хотим увеличить размер диска с 10 Гб до 30 Гб, нам следует выполнить команду:
После выполнения команды, кстати, она может занять какое-то время на выполнение, мы изменим размер VDI файла – виртуального жесткого диска машины. В самой системе Linux данное место будет как незанятое, и это означает, что нам следует приступить ко второму этапу – это примкнуть свободное пространство к основному диску системы Linux.
Авторизуемся в системе под root, далее с помощью команды fdisk мы просмотрим существующие буквенные значения разделов дисков.
Появится таблица с разделами, где для диска /dev/sda
- sda1 — загрузочный сектор диска;
- sda2 — файл подкачки (swap);
- sda3 — раздел, в котором установлена операционная система и который как раз и нужно увеличить.
Указываем, что мы хотим работать с диском /dev/sda
Командой d удаляем раздел sda3, выбрав Partition number (1-4): 3
Обратите внимание, что мы не удаляем данные на диске, они останутся не тронутыми, выполняя эту команду, мы удаляем лишь запись о разделе в таблице разделов диска.
После того как раздел был удален создаем его по новой, с помощью команды n.
- раздел является основным (primary partition) — команда p и Partition number (1-4): 3;
- оставляем по умолчанию первый и последний сектора, при этом будет создан раздел, используя все свободное пространство на диске.
Что сохранить изменения в обновленной таблице разделов и выйти из fdisk введите команду w.
После чего следует перезапустить систему, чтобы была подгружена новая таблица разделов, перезагружаем следующей командой:
Далее после того как система перезагружена, с помощью утилиты resize2fs увеличиваем размер файловой системы для раздела /dev/sda3
После выполнения команды, можно убедиться в том, что раздел увеличен, с помощью команды df.
Увеличить объем диска ext4 виртуальной машины Linux без потери данных на базе Hyper-V и KVM
В роли Hyper-V используется Windows 2012R2.
В роли KVM используется Ubuntu 14.04.1 и старше.
В роли Виртуальной машины используется Ubuntu 16.04.1.
1. Первым делом выключаем виртуальную машину и обязательно делаем копию образа, который будем увеличивать. На случай если, что то пойдет не так.
Сделать это можно обычным копированием, если места мало можно копируемый образ сжать.
a. В системе Linux это делается так
I. dd if=/img/образ-расширяемого-диска.qcow2 bs=8M conv=sync,noerror | gzip -c > /backup/img/образ-расширяемого-диска.qcow2-$(date «+%F»).gz
Данная команда выполняет по секторное копирование образа с текущей датой одновременно сжимая образ утилитой gzip
split -b 9000m /backup/img/образ-расширяемого-диска.qcow2-$(date «+%F»).gz /backup/img/образ-расширяемого-диска.qcow2-$(date «+%F»).gz.part
Split выполняет разбиение архива на несколько частей размером 9 GB (эту команду выполнять не обязательно. Она полезна, когда вам нужно перемести копию в другое место)
II. Или создать слепок диска
qemu-img snapshot -c
b. В системе Windows все достаточно просто
Открываем Диспетчер Hyper-V
I. Выбираем нужную виртуальную машину, нажимаем правой кнопкой мыши и выбираем пункт Контрольная точка (делается слепок виртуальной машины целиком)
II. Так же можно скопировать образ расширяемого диска в проводнике.
2. После того как сделали копию, приступаем к увеличению
a. В системе Linux используем команду qemu-img
qemu-img resize /img/образ-расширяемого-диска.qcow2 +20G (т.е. увеличить объем на 20Gb)
b. В системе Windows в меню справа выбираем изменить диск
I. Выбираем нужный нам образ.
II. В следующем меню выбираем пункт Развернуть.
III. На следующем этапе указываем полный размер образа (в Linux указывается на сколько увеличить, а в Windows указывается полный объем диска).
IV. Нажимаем Готово.
3. Во избежания каких либо проблем, лучше запустить систему с помощью LiveCD (в некоторых случаях, когда система загружается, запускаются процессы использующие диск, если диск не смонтирован, в том месте где он был ранее смонтирован создадутся новые файлы и вам придется потом их объединять)
После того как загрузится система, выполняем команду
parted /dev/sdb (sdb диск который мы увеличиваем)
в консоле parted выводим командой print на экран наши разделы диска
Размер диска увеличился на 10GB (Диск /dev/sdb: 75.2GB)
Раздел ранее размеченного диска занимает 64.0GB primary ext4
resizepart 1 (1 — раздел который мы увеличиваем)
На вопрос где конец разделе указываем 75.2GB и нажимаем enter
Еще раз вводим команду print, чтобы убедится, что наш раздел увеличился
Если все в порядке нажимаем q и enter для выхода из parted
4. Запускаем утилиту e2fsck -f /dev/sdb1
5. Дальше нужно выполнить команду resize2fs /dev/sdb1 (без этого пункта система будет выдавать старую информацию о разделе)
6. Желательно после разметки проверить диск на ошибки
fsck.ext4 /dev/sdb1
7. Завершаем работу систему LiveCD
8. Подключаем образ к виртуальной машине и запускаем.
Увеличение размера диска VMware(VMDK) в Linux LVM
Увеличение размера диска в виртуальной машине под управлением VMware.
Для увеличения размера диска в виртуальной машине под управлением VMware, необходимо выполнить несколько важных шагов. Во-первых, необходимо увеличить размер диска в vSphere Client. Эта операция увеличит размер жесткого диска на уровне оборудования. Затем необходимо увеличить размер раздела.
Небольшая заметка, если сервер поддерживает “hot swap“, можно легко добавить новый жесткий диск к виртуальной машине. В противном случае, будет означать, что мы не можем увеличить размер LVM без перезагрузки. Если увеличим размер присоединенного диска (как в примере ниже), необходимо перезагрузить сервер или, по крайней мере, перечитать таблицу разделов.
В Linux можно повторно сканировать жесткие диски без перезагрузки гостевой виртуальной машины. Прочтите статью об этом, если вы не хотите, перезагружать VM после добавления нового жесткого диска или увеличения текущего размера диска: Обновление дисков виртуальных машин на Linux без перезагрузки в инфраструктуре VMware
Шаг 1. Проверка необходимости добавления нового диска, либо добавления нового
Довольно важный пункт, поскольку диск, который уже был разделен на 4 основных раздела не может быть увеличен. Чтобы проверить это, запустим fdisk -l
Насколько видно из вывода команды, то у нас только два раздел, поэтому увеличение диска в данном случае возможно.
Шаг 2. “Физическое” добавление диска на виртуальную машину
Увеличиваем диск виртуальной машины через vSphere клиент
Если «Provisioned Size» недоступно, необходимо выключить виртуальную машину (так как не поддерживается «горячее» добавление дисков), и проверить, если есть какие-то снепшоты, сделанные в этой виртуальной машине. Невозможно изменить размер диска пока доступны снепшоты.
Альтернатива, если уже есть четыре раздела, можно выбрать «Add…» и добавить новое оборудование «Virtual Disk» в виртуальную машину, чтобы увеличить размер диска.
Шаг 3. Создание разделов на нераспределенном пространстве
После того как мы изменили размер диска, необходимо включить виртуальную машину еще раз, или перезагрузить, если она работала. Системе необходимо загрузиться с нового диска, для того чтобы он мог обнаружить добавленное (незанятое) дисковое пространство.
После загрузки можно проверить, есть ли дополнительное пространство на диске.
Проверяем:
Как видим — объем диска изменился, теперь создадим раздел, используя утилиту fdisk для устройства /dev/sda . Пожалуйста, обратите внимание, что система может иметь только 4 основных разделов на диске! Если уже достигнут предел, необходимо создать расширенный раздел.
Значение цилиндров могут отличатся в системе. FDISK даст значение по умолчанию для первого и последнего цилиндра (как раз будет использоваться добавленное дисковое пространство).
Теперь изменим тип раздела. Вводим номер раздела, берем из предыдущего шага. Когда необходимо будет вводить «Hex code», вводим 8e , и подтверждаем.
Возвращаемся в главное меню и нажимаем w для записи раздела на диск. Получим сообщение, что ядро все еще использует старую таблицу раздела, необходимо перезагрузить машину для применения новой таблицы.
После перезагрузки, можно увидеть новый раздел, используя команду fdisk .
Расширяем Logical Volume
Теперь создаем физический том как основной для LVM командой pvcreate /dev/sda3
Узнаем Volume Group
И расширяем Volume Group только что добавленным томом, выполнив команду vgextend VolumeGroupName /dev/sda3
Используя команду pvscan , можно обнаружить новый том и дисковое пространство (20Гб в нашем случае).
Следующим действием, расширяем Logical Volume командой lvextend /dev/VolGroup00/LogVol00 /dev/sda3 .
(Для поиска LogVol00 значения используем команду lvdisplay -v )
Если испольузется убунтоподобная система, то выполняем команду lvextend /dev/mapper/vg-name /dev/sda3
Чтобы использовать новое дисковое пространство, необходимо только изменить размер файловой системы в группе томов.
Запускаем ресайз командой: resize2fs /dev/VolGroup00/LogVol00
Увеличение диска завершено — проверяем!
Если используется файловая система XFS , как правило на CentOS 7 она идет по умолчанию, то при запуске команды resize2fs появится ошибка:
Вместо resize2fs используйте команду xfs_growfs :