Vagrant i VMWare

Przymierzam się do wirtualizacji wszystkiego i chcę do tego użyć Vagranta. Dotychczas próbowałem w VirtualBoksem, ale wydajność była tak tragiczna, że zrezygnował.

Czy ktoś próbował spiąć to z VMWare? Jak wydajność? Z jakimi dystrybucjami? (jest sterownik do Vagranta)

Nie wiem jak działa to pod MacOS X, ale z systemem Linux aby mieć sensowną wydajność musisz w Vagrancie zmienić kilka opcji. Inaczej rzeczywiście jest tragedia. Rzeczy które zmieniam:

config.vm.provider :virtualbox do |vb|
     # Pamięć dla wirtualki, mam 8GB w systemie więc 4 daję pod VM
     vb.customize ["modifyvm", :id, "--memory", "4096"]

     # W przeciwnym wypadku łapie tylko 1 procesor/rdzeń
     # Jeśli masz 8 wirtualnych rdzeni to spokojnie 4 można oddać maszynie
     vb.customize ["modifyvm", :id, "--cpus", 4]

     # Bez tego nie bangla powyższe ustawienie
     vb.customize ["modifyvm", :id, "--ioapic", "on"]
end

Dystrybucja zwirtulizowana to zazwyczaj najnowszy LTS Ubuntu. Zwasadę mam taką że jak jest wdrożenie pod danym systemem na produkcji, to taki sam setup mam w Vagrancie – i bardzo polecam takie podejście, problemy odkrywasz podczas developmentu a nie gdy wdrożysz i się posypie ze względu na inną wersję jakiejś biblioteki ;).

[quote=hubertlepicki]Nie wiem jak działa to pod MacOS X, ale z systemem Linux aby mieć sensowną wydajność musisz w Vagrancie zmienić kilka opcji. Inaczej rzeczywiście jest tragedia. Rzeczy które zmieniam:

[code ruby]
config.vm.provider :virtualbox do |vb|
# Pamięć dla wirtualki, mam 8GB w systemie więc 4 daję pod VM
vb.customize [“modifyvm”, :id, “–memory”, “4096”]

 # W przeciwnym wypadku łapie tylko 1 procesor/rdzeń
 # Jeśli masz 8 wirtualnych rdzeni to spokojnie 4 można oddać maszynie
 vb.customize ["modifyvm", :id, "--cpus", 4]

 # Bez tego nie bangla powyższe ustawienie
 vb.customize ["modifyvm", :id, "--ioapic", "on"]

end
[/code][/quote]
Próbowałem i pod Mac OS niestety jest nadal tragedia. :frowning:

Dystrybucja dystrybucją, ale kwestia jeszcze pozostałych elementów setupu. :slight_smile: (chef, puppet czy ansible)

[quote=filiptepper]Przymierzam się do wirtualizacji wszystkiego i chcę do tego użyć Vagranta. Dotychczas próbowałem w VirtualBoksem, ale wydajność była tak tragiczna, że zrezygnował.

Czy ktoś próbował spiąć to z VMWare? Jak wydajność? Z jakimi dystrybucjami? (jest sterownik do Vagranta)[/quote]
Z tego co słyszałem wszystkie nowe Intelowe maki wspierają instrukcje wirtualizacji VT-x. Ja miałem podobny problem z VirtualBoxem podczas pracy na 7 letnim laptopie, który nie wspierał.
Jaki masz dokładnie procek w tym maku (z którego roku) ?

Spróbuj jeszcze dla pewności:

sysctl -a | grep machdep.cpu.features

Jesli jest VMX to masz odpowiedni CPU. W VirtualBox’ie musi być włączona opcja “Enable VT-x” w System -> Acceleration (jest domyślnie włączona).
Jest też chyba ustawienie tego w biosie. Bez tego wszystkie wirtualki będą mulić.

U mnie Ubuntu 12 startuje w około 5 sekund w Vboxie (Intel® Core™ i7-3615QM CPU @ 2.30GHz).

Hubert, nie bądź taki, napisz blognotkę o tym jak dokładnie budujesz taki setup.
Bonusowe punkty za użycie LXC (i ew. Dockera) zamiast Vagranta :slight_smile:

[quote=hosiawak]Jesli jest VMX to masz odpowiedni CPU. W VirtualBox’ie musi być włączona opcja “Enable VT-x” w System -> Acceleration (jest domyślnie włączona).
Jest też chyba ustawienie tego w biosie. Bez tego wszystkie wirtualki będą mulić.

U mnie Ubuntu 12 startuje w około 5 sekund w Vboxie (Intel® Core™ i7-3615QM CPU @ 2.30GHz).[/quote]
Model Name: MacBook Air
Model Identifier: MacBookAir4,2
Processor Name: Intel Core i5
Processor Speed: 1,7 GHz

(nie znam się :slight_smile:

Spróbuję, dzięki za tipa.

http://openbenchmarking.org/system/1306254-SO-APPLEMACB22/2013%20MacBook%20Air/cpuinfo

jak widac na liscie jest vmx

Setup: nic specjalnego. Próbowałem LXC i działa super pod warunkiem że system główny to też Ubuntu. Używamy z powodzeniem na produkcji nadal. Ale na desktopie wolę Arch Linux, a w takim przypadku ani LXC ani docker nie są gotowe. docker załatwi sprawę niekompatybilności LXC pomiędzy dystrybucjami za jakiś czas i pewnie znowu wrócę do takiego setupu.

Jeżeli gościem pod VB jest ubuntu, to upewnij się, że masz kernel “-virtual”. Chociaż szansa, że tak nie jest jest raczej minimalna (chyba że używałeś jakiegoś egzotycznego boxa).

Pierwszą rzeczą do włączenia jest NFS: http://docs.vagrantup.com/v2/synced-folders/nfs.html. W przeciwnym razie filesystem mocno zwalnia.

In some cases the default shared folder implementations (such as VirtualBox shared folders) have high performance penalties.

Wiem, że dla hosta Ubuntu były jakieś przeboje związane z użytą implementacją nfsd, jednak dla OSX to działa jak najbardziej ok.

Pod Ubuntu również działa(ło) bez problemów, z tego co pamiętam. Problem z Vagrantem i VirtualBoxem jest jednak taki że na dłuższą metę może być to nie za dobra opcja. Mitchell Hashimoto zmienił swoje podejście i strasznie jedzie po VirtualBox/Oracle a promuje VMware. Oczywiście że chodzi o kasę bo plugin jest płatny. Tak więc spodziewam się powolnego psucia się wsparcia dl VirtualBoxa i VMware-only ficzerów w niedługim czasie… smuteczek.

Nie aż taki smuteczek, na pluginie na pewno fortuny nie zrobi, a jak dobrze pamiętam benchmarki to pod Mac OS Parallels i VMWave były do 3 czy 4 razy szybsze niż VirtualBox (który w moim doświadczeniu jest niestabilny jak cholera, podobnie jak Parallels). Jeśli ktokolwiek profit to raczej my. :wink:

3-4 razy szybsze niż VirtualBox… raczej niemożliwe, biorąc pod uwagę że spadek wydajności przy wirtualizacji nie powinien w żadnym wypadku przekraczać ~20% bo mija się to z celem.

http://xmodulo.com/2013/07/vmware-player-vs-virtualbox-performance-comparison.html - pewnie są lepsze benchmarki.

Jeśli o wydajność chodzi, to prawdopodobnie nic nie pobije Vagrant + LXC (może via docker). Nie wiem czy coś podobnego będzie możliwe na Mac OS, prawdopodobnie nie.

Nie mogę znaleźć tego benchmarka więc nie będę się kłócił. :smile:

Zgadzam się, że LXC byłoby wspaniałe, ale na Mac OS jest możliwe jedynie w środowisku wirtualnym. Dawg…

Być może spróbuję VMWare + Vagrant + plugin, Mitchell pisał, że nie ma triala, ale zrobi refund jeśli coś będzie nie OK.