Увеличение жесткого диска виртуальной машины linux

Увеличиваем размер диска 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

Читайте также:  Видеоплеер со всеми форматами для windows

После выполнения команды, можно убедиться в том, что раздел увеличен, с помощью команды df.

Источник

Увеличение раздела диска в Linux на лету

Разницы нет: увеличиваете Вы размер раздела жесткого диска на работающей ОС, делаете это на виртуальной машине Proxmox или хостинге VDS . Механика работы одна и та же.

Для расширения раздела без потери данных в Linux нам понадобятся утилиты parted и resize2fs. Они должны быть в любом дистрибутиве по умолчанию. В Debian они есть. Если нет, то устанавливаем.

Сам процесс ресайза раздела прост:

  1. расширяем раздел в панели управления VDS или Proxmox;
  2. размечаем раздел, добавляя ему незанятое пространство, которое добавили в пункте №1;
  3. физически изменяем размер;
  4. перезагружаем ОС.

При этом все данные останутся на месте.

Инструкция по изменению раздела

Расширяем раздел в панели управления VDS или Proxmox

Подразумевается, что в панели управления Вы уже расширили пространство жесткого диска и теперь готовы сделать это «программно». Дополнительные объяснения здесь лишние.

Размечаем раздел

Проверяем какой размер раздела «виден» в ОС и как называется раздел:

Из примера видно, что существует жесткий диск /dev/vda уже размером 20GB. На нем есть раздел /dev/vda1, который пока занимает размер в 5GB. Именно эту разницу мы и должны исправить.

Подключаемся к жесткому диску утилитой parted, указывая жесткий диск:

Узнаем каким номером утилита parted обозначила нужный нам раздел:

В примере нужный нам раздел обозначается 1.

Расширяем раздел 1 до 20.5GB (это весь доступный размер):

Где End — это нужный размер раздела.

Выходим из утилиты parted:

На этом этап новой разметки раздела диска закончен.

Физически изменяем размер

Запускаем последнюю команду для применения всех наших действий:

После этого нужно перезапустить наш сервер и пользоваться увеличенным размером диска.

Комментарии

Нет комментариев к данной статье.

Оставить свой комментарий

Для того, чтобы оставить комментарий, необходимо авторизоваться.

Источник

KVM: Как увеличить/уменьшить размер диска виртуальной машины?

KVM: Как увеличить/уменьшить размер диска виртуальной машины?

В этой статье мы поговорим об изменении размера дисков виртуальной машины KVM, рассмотрим используемые форматы виртуальных дисков. Покажем, как правильно увеличить диск виртуальной машины в гипервизоре KVM на Linux без потери данных, а также обсудим варианты уменьшения размеров дисков.

Увеличение диска виртуальной машины KVM

Расширение виртуального диска со стороны KVM

Для того, чтобы проводить работы с диском, виртуальная машина должна быть отключена, иначе мы не сможем что-либо сделать. Рассмотрим пример с увеличением диска размер которого изначально был 20Гб.

Чтобы посмотреть параметры диска виртуальной машины KVM, воспользуйтесь командой:

qemu-img info /путь_до_диска

Вывод команды будет примерно такой:

Мы видим, что у нас есть два поля которые указывают на размер, это virtual_size и disk_size:

  • virtual_size – размер виртуального диска, указанный при создании или расширении диска (в этом примере максимальный размер диска – 20 Гб);
  • disk_size — размер файла диска в текущий момент, т.е. сколько сейчас занимает образ диска места на физическом сервере (относится только к формату qcow). В нашем пример виртуальный диск занимает всего 1,6 Гб на хранилище.

И сразу о форматах. Я рекомендую при создании виртуальных машин на KVM использовать формат диска qcow2, а не raw. Чуть позже я объясню почему.

Следующим шагом расширим диск виртуальной машины, на 5Gb (для корректного расширения диска у виртуальной машины не должно быть снапшотов!).
# qemu-img resize /путь до диска +5G

Если сразу проверить вывод информации об образе диска, мы увидим, что он расширился:

Читайте также:  Создание директории linux терминал

# qemu-img info /путь_до_диска

Часть работы мы сделали, но требуется и проведение работ со стороны виртуальной машины в гостевой ОС. Далее мы покажем, как увеличить размер диска в гостевых CentOS 7 и Windows Server 2012.

Расширение раздела в виртуальной машине с Linux CentOS

После расширения диска со стороны сервера, нужно запустить виртуальную машину и подключиться к ней по ssh. Все работы будут проводиться с помощью утилиты управления разделами жестких дисков fdisk.

После подключения к серверу, проверяем наличие нашего дополнительно подключенного места:

На скриншоте видно, раздел /dev/vda2 имеет размер 20Gb, а доступное место на диске у нас больше.

Подправим этот момент и расширим раздел /dev/vda2 до максимального объема:

После чего нам нужно сделать рестарт виртуальной машины и выполнить команду для применения расширения диска:

В итоге мы получили расширенный раздел /dev/vda2. Теперь по порядку, что именно мы сделали:

  • fdisk /dev/vda — запустили утилиту fdisk подключившись к разделу /dev/vda
  • /d — удаляем раздел, по умолчанию это раздел 2 который нам и нужен, поэтому в следующем пункте жмем просто Enter
  • /n – создаем новый раздел, в следующем пункте так же просто жмем Enter или вводим p, далее Enter так как создаваемый раздел по умолчанию будет 2.
  • При указании первого и последнего сектора так же жмем просто Enter, если мы хотим расширить раздел до максимума, если вы хотите указать конкретный размер, в последнем секторе указывайте размер диска как указано в меню +size Размер не может быть меньше, чем был ранее!
  • /w — применяем наши настройки.

После перезагрузки проверим диск командой:

В некоторых источниках для выполнения данной процедуры указывают команду:

Но с файловой системой xfs это не работает!

Работы по расширению диска на виртуальной машине с ОС CentOS 7 закончены.

Увеличение диска в гостевой Windows Server

Подключаемся к виртуальной машине через rdp или VNC и выполняем работы по расширению диска.

Откройте Server Manager -> Tools -> Computer Management;

В открывшемся окне выбираем в меню Disk Management, после чего у вас должны отобразиться все ваши диски и неразмеченное пространство, которые мы добавили со стороны гипервизора KVM;

Выбираем нужный диск и нажимаем Extended Volume;

По умолчанию для увеличения размера диска будет предложено все доступное место;

Нажимаем «далее» и завершаем расширение. После данной процедуры, ваш раздел в системе должен будет расшириться;

Хотелось бы добавить, что перед процедурой расширения диска для виртуальной машины, я советую выполнять резервное копирование самого диска. Остановите виртуальную машину и скопируйте образ диска в директорию для бэкапа или в любую директорию, в которой есть свободное место. Если в ходе работ, что-то пойдет не так, вы всегда сможете вернуть образ виртуального диска из бэкапа.

Как уменьшить размер виртуального диска в KVM?

В своей работе, ранее я довольно часто сталкивался с данным вопросом, но к сожалению, безболезненно уменьшить диск на виртуальной машине в KVM нельзя! Единственный приемлемый размер уменьшения размер диска виртуальной машины KVM на физическом хранилище – его сжатие через конвертацию.

В интернете фигурирует много статей, якобы благодаря которым вы можете уменьшить размер диска на виртуальной машине, но это не работает.

Я приведу несколько примеров, на которые я натыкался и которые лично мною были проверены.

Уменьшение KVM диска с помощью утилиты qemu

На ряде ресурсов описаны действия, выполняемые с помощью утилиты qemu. В них предлагается уменьшить размер диска виртуальной машины с помощью команды:

qemu-img resize /путь_до_диска -5G — уменьшаем диск на 5G

Или такой вариант с указанием конкретного размера:

qemu-img resize /путь_до_диска 25G — указываем размер диска в 25G

Что происходит после выполнения данной команды? Запускаем сервер и конечно система не грузится:

Я пробовал сначала уменьшить раздел из-под системы с помощью утилиты fdisk, но в таком случае, система так же перестает загружаться, даже если вы пропустите шаг уменьшения диска с физического сервера и это логично. Раздел который мы уменьшаем, системный и соответственно ОС перестает загружаться, так как при уменьшении диска, информация по всей видимости уничтожается.

Уменьшение виртуального диска с подменой образа

Уже не такой распространенный в инструкциях вариант — это уменьшение диска, с подменой на старый. То есть, вы создаете новую виртуальную машину с нужным вам размером диска. После чего, подменяете старый образ диска в новый образ и судя по описанию статей в разных источниках, это работает. Я так же сделал проверку и это сломало файловую систему, как и в первом варианте. Я приведу пример команды:

virt-resize /старый_образ_диска /новый_образ_диска

Приводились так же варианты, с конвертацией диска с формата raw в формат qcow2, НО я изначально создаю машины в данном формате и объясню почему.

Форматы дисков KVM и сжатие диска в qcow2 формате

В самом начале статьи, я упомянул про эти два формата.

raw – в переводе «сырой». Преимущество формата, максимальная производительность, универсальность формата. Минусов масса, основные это:

  • Диск занимает все дисковое пространство на физическом сервере, которое ему выделили;
  • Нельзя создать снапшоты.

Qcow2 – это родной формат гипервизора QEMU, а так же QEMU-KVM. Это максимально удобный формат виртуального диска из всех поддерживаемых в KVM. Образ диска увеличивается по мере накопления данных на виртуальной машине, поддерживаются снапшоты.

Чем хорош формат qcow2? Вам в принципе не нужно уменьшать размер виртуального диска, так как диск занимает на сервере, ровно столько, сколько места там занято. Если же у вас данные на сервере постоянно перезаписываются и бывает такое, что диск «распух», его можно с легкостью сжать. Рассмотрим такой вариант. Я забью нулями некоторое дисковое пространство и после чего удалю файл:

dd if=/dev/zero of=/mytempfile
rm -rf /mytempfile

При проверке с сервера, образ диска сначала весил 2.4G после чего расширился до 5.9G:

# du -sh /путь_образа

# du -sh /путь_образа

То есть после удаления информации на виртуальной машине, диск обратно не сжался. Чтобы файл диска получил актуальный размер, я использую следующий метод:

Бэкапим файл диска, останавливаем виртуальную машину и после чего выполняем следующие действия:

qemu-img convert -O qcow2 /старый_образ /новый_образ

После чего можно проверить размеры двух дисков:

# du -sh /новый_диск

# du -sh /старый_диск

Как видим, размер сжатого диска 1.6G. Переименуем новый образ диска в нужный нам и запустим виртуальную машину:

Контрольная проверка с сервера:

# du -sh /образ_диска

Способ рабочий. За все время его использования, ни разу файловая система на виртуальной машине не умирала. Но настоятельно рекомендую перед подобными работами, создавать копию диска, если не хотите потерять данные.

Это все, что я хотел в данной статье рассказать. Если у кого-то из посетителей сайта есть рабочий способ по уменьшению диска на KVM, именно уменьшения (не сжатие) и именно рабочий, предлагайте свои варианты и я обязательно их протестирую.

Источник

Читайте также:  Windows как упорядочить папки
Оцените статью