Столкнулся с нехваткой свободного места на диске при установке довольно объемного справочника на семи DVD дисках в виртуальную машину VirtualBox. Изначальный размер единственного диска виртуальной машины был 40G и я понадеялся на то, что будет устанавливаться только часть данных относящихся к русскому языку. Вместо этого я столкнулся с нехваткой свободного места на предпоследнем диске.
Было лениво отменять установку, откатываться к предыдущему снапшоту и добавлять отдельный диск. Вместо этого решил изменить размер существующего диска, а поскольку он содержит снапшоты, то заодно и их.
Заметки о Linux, системном администрировании, программировании, электронике и не только
Показаны сообщения с ярлыком virtualization. Показать все сообщения
Показаны сообщения с ярлыком virtualization. Показать все сообщения
понедельник, 2 апреля 2018 г.
суббота, 1 марта 2014 г.
Подготовка образа дискеты с virtio драйвером для установки Windows Server 2003
Использование Windows Server 2003 на выделенном сервере сегодня имеет крайне мало смысла. Но старый солдат еще послужит, если перенести систему в виртуальную машину. В качестве системы виртуализации используется гипервизор KVM, что позволяет использовать virtio драйвера (storage, network, balloon) для оптимальной производительности.
Сначала создаю файл образа дискеты
Скачиваю образ с virtio драйверами. По этому совету я выбрал версию 0.1-49.
Создаю структуру установочного диска
Осталось подчистить хвосты
В результате в файле ./virtio-floppy_0.1-49.ima находится образ дискеты для установки Windows Server 2003 на диск, доступный через virtio контроллер.
Сначала создаю файл образа дискеты
$ truncate -s 1440k ./virtio-floppy_0.1-49.ima $ sudo mkfs -t vfat -n VIRTIO ./virtio-floppy_0.1-49.ima $ sudo mkdir /mnt/floppy $ sudo mount -o loop,rw ./virtio-floppy_0.1-49.ima /mnt/floppy
Скачиваю образ с virtio драйверами. По этому совету я выбрал версию 0.1-49.
$ wget http://alt.fedoraproject.org/pub/alt/virtio-win/archives/virtio-win-0.1-49/virtio-win-0.1-49.iso
Создаю структуру установочного диска
$ sudo mkdir /mnt/iso $ sudo mount -o ro,loop ./virtio-win-0.1-49.iso /mnt/iso $ sudo mkdir -p /mnt/floppy/{i386,amd64}/Win2003 $ sudo touch /mnt/floppy/disk1 $ sudo cp /mnt/iso/WNET/X86/VIOSTOR.* /mnt/floppy/i386/ $ sudo cp /mnt/iso/WNET/AMD64/VIOSTOR.* /mnt/floppy/amd64/ $ cat<<_EOF_ | sudo tee /mnt/floppy/txtsetup.oem [Disks] d1 = "OEM DISK (SCSI) Win2003/32-bit",\disk1,\i386\Win2003 d2 = "OEM DISK (SCSI) Win2003/64-bit",\disk1,\amd64\Win2003 [Defaults] SCSI = WNET32 [scsi] WNET32 = "Red Hat VirtIO SCSI Disk Device Win2003/32-bit" WNET64 = "Red Hat VirtIO SCSI Disk Device Win2003/64-bit" [Files.scsi.WNET32] driver = d1, viostor.sys, viostor inf = d1, viostor.inf catalog= d1, viostor.cat [Files.scsi.WNET64] driver = d2, viostor.sys, viostor inf = d2, viostor.inf catalog= d2, viostor.cat [HardwareIds.scsi.WNET32] id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00000000", "viostor" id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00020000", "viostor" id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4", "viostor" [HardwareIds.scsi.WNET64] id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00000000", "viostor" id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00020000", "viostor" id = "PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4", "viostor" [Config.WNET32] value = Parameters\PnpInterface,5,REG_DWORD,1 [Config.WNET64] value = Parameters\PnpInterface,5,REG_DWORD,1 _EOF_
Осталось подчистить хвосты
$ sudo umount /mnt/{iso,floppy} $ sudo rmdir /mnt/{iso,floppy}
В результате в файле ./virtio-floppy_0.1-49.ima находится образ дискеты для установки Windows Server 2003 на диск, доступный через virtio контроллер.
Модификация Seabios для гипервизора KVM
Для модификации BIOS потребуется установить пару зависимостей
Внедрение секции ACPI_SLIC (используется SLIC той машины, где выполняется модификация) в BIOS для гипервизора KVM
После завершения компиляции нужно установить модифицированную версию Seabios в систему (я не заменяю дистрибутивный BIOS, вместо этого устанавливается отдельная версия)
Далее нужно отредактировать конфигурацию виртуальной машины
В открывшемся редакторе нужно привести XML файл виртуальной машины к подобному виду
После сохранения файла и перезапуска виртуальной машины в BIOS будет доступна дополнительная секция.
$ sudo aptitude install build-essential iasl
Внедрение секции ACPI_SLIC (используется SLIC той машины, где выполняется модификация) в BIOS для гипервизора KVM
$ git clone https://github.com/ghuntley/seaslic.git seaslic $ cd seaslic $ git clone git://git.seabios.org/seabios.git seabios.submodule $ cd seabios.submodule $ git checkout rel-1.7.3.2 $ cd .. $ ./patch.sh
После завершения компиляции нужно установить модифицированную версию Seabios в систему (я не заменяю дистрибутивный BIOS, вместо этого устанавливается отдельная версия)
$ sudo mkdir /opt/seaslic $ sudo cp seabios.submodule/out/bios.bin /opt/seaslic
Далее нужно отредактировать конфигурацию виртуальной машины
$ export LIBVIRT_DEFAULT_URI=qemu:///system $ virsh edit vmname
В открывшемся редакторе нужно привести XML файл виртуальной машины к подобному виду
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> ... <qemu:commandline> <qemu:arg value='-bios'/> <qemu:arg value='/opt/seaslic/bios.bin'/> </qemu:commandline> </domain>
После сохранения файла и перезапуска виртуальной машины в BIOS будет доступна дополнительная секция.
Подписаться на:
Сообщения (Atom)