Оригинальный вопрос: Как изменить размер корневого раздела без live CD?
У меня есть виртуальная машина, которую мне нужно увеличить. Я увеличил размер виртуальной машины, и теперь мне нужно изменить размер разделов, чтобы я мог использовать дополнительное пространство.
Это моя текущая таблица разделов, и цель состоит в том, чтобы объединить /dev/vda1
и /dev/vda2
.
vda1
- мой текущий корневой раздел
vda2
- расширенный раздел, содержащий vda5
(swap)
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 18874367 9436160 83 Linux
/dev/vda2 18876414 20969471 1046529 5 Extended
/dev/vda5 18876416 20969471 1046528 82 Linux swap / Solaris
Это было бы просто с Gparted и live CD, но Я могу только ssh на сервер или открыть его в virt-manager, но это все еще только командная строка. Как я могу изменить размер корневого раздела?
ВМ - сервер Ubuntu 12.04.
Необходимо соединить VM с ISO живого CD - файл, который можно загрузить. Я предполагаю, что Вы не используете Инструмент GUI (как virt-менеджер), таким образом, необходимо будет сделать это из командной строки.
Можно использовать virsh
получить XML-файл конфигурации VM (я назвал свой VM qemu1
)
virsh dumpxml qemu1 > qemu1-config.xml
Теперь отредактируйте тот файл, ищите что-то как
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide' tray='open'/>
<readonly/>
<alias name='ide0-1-0'/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
и замените его
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/media/data/isos/gparted-live-0.13.0-1.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
Важные моменты
<source file=.../>
содержит изофайл<target .../>
не должен содержать tray open
теперьИ теперь Вы осуществляете новые настройки с
virsh define qemu1-config.xml
VM будет нужен перезапуск.
Вот что в итоге сработало:
Увеличьте файл img (образ виртуального диска) для ВМ:
1. sudo qemu-img create -f raw addon.raw 10G
Создайте сырой файл диска
2. sudo mv domain.img domain.old.img
резервный ток img
3. sudo cat domain.old.img addon.raw >> domain.img
объединить оригинал и дополнительный файл для создания нового файла img большего размера.
Теперь у нас есть увеличенное изображение, но у виртуальной машины все еще есть старая таблица разделов. Теперь сложная часть
Следующие шаги выполняются на хост-машине с выключением виртуальной машины
Скачать iso-файл для gparted:
wget -c http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.6.4-1/gparted-live-0.6.4-1.iso
[ 1127] Загрузите iso с виртуальным образом в качестве жесткого диска в виртуальной системе
Команда: kvm -m 512 -hda domain.img -cdrom gparted-live-0.6.4-1.iso -boot d
Мы в основном запускаем виртуальную систему kvm
, которая будет загружаться из cdrom -boot d
и gparted находится в cdrom -cdrom gparted-live-0.6.4-1.iso
и в этой виртуальной системе обрабатывает domain.img как жесткий диск -hda domain.img
и выделяет 512 Мб памяти для этой виртуальной системы -m 512
.
Теперь появляется gparted с симпатичным графическим интерфейсом (возможно, также с параметром командной строки), готовым переразбить ваш виртуальный диск.
Теперь вы можете управлять таблицей разделов так же, как вы использовали liveCD на реальной машине.
Большая часть этой информации была взята из этого блога Крисом Уолденом.
Спасибо @guntbert за то, что он направил меня в правильном направлении (т.е. можно загрузить виртуальную машину с liveCD).
Вы можете использовать gParted и resize
из командной строки. Тип ...
sudo -i
parted
Он покажет
GNU Parted 1.7.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
list
покажет много команд ...
(parted) list check NUMBER do a simple check on the file system cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition help [COMMAND] prints general help, or help on COMMAND mklabel LABEL-TYPE create a new disklabel (partition table) mkfs NUMBER FS-TYPE make a FS-TYPE file system on partititon NUMBER mkpart PART-TYPE [FS-TYPE] START END make a partition mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system move NUMBER START END move partition NUMBER name NUMBER NAME name partition NUMBER as NAME print [free|NUMBER|all] display the partition table, a partition, or all devices quit exit program rescue START END rescue a lost partition near START and END resize NUMBER START END resize partition NUMBER and its file system rm NUMBER delete partition NUMBER select DEVICE choose the device to edit set NUMBER FLAG STATE change the FLAG on partition NUMBER toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER unit UNIT set the default unit to UNIT version displays the current version of GNU Parted and copyright information
print
покажет расположение диска и добавит номер к диску; resize {number}
позволит вам изменить размер диска. [ 118] Я никогда не использовал его таким образом, поэтому будьте осторожны при вводе команд.
Вы можете использовать parted
инструмент командной строки для этого.
Сначала необходимо удалить расширенный раздел.
список разделов с использованием parted
parted /dev/vda
Запишите номер расширенного раздела. с starting and ending blocks
и удалите его.
(parted) rm 2 ( Where is 2 your extended partition no.)
Проверьте это, не используя
(parted) print
Вы удалите расширенный раздел. Теперь сделайте основной раздел в оставшемся пространстве.
(parted) mkpart primary <starting block no.> <ending block no.>
в качестве начального и конечного блоков №. Ранее отмечалось. проверьте это снова
(parted) print
перезагрузите вашу систему, чтобы получить эффекты.
Измените размер корневого раздела
resize2fs /dev/vda
Вы должны просто проверить дисковое пространство, используя.
df -lh
Вы получите расширенный корневой раздел.