Dystrybucja Ubuntu w wersji 10 ma wbudowaną obsługę Microsoft Hyper-V, co jest miłym zaskoczeniem i niejako dobrze nawiązuje do poprzedniego posta.
Dla wszystkich, którzy chcieliby wdrożyć Ubuntu w zwirtualizowanym środowisku Microsoft Hyper-V poniżej zamieszczam krótki tutorial dla instalacji Ubuntu Server 10.04 LTS:
Tworzymy maszynę wirtualną w przystawce Hyper-V Manager, jako kartę sieciową wybieramy Legacy Network Adapter jednocześnie kasując istniejący Network Adapter i dopiero wtedy instalujemy system Ubuntu.
Po przejściu całego procesu instalacji Ubuntu i uruchomieniu serwera po instalacji nie należy martwić się, jeżeli nie będzie komunikacji sieciowej.
W moim przypadku po uruchomieniu wszystkich demonów komunikacja sieciowa nie działała, aczkolwiek system raportował prawidłowe ustawienia karty eth0, a nawet przy ustawieniu karty sieciowej na DHCP adres był prawidłowo pobierany w trakcie startu systemu.
Następnie należy zalogować się do Ubuntu i dokonać edycji pliku /etc/initramfs-tools/modules w celu załadowania modułów integrujących z Hyper-V. Nie ma konieczności doinstalowywania dodatkowych pakietów (jak Linux Integration Components dla Hyper-V), gdyż moduły te znajdują się w podstawowej instalacji Ubuntu 10.
Wykonujemy komendę:
# sudo nano /etc/initramfs-tools/modules
W celu uruchomienia modułów odpowiedzialnych za współpracę z Hyper-V w pliku należy dodać linie:
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc
po zapisaniu pliku należy wygenerować nowy obraz initrd komendą:
# sudo update-initramfs –u
Następnie wyłączamy system komendą:
# sudo halt
W konfiguracji maszyny wirtualnej dodajemy kartę sieciową Network Adapter (możemy jeszcze nie usuwać Legacy Network Adapter) i uruchamiamy maszynę wirtualną. Ubuntu rozpozna nową kartę (Network Adapter) jako seth0. Legacy Network Adapter jest widziany jako eth0.
Po zalogowaniu do Ubuntu sprawdzamy, czy moduły odpowiedzialne za współpracę z Hyper-V zostały uruchomione komendą:
# lsmod | grep hv_*
Jeżeli moduły są załadowane, możemy zmienić wykorzystywaną przez Ubuntu kartę Legacy Ethernet Adapter na nowy Network Adapter – w tym celu edytujemy plik /etc/network/interfaces komendą:
# sudo nano /etc/network/interfaces
i zamieniamy wszystkie wystąpienia eth0 na seth0
Po zapisaniu pliku wyłączamy maszynę wirtualną:
# sudo halt
i w konfiguracji maszyny wirtualnej usuwamy Legacy Network Adapter.
Po ponownym włączeniu maszyny wirtualnej możemy sprawdzić, czy nowa karta seth0 jest skonfigurowana prawidłowo komendą:
# ifconfig
Jeżeli wszystko chodzi proponuję skopiować obraz VHD lub wykonać snapshot maszyny 