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.
Dystrybucja dystrybucją, ale kwestia jeszcze pozostałych elementów setupu. (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).
[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
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).
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.
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.
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.