Jestem TA na kurs programowania i mam zadanie tworzenia obrazu maszyny wirtualnej opartej na Ubuntu 14.04 LTS ze wstępnie zainstalowanym całym niezbędnym oprogramowaniem (do programowania w C ++ i Python), aby wszyscy studenci mieli ten sam system wirtualny i unikaliśmy zmagań sprawiając, że wszystko będzie działać na różnych maszynach i systemach operacyjnych. Zamierzamy używać Virtual Box jako hosta oprogramowania VM, ponieważ jest ono bezpłatne i dostępne na wiele platform.
Naiwnie chciałbym użyć obrazu dysku Ubuntu 14.04 LTS, uruchomić go w moim Virtual Box, zainstalować na wirtualnym dysku twardym (VDI), założyć konto „studenckie” ze wstępnie zdefiniowanym hasłem, zainstalować wszystkie niezbędne oprogramowanie, zamknąć w dół maszyny wirtualnej i rozpowszechnij plik VDI. Poprosimy każdego ucznia o zaimportowanie VDI do Virtual Box, uruchomienie go i skonfigurowanie konta osobistego (lub po prostu użyj domyślnego konta studenta).
- Czy powyższa procedura jest wykonalna?
- Na co wpadać w pułapkę? Musimy to być w zasadzie głupie. Oczekujemy ponad 80 studentów i jesteśmy tylko czterema TA, więc nie możemy zapewnić indywidualnego wsparcia.
- Czy istnieją wady korzystania z dynamicznie przydzielanego wirtualnego dysku twardego typu VDI?
- Czy mogę instalować Dodatki dla gości Virtual Box od samego początku, czy robi coś konkretnego dla hosta?
- Czy istnieje bardziej elegancki sposób obsługi tworzenia konta użytkownika? Najlepiej byłoby, gdyby Ubuntu uruchomił je przy pomocy kreatora tworzenia konta i kazał im ustawić hasła (a także dodać je do pliku sudoers) przy pierwszym uruchomieniu obrazu. Nie jest to jednak priorytetem. Wydaje mi się, że posiadanie konta domyślnego jest w porządku.
źródło
Odpowiedzi:
Chociaż pytanie to jest w pewnym stopniu oparte na opinii:
Tak, ta procedura jest wykonalna - wierzę, że osiągnie to, czego szukasz i jest to coś, co zrobiłem w przeszłości z innymi dystrybucjami Linuksa.
Jedyną prawdziwą pułapką są odstępy między dyskami ... upewnij się, że maszyny uczniów mają wystarczającą ilość miejsca na dysku, aby obsłużyć rozmiar dysku wirtualnego. Upewnij się również, że trzymasz kopię offline na co najmniej jednym komputerze, abyś mógł użyć dysku szablonu / dysku referencyjnego do szybkiego odtworzenia dysku, gdy uczeń zabije swój komputer.
Wadą dysku dynamicznego jest to, że system operacyjny hosta musi przydzielać coraz więcej miejsca na dysku, gdy maszyna wirtualna rośnie wraz z danymi / aktualizacjami. Ma to narzut związany z wydajnością, który czasami może być uciążliwy - szczególnie jeśli pracujesz na maszynie wirtualnej o niskiej mocy (moc komputera hosta minus moc używana do rozszerzenia dysku powoduje zwykle opóźnienie maszyn wirtualnych). następnie nie można go przenieść (nie wszystkie maszyny w laboratorium mogą mieć ponad 100 GB, gdy uczeń pomieszał swoją maszynę wirtualną)
Dodatki dla gości nie są specyficzne dla maszyny. Są raczej zestawem sterowników. Po zaimportowaniu maszyny wirtualnej do nowego hosta sterowniki maszyny wirtualnej wykryją i poprawią sprzęt w celu pracy na nowym hoście.
Eleganckie tworzenie użytkowników - nie jestem pewien, może skrypt, który uruchamia się przy pierwszym uruchomieniu i prosi użytkownika o utworzenie nowego konta, zanim skrypt sam się zniszczy? Zrobię kopanie i skontaktuję się z tobą, gdy będę miał 5 minut do stracenia.
Mam nadzieję, że to przynajmniej częściowo pomaga.
źródło
Odpowiadając dokładnie na twoje pytanie, jeśli musisz dostosować maszynę wirtualną i przekazać jej dostarczalną maszynę wirtualną VirtualBox, zalecam użycie Packera do paczkowania maszyny wirtualnej ze wszystkimi wymaganymi zależnościami. Został zbudowany wyłącznie w tym celu i pozwala rozkręcić obraz z ISO , wykonać dowolne rezerwowanie w stosunku do tego obrazu, a następnie utworzyć dostarczalny obraz VM VirtualBox. Jest to również dobre dla ciebie, ponieważ dokumentuje dokładnie to, co zostało zrobione w celu dostarczenia na wypadek, gdybyś chciał go odtworzyć / dodać coś do niego. Możesz także sprawdzić projekt w systemie kontroli źródła i wprowadzić zmiany. Oto przykład tego, co zostało zrobione, aby zacząć.
Jeśli jednak chcesz, aby działały szybko, polecam użycie Vagrant i rozdanie uczniom pliku Vagrantfile, który wykonuje wymagane przez ciebie udostępnianie na standardowym obrazie Ubuntu . Ma to kilka zalet:
Oto przykładowy plik Vagrantfile pokazujący, jak wykonać pewne administrowanie obrazu Ubuntu 14.04.
źródło
Idealnie wykonalne. Alternatywą byłby Vagrant, Puppet, Chef lub coś podobnego do zbudowania maszyn wirtualnych od zera, ale jest to dużo pracy do skonfigurowania.
Zespół programistów w jednej z moich witryn robi to samo, aby szybko uruchomić nowych programistów.
1 wstępnie ustawione konto (z uprawnieniami sudo) na obrazie i krótki dokument z instrukcją wraz z krokami, jakie należy wykonać, aby utworzyć konto osobiste.
Uwaga: Najprawdopodobniej potrzebujesz dostępu do sieci / Internetu na maszynie wirtualnej. To może być zmostkowane lub NATowane na hoście. Niezależnie od tego, który wybierzesz, będziesz musiał pouczyć swoich uczniów, jak skonfigurować stronę hosta. Wystarczy skonfigurować kartę sieciową w maszynie wirtualnej jako urządzenie DHCP. Jest to bezpieczny punkt wyjścia dla większości konfiguracji, nawet jeśli później użytkownik musi ręcznie skonfigurować statyczny adres IP.
Umieszczenie statycznego adresu IP na maszynie wirtualnej naprawdę wymaga problemów. Jest związany, że może być używany przez inną maszynę wirtualną, która jest online w tej samej sieci LAN ...
źródło