Menjalankan 100 mesin virtual pada satu server host VMWare


24

Saya telah menggunakan VMWare selama bertahun-tahun, menjalankan lusinan server produksi dengan sangat sedikit masalah. Tetapi saya tidak pernah mencoba hosting lebih dari 20 VM pada satu host fisik. Inilah idenya:

  1. Versi Windows XP yang dilucuti dapat hidup dengan RAM 512MB dan ruang disk 4GB.
  2. $ 5.000 memberi saya mesin kelas server 8-core dengan 64GB RAM dan empat mirror SAS.
  3. Karena 100 VM yang disebutkan di atas cocok dengan server ini, biaya perangkat keras saya hanya $ 50 per VM yang super bagus (lebih murah daripada menyewa VM di GoDaddy atau toko hosting lainnya).

Saya ingin melihat apakah ada yang bisa mencapai skalabilitas semacam ini dengan VMWare? Saya telah melakukan beberapa tes dan menabrak masalah aneh. Kinerja VM mulai menurun secara dramatis setelah Anda memulai 20 VM. Pada saat yang sama, server host tidak menunjukkan hambatan sumber daya apa pun (disknya 99% idle, utilisasi CPU di bawah 15% dan ada banyak RAM gratis).

Saya akan menghargai jika Anda dapat membagikan kisah sukses Anda seputar penskalaan VMWare atau teknologi virtualisasi lainnya!


4
Produk VMware apa yang Anda rencanakan untuk digunakan? ESX? ESXi? Server?
wzzrd

2
Anda dapat menjalankan XP dengan 256 tanpa banyak kesulitan, terutama jika tugasnya ringan. Microsoft membutuhkan 64 tetapi 128 adalah "cukup" technet.microsoft.com/en-us/library/bb457057.aspx
Matt Rogish

1
dari mana Anda membeli server Anda? Saya ingin satu :)
warren

1
5000 USD saja, bisakah Anda menjual saya dua? :)
Taras Chuhay

Anda memiliki "jumlah cpu" ini di server hosting Anda, dan masing-masing VM akan mendapatkan bagian darinya. Plus esxi akan memiliki overhead: "beralih ke VM ini, kelola, beralih ke yang berikutnya, dll", berkali-kali per detik. Ini berarti setiap VM hanya akan mendapatkan sebagian kecil dari total cpu. Semakin banyak VM, semakin banyak Anda membagi CPU Anda (dan semakin banyak overhead yang Anda tambahkan, yang berarti alih-alih memiliki 100 vms, Anda sebenarnya memiliki lebih banyak).
Olivier Dulac

Jawaban:


15

Ya kamu bisa. Bahkan untuk beberapa beban kerja Windows 2003 sesedikit 384MiB sudah mencukupi, jadi 512MiB adalah estimasi yang cukup bagus, baik itu sedikit tinggi. RAM seharusnya tidak menjadi masalah, begitu pula CPU.

A 100 VMs agak curam, tetapi bisa dilakukan, terutama jika VMs tidak akan menjadi sangat sibuk. Kami dengan mudah menjalankan 60 server (Windows 2003 dan RHEL) pada satu server ESX.

Dengan asumsi Anda berbicara tentang VMware ESX, Anda juga harus tahu bahwa ini dapat membuat overcommit memori. VM hampir tidak pernah menggunakan jatah memori yang ditunjuk penuh mereka, sehingga ESX dapat melakukan lebih dari jumlah RAM yang tersedia untuk VM dan menjalankan lebih banyak VM daripada yang sebenarnya 'memiliki' RAM.

Kemungkinan besar bottlenech Anda bukan CPU atau RAM, tetapi IO. VMware membanggakan sejumlah besar IOPS dalam pemasaran mereka, tetapi ketika dorongan datang untuk mendorong, konflik reservasi SCSI dan bandwidth terbatas akan menghentikan Anda sebelum Anda akan mendekati IOPS tentang VMware yang menyombongkan diri.

Bagaimanapun, kami tidak mengalami penurunan kinerja 20 VM. Versi ESX apa yang Anda gunakan?


Terima kasih Wzzrd! Saat ini saya menggunakan VMWare Server 2.0, tetapi berencana untuk mencoba ESX segera. Saya telah menonton I / O pada semua array host dengan sangat hati-hati, dan satu-satunya cara saya bisa memaksimalkannya adalah dengan me-reboot beberapa tamu sekaligus. Ketika para tamu sedang melakukan pekerjaan ringan atau diam, disk host adalah 99% idle. Jadi, saya curiga bahwa selain CPU dan IO menyebabkan semua VM melambat. Omong-omong, mereka melambat secara dramatis - dibutuhkan 20 detik untuk membuka menu Start, dan jika saya menjalankan Task Manager di dalam VM, task manager membutuhkan 90% CPU - aneh!
Dennis Kashkin

2
Itu karena Anda menggunakan VMware Server. VMware Server adalah platform virtualisasi di atas platform lain (Linux, paling sering), sementara ESX adalah platform virtualisasi logam kosong. Sangat berbeda, baik dalam konsep maupun cara kerjanya.
wzzrd

Sayangnya ketika patch day datang dengan 100 vm Anda AKAN me-reboot banyak mat pada saat yang sama;) Dan menambal itu sendiri sulit. Hati-hati dengan paket layanan - saat itulah rasa sakit yang sebenarnya dimulai;)
TomTom

Berhentilah membodohi diri Anda dengan berpikir bahwa bare metal adalah sesuatu yang istimewa. ESXi hanyalah sebuah stripping down Linux. Ya, Linux.
dresende

2
@dresende. Tidak. Percayalah kepadaku.
wzzrd

11

Satu masalah besar dengan lingkungan besar seperti itu adalah pencegahan bencana dan perlindungan data. Jika server mati, maka 100 VM mati bersamanya.

Anda perlu merencanakan semacam kegagalan VM, dan merencanakan semacam manajemen "ekstra-VM" yang akan melindungi VM Anda jika terjadi kegagalan. Tentu saja, jenis redundansi ini berarti peningkatan biaya - yang mungkin mengapa pengeluaran seperti itu tidak disetujui sampai setelah manfaatnya terlihat dalam praktik (dengan tidak adanya).

Ingat juga, bahwa host VM hanya satu dari beberapa titik kegagalan:

  • Jaringan - bagaimana jika kartu jaringan host VM turun?
  • Memori - bagaimana jika sepotong memori host VM memburuk?
  • CPU - jika inti CPU mati, lalu apa yang terjadi pada VM?
  • Daya - apakah hanya ada satu atau dua kabel daya?
  • Port manajemen - misalkan Anda tidak dapat mengakses manajemen host VM?

Ini hanya beberapa: infrastruktur VM besar membutuhkan perhatian yang cermat untuk pencegahan kehilangan data dan pencegahan hilangnya VM.


2
Dengarkan David. Anda akan menginginkan konfigurasi N + 1, artinya Anda memerlukan setidaknya satu mesin idle cadangan yang mampu menyerap semua beban kerja mesin lain jika gagal. Rekomendasi saya adalah kluster dua server yang mendistribusikan beban secara merata tetapi secara mandiri dapat menangani semua beban kerja jika satu mesin rusak.
Jason Pearce

4

Tidak ada pernyataan tentang kelayakan produksi ini, tetapi ada demo NetApp yang sangat menarik di mana mereka menyediakan 5440 XP desktop di 32 host ESX (sekitar 170 per host) dalam waktu sekitar 30 menit menggunakan ruang disk yang sangat sedikit karena deduplikasi terhadap VM umum gambar

http://www.youtube.com/watch?v=ekoiJX8ye38

Dugaan saya adalah keterbatasan Anda berasal dari subsistem disk. Anda tampaknya telah memperhitungkan penggunaan memori dan CPU yang sesuai.


3

Tidak pernah melakukannya - tetapi saya berjanji Anda akan menghabiskan lebih dari pada penyimpanan untuk mendapatkan cukup TIO untuk mendukung banyak VM daripada yang Anda lakukan pada perangkat keras server. Anda akan membutuhkan banyak TIO jika 100 dari mereka aktif pada saat yang sama. Tidak terdengar negatif tetapi apakah Anda juga menganggap Anda meletakkan banyak telur dalam satu keranjang (sepertinya Anda mencari solusi server tunggal?)


2
Saya pasti akan membuat beberapa "keranjang" dan mengatur beberapa cadangan otomatis. Kemacetan I / O dapat dengan mudah diselesaikan dengan drive SSD hari ini. Saya telah menggunakan 160GB Intel MLC drive pada produksi dan mereka spektakuler. Pada dasarnya Anda mendapatkan kinerja I / O acak 5 kali lebih baik daripada drive SAS baris teratas (dalam konfigurasi RAID sederhana).
Dennis Kashkin

1

Saya akan paling khawatir tentang pertikaian CPU dengan 100 VM pada satu host. Anda harus ingat bahwa prosesor TIDAK divirtualisasi sehingga setiap mesin harus menunggu akses ke cpu. Anda dapat mulai melihat pertikaian dengan melihat ESXTOP saya telah diberi tahu lebih dari 5 di bidang% RDY yang sangat buruk oleh VMWare Engineers.

Dalam pengalaman saya, saya telah melihat sekitar 30-40 server berjalan pada satu host (tidak melakukan terlalu banyak).


1

Saya memiliki 10 Host di VMWare Server 1.0.6 (di bawah Windows 2003) dan itu akan mengalami masalah IO secara teratur (dan jika nightly build tumpang tindih dengan sesuatu yang lain, maka mereka akan memiliki masalah). Setelah memutakhirkan dari Windows ke ESXi U3, kami menemukan bahwa masalah kinerja kami hilang (build malam tidak lagi gagal).

Juga perhatikan bahwa sementara SSD memiliki tingkat IO yang jauh lebih tinggi daripada media pemintalan, ada beberapa kasus di mana tidak ada, seperti jenis pola tulis tertentu (banyak tulisan kecil yang tersebar di drive akan mematikan kinerja kecuali pengontrol memiliki cache tulis buffer menulis pintar yang melakukan pekerjaan yang baik pada scatter menulis).

Saya akan merekomendasikan menyelidiki / menguji memiliki file SWAP pada drive yang berbeda jika Anda mengalami masalah.


1

Jika Anda akan melakukan itu maka saya akan sangat menyarankan Anda untuk menggunakan prosesor seri Intel 'Nehalem' Xeon 55xx baru - mereka dirancang untuk menjalankan VM dan bandwidth memori ekstra mereka akan sangat membantu juga. Oh dan jika Anda dapat menggunakan lebih banyak, disk lebih kecil dari sedikit, disk besar - itu akan banyak membantu. Jika Anda dapat menggunakan ESX v4 lebih dari 3.5U4 juga.


1

Saya punya 20 sesuatu XP VMs berjalan dengan ram 512M masing-masing pada mesin dengan ram 16G. Kurang dari ini dan mereka bertukar ke disk dan itu memberikan hambatan. Ini selalu XP VM aktif sekalipun.

VMware dan fitur OverCommitnya memungkinkan Anda untuk mendorong lebih banyak ram ke setiap mesin XP. Mesin serupa akan berbagi halaman yang sama sehingga bisa mengurangi penulisan disk. Ini adalah sesuatu yang saya ingin melihat ke dalam pengaturan kami untuk mencoba menambahkan lebih banyak mesin karena XP VM kami melakukan 10-20meg lalu lintas disk terus menerus.


1

Kami tidak dapat mencapai 100 tamu bahagia di VMWare Server, tetapi kemudian menemukan bahwa ESXi melakukan pekerjaan yang jauh lebih baik. Jadi, tampaknya 100 XP vms tidak menjadi masalah jika Anda menggunakan ESXi dan server yang layak (beberapa disk mirror untuk menyebarkan I / O, beberapa chip I7 dan 64GB RAM). Tidak ada penundaan yang terlihat bagi pengguna akhir dan sumber daya host tidak maksimal (yang terpanas adalah CPU tetapi biasanya setidaknya 70% menganggur).

PS. Pertanyaan ini diposting oleh saya kembali ketika kami berjuang dengan VMWare Server.


0

Terakhir kali saya memeriksa, VMware merekomendasikan tidak lebih dari 4 VM per inti pemrosesan untuk ESX, dengan asumsi satu vCPU per VM.

Ini menunjukkan overhead manajemen menjadi faktor.

Saya sangat tertarik untuk melihat apakah Anda benar-benar dapat mencapai faktor 4x pada kotak 8 inti.


1
Itu pra ESX 3.5U2 kemudian - config maksimum doc untuk pembaruan 2 mengatakan 8 untuk tujuan umum tetapi meningkat menjadi 11 untuk beban kerja VDI. Saya cukup yakin saya melihat sesuatu yang tidak dapat saya temukan secara langsung sehingga meningkatkan rekomendasi VDI menjadi 19 dengan Pembaruan 3 atau 4. Untuk vSphere batasnya sekarang 20. Cari VMware ESX Configuration Maximums untuk dokumen resmi dari VMware.
Helvick

VM saya sering tidak digunakan. Orang-orang terhubung mungkin beberapa kali sehari untuk menjalankan beberapa perangkat lunak yang ringan. Saya telah mengkonfirmasi bahwa VM ini menciptakan overhead CPU yang sangat kecil pada host ketika mereka idle (20 VM menambahkan hingga 9% pemanfaatan CPU berdasarkan sistem dual quadcore). Apakah Anda dapat mengingat bagaimana empat VM per batas CPU dibenarkan? Apakah mereka memikirkan server web atau instance OS desktop?
Dennis Kashkin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.