Zabawy z obrazami i limitowanie sieci
Obrazy dysków
Dyski twarde używane przez maszyny wirtualne są najczęściej fizycznie plikami w różnych formatach: VMDK (VmWare), VHD (Microsoft), VDI (VirtualBox), itp. Jak poradzić sobie z ich obsługą ?
Konwersję między większością formatów zrobimy z użyciem qemu-img, przykładowe wywołanie z konsoli może wyglądać tak:
qemu-img convert -O raw plik_wejsciowy.vhd plik_wyjsciowy.bin
Jest też narzędzie VBoxManage, które pozwoli na obsługę VHD, VDI i VMDK. Konwersję pliku uzyskamy tutaj przez:
VBoxManage clonehd plik_wejsciowy.vmdk plik_wyjsciowy.vhd --format VHD
gdzie zamiast VHD podajemy docelowy format pliku.
Jeżeli chcielibyśmy zmienić rozmiar pliku VMDK (tzn. pliku, a nie partycji w nim zapisanych), opcja do tego znajduje się w pakiecie VmWare Player przy ustawieniach maszyn wirtualnych, do których ten plik podłączono.
Pakiet ten zawiera jeszcze jedną przydatną aplikację: vmware-fuseUI - pozwala na łatwe "podłączenie" zawartości pliku VMDK w jakimś katalogu systemu plików. Z kronikarskiego obowiązku: podobne rozwiązanie ma Windows 7 (w odniesieniu do plików VHD).
Limitowanie sieci
Praktycznie każda z przedstawionych wcześniej maszyn ma funkcje ustawiania ilości rdzeni procesora czy dostępnej ilości pamięci RAM. Niestety żadna nie potrafi ograniczyć pasma przeznaczonego dla karty sieciowej. Czy da się coś z tym zrobić?
Można założyć odpowiednie ograniczenie w samej maszynie wirtualnej. Ubuntu ma do tego celu narzędzie wondershaper. W celu ustawienia limitu wydajemy komendę z konsoli:
wondershaper eth0 100 200
gdzie zamiast eth0 podajemy nazwę naszego interfejsu sieciowego (uzyskamy ją np. poprzez komendę ifconfig), zamiast 100 prędkość pobierania w kilobitach/s i zamiast 200 prędkość wysyłania w kilobitach/s.