Chạy 100 máy ảo trên một máy chủ VMWare duy nhất


24

Tôi đã sử dụng VMWare trong nhiều năm, chạy hàng tá máy chủ sản xuất với rất ít vấn đề. Nhưng tôi chưa bao giờ thử lưu trữ hơn 20 máy ảo trên một máy chủ vật lý. Đây là ý tưởng:

  1. Phiên bản rút gọn của Windows XP có thể sống với 512MB RAM và 4GB dung lượng đĩa.
  2. 5.000 đô la mang lại cho tôi một cỗ máy lớp 8 máy chủ với 64GB RAM và bốn gương SAS.
  3. Vì 100 máy ảo được đề cập ở trên phù hợp với máy chủ này, chi phí phần cứng của tôi chỉ là 50 đô la cho mỗi máy ảo, khá rẻ (rẻ hơn so với thuê máy ảo tại GoDaddy hoặc bất kỳ cửa hàng lưu trữ nào khác).

Tôi muốn xem liệu có ai có thể đạt được khả năng mở rộng này với VMWare không? Tôi đã thực hiện một vài thử nghiệm và gặp phải một vấn đề kỳ lạ. Hiệu suất VM bắt đầu giảm đáng kể khi bạn khởi động 20 máy ảo. Đồng thời, máy chủ lưu trữ không hiển thị bất kỳ tắc nghẽn tài nguyên nào (các đĩa không hoạt động 99%, khả năng sử dụng CPU dưới 15% và có nhiều RAM miễn phí).

Tôi sẽ đánh giá cao nếu bạn có thể chia sẻ những câu chuyện thành công của mình xung quanh việc mở rộng VMWare hoặc bất kỳ công nghệ ảo hóa nào khác!


4
Bạn đang sử dụng sản phẩm VMware nào? ESX? ESXi? Máy chủ?
wzzrd

2
Bạn có thể chạy XP với 256 mà không gặp nhiều khó khăn, đặc biệt nếu đó là nhiệm vụ nhẹ. Microsoft yêu cầu 64 nhưng 128 là "đủ" technet.microsoft.com/en-us/l Library / bb457057.aspx
Matt Rogish

1
bạn mua máy chủ từ đâu Tôi muốn một cái :)
warren

1
Chỉ 5000 USD, bạn có thể bán cho tôi hai cái không? :)
Taras Chuhay

Bạn có "số lượng cpu" này trong máy chủ lưu trữ của mình và mỗi VM sẽ nhận được một phần của nó. Cộng với esxi sẽ có chi phí hoạt động: "chuyển sang VM này, quản lý nó, chuyển sang tiếp theo, v.v.", nhiều lần trong một giây. Điều đó có nghĩa là mỗi VM sẽ chỉ nhận được một phần nhỏ của tổng cpu. Càng nhiều máy ảo, bạn càng chia nhiều cpu của mình (và bạn cũng thêm nhiều chi phí, có nghĩa là thay vì có 100 vms, thực tế bạn có nhiều hơn một chút).
Olivier Dulac

Câu trả lời:


15

Có bạn có thể. Ngay cả đối với một số khối lượng công việc Windows 2003 chỉ đủ 384MiB, do đó 512MiB là một ước tính khá tốt, có thể hơi cao. RAM không phải là một vấn đề, CPU cũng không nên.

100 máy ảo hơi dốc, nhưng có thể thực hiện được, đặc biệt là nếu máy ảo sẽ không quá bận rộn. Chúng tôi dễ dàng chạy 60 máy chủ (Windows 2003 và RHEL) trên một máy chủ ESX.

Giả sử bạn đang nói về VMware ESX, bạn cũng nên biết rằng có thể vượt quá bộ nhớ. Các máy ảo hầu như không bao giờ sử dụng khẩu phần bộ nhớ được chỉ định đầy đủ của chúng, vì vậy ESX có thể cam kết nhiều hơn số lượng RAM có sẵn cho các máy ảo và chạy nhiều máy ảo hơn so với thực tế là 'chính thức' có RAM.

Nhiều khả năng nút thắt cổ chai của bạn sẽ không phải là CPU hay RAM, mà là IO. VMware tự hào với số lượng IOPS khổng lồ trong hoạt động tiếp thị của họ, nhưng khi gặp khó khăn, xung đột bảo lưu SCSI và băng thông hạn chế sẽ ngăn bạn chết trước khi bạn đến gần với IOPS VMware khoe khoang.

Dù sao, chúng tôi không gặp phải sự suy giảm hiệu suất 20 VM. Phiên bản ESX nào bạn đang sử dụng?


Cảm ơn Wzzrd! Tôi hiện đang sử dụng VMWare Server 2.0, nhưng dự định sẽ thử ESX rất sớm. Tôi đã xem I / O trên tất cả các mảng máy chủ rất cẩn thận và cách duy nhất tôi có thể tối đa hóa là bằng cách khởi động lại nhiều khách cùng một lúc. Khi khách đang thực hiện khối lượng công việc nhẹ hoặc không hoạt động, các đĩa chủ không hoạt động 99%. Vì vậy, tôi nghi ngờ rằng một cái gì đó khác ngoài CPU và IO đang khiến tất cả các máy ảo bị chậm lại. Nhân tiện, chúng làm chậm đáng kể - phải mất 20 giây để mở menu Bắt đầu và nếu tôi chạy Trình quản lý tác vụ bên trong máy ảo, trình quản lý tác vụ mất 90% CPU - thật kỳ lạ!
Dennis Kashkin

2
Điều đó sẽ bởi vì bạn đang sử dụng VMware Server. VMware Server là một nền tảng ảo hóa trên nền tảng khác (Linux, thường xuyên nhất), trong khi ESX là một nền tảng ảo hóa kim loại trần. Rất khác nhau, cả về khái niệm cũng như cách nó thực hiện.
wzzrd

Thật đáng buồn khi ngày vá lỗi đi kèm với 100 vm, bạn S be sẽ khởi động lại rất nhiều thảm cùng một lúc;) Và việc tự vá rất khó. Coi chừng gói dịch vụ - đó là khi cơn đau thực sự bắt đầu;)
TomTom

Ngừng lừa dối bản thân về việc nghĩ rằng kim loại trần là một cái gì đó đặc biệt. ESXi chỉ là một Linux bị tước bỏ. Vâng, Linux.
dresende

2
@dresende. Không, không phải vậy. Tin tôi đi
wzzrd

11

Một vấn đề lớn với môi trường rộng lớn như thế là phòng chống thiên tai và bảo vệ dữ liệu. Nếu máy chủ chết, thì 100 VM sẽ chết theo.

Bạn cần lập kế hoạch cho một số loại chuyển đổi dự phòng của máy ảo và lập kế hoạch cho một loại quản lý "máy ảo phụ" nào đó sẽ bảo vệ máy ảo của bạn trong trường hợp thất bại. Tất nhiên, loại dư thừa này có nghĩa là chi phí tăng lên - đó có thể là lý do tại sao nhiều lần một khoản chi như vậy không được chấp thuận cho đến khi lợi ích của nó được nhìn thấy trong thực tế (bởi sự vắng mặt của nó).

Cũng cần nhớ rằng, máy chủ VM chỉ là một trong một số điểm lỗi duy nhất:

  • Mạng - điều gì xảy ra nếu card mạng của máy chủ VM bị hỏng?
  • Bộ nhớ - điều gì sẽ xảy ra nếu một đoạn bộ nhớ của máy chủ VM bị hỏng?
  • CPU - nếu lõi CPU chết, thì điều gì xảy ra với máy ảo?
  • Nguồn - chỉ có một - hoặc hai - cáp nguồn?
  • Cổng quản lý - giả sử bạn không thể truy cập quản lý máy chủ của VM?

Đây chỉ là một vài: một cơ sở hạ tầng VM lớn đòi hỏi phải chú ý cẩn thận để ngăn ngừa mất dữ liệu và ngăn ngừa mất VM.


2
Hãy nghe David. Bạn sẽ muốn có cấu hình N + 1, nghĩa là bạn cần ít nhất một máy nhàn rỗi dự phòng có khả năng hấp thụ tất cả khối lượng công việc mà máy khác sẽ thất bại. Đề xuất của tôi là cụm hai máy chủ phân phối tải đều nhưng có thể xử lý độc lập tất cả khối lượng công việc nếu một máy bị hỏng.
Jason Pearce

4

Không có tuyên bố nào về khả năng tồn tại của sản phẩm này, nhưng có một bản demo NetApp rất thú vị khi họ cung cấp 5440 máy tính để bàn trên 32 máy chủ ESX (tức là 170 trên một máy chủ) trong khoảng 30 phút sử dụng rất ít dung lượng đĩa do trùng lặp với VM thông thường hình ảnh

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

Tôi đoán là những hạn chế của bạn đến từ hệ thống con đĩa. Bạn dường như đã chiếm bộ nhớ và sử dụng CPU tương ứng.


3

Chưa bao giờ thực hiện - nhưng tôi hứa bạn sẽ chi nhiều hơn cho việc lưu trữ để có đủ IOP để hỗ trợ nhiều VM hơn so với phần cứng máy chủ. Bạn sẽ cần rất nhiều IOP nếu tất cả 100 trong số đó đang hoạt động cùng một lúc. Không nghe có vẻ tiêu cực nhưng bạn cũng đã nghĩ rằng bạn đang bỏ rất nhiều trứng vào một giỏ (nghe có vẻ như bạn đang theo giải pháp máy chủ duy nhất?)


2
Tôi chắc chắn sẽ tạo nhiều "giỏ" và thiết lập một số bản sao lưu tự động. Những vướng mắc I / O có thể được giải quyết dễ dàng với các ổ SSD hiện nay. Tôi đã sử dụng các ổ Intel MLC 160GB khi sản xuất và chúng thật ngoạn mục. Về cơ bản, bạn có được hiệu năng I / O ngẫu nhiên tốt hơn gấp 5 lần so với các ổ đĩa SAS hàng đầu (trong cấu hình RAID đơn giản).
Dennis Kashkin

1

Tôi sẽ lo lắng nhất về sự tranh chấp CPU với 100 VM trên một máy chủ. Bạn phải nhớ rằng bộ xử lý KHÔNG được ảo hóa nên mỗi máy sẽ phải chờ truy cập vào cpu. Bạn có thể bắt đầu thấy sự tranh chấp bằng cách nhìn vào ESXTOP, tôi đã được thông báo bất cứ điều gì trên 5 trong trường% RDY là rất tệ bởi VMWare Engineers.

Theo kinh nghiệm của tôi, tôi đã thấy khoảng 30 - 40 máy chủ đang chạy trên một máy chủ (không hoạt động quá nhiều).


1

Tôi đã có 10 Máy chủ lưu trữ trên VMWare Server 1.0.6 (trong Windows 2003) và nó sẽ gặp sự cố IO một cách thường xuyên (và nếu các bản dựng hàng đêm bị chồng chéo với thứ khác, thì chúng sẽ gặp vấn đề). Sau khi nâng cấp từ Windows lên ESXi U3, chúng tôi thấy rằng các vấn đề về hiệu suất của chúng tôi đã biến mất (việc xây dựng hàng đêm không còn thất bại nữa).

Cũng lưu ý rằng mặc dù SSD có tốc độ IO cao hơn nhiều so với phương tiện kéo sợi, có một số trường hợp không giữ được, chẳng hạn như một số kiểu ghi nhất định (rất nhiều ghi nhỏ rải rác trên ổ đĩa sẽ giết chết hiệu suất trừ khi bộ điều khiển có bộ đệm ghi thông minh ghi thông minh mà làm một công việc tốt trên phân tán ghi).

Tôi khuyên bạn nên điều tra / kiểm tra có các tệp SWAP trên các ổ đĩa khác nhau nếu bạn gặp sự cố.


1

Nếu bạn sẽ làm điều đó thì tôi rất mong bạn sử dụng bộ xử lý Intel 'Nehalem' Xeon 55xx mới - chúng được thiết kế để chạy VM và băng thông bộ nhớ thêm của chúng cũng sẽ giúp ích rất nhiều. Ồ và nếu bạn có thể sử dụng nhiều hơn, đĩa nhỏ hơn số ít, đĩa lớn - điều đó sẽ giúp ích rất nhiều. Nếu bạn có thể sử dụng ESX v4 trên 3.5U4.


1

Tôi đã có 20 máy ảo XP chạy với 512M ram mỗi máy trên một máy có 16G ram. Ít hơn thế này và họ trao đổi vào đĩa và điều đó tạo ra nút cổ chai. Đây luôn là những máy ảo XP hoạt động.

VMware và tính năng OverCommit của nó sẽ cho phép bạn đẩy thêm ram cho mỗi máy XP. Máy tương tự sẽ chia sẻ cùng một trang để có thể giảm ghi đĩa. Đó là điều tôi muốn xem xét để thiết lập của chúng tôi để thử thêm nhiều máy hơn vì máy ảo XP của chúng tôi đang thực hiện 10-20meg lưu lượng đĩa liên tục.


1

Chúng tôi không thể đạt được 100 khách hạnh phúc trên VMWare Server, nhưng sau đó thấy rằng ESXi đang làm việc tốt hơn nhiều. Vì vậy, có vẻ như 100 XP vms không phải là vấn đề nếu bạn sử dụng ESXi và một máy chủ phong nha (một vài máy nhân bản đĩa để truyền bá I / O, một vài chip I7 và 64GB RAM). Không có độ trễ hiển thị cho người dùng cuối và tài nguyên máy chủ không được tiết lộ tối đa (thứ nóng nhất là CPU nhưng thường ít nhất là 70% không hoạt động).

Tái bút Câu hỏi này đã được tôi đăng lại khi chúng tôi đang vật lộn với VMWare Server.


0

Lần trước tôi đã kiểm tra, VMware không khuyến nghị thêm 4 VM cho mỗi lõi xử lý cho ESX, giả sử một vCPU cho mỗi VM.

Điều này cho thấy chi phí quản lý trở thành một yếu tố.

Tôi rất quan tâm xem liệu bạn có thực sự có thể đạt được hệ số 4x trên hộp 8 lõi hay không.


1
Đó là ESX 3.5U2 trước đó - tài liệu tối đa cấu hình cho bản cập nhật 2 nói 8 cho mục đích chung nhưng tăng lên 11 cho khối lượng công việc VDI. Tôi khá chắc chắn rằng tôi đã thấy một cái gì đó mà tôi không thể tìm thấy đã tăng mức khuyến nghị VDI lên 19 với Bản cập nhật 3 hoặc 4. Đối với vSphere, giới hạn đó hiện là 20. Tìm kiếm tối đa cấu hình VMware ESX cho các tài liệu chính thức từ VMware.
Helvick

Máy ảo của tôi hầu hết thời gian không hoạt động. Mọi người kết nối có thể vài lần một ngày để chạy một số phần mềm nhẹ. Tôi đã xác nhận rằng các máy ảo này tạo ra chi phí CPU rất nhỏ trên máy chủ khi chúng ở chế độ rảnh (20 máy ảo tăng thêm 9% mức sử dụng CPU dựa trên hệ thống quadcore kép). Bạn có thể nhớ bốn giới hạn VM cho mỗi CPU là hợp lý không? Họ đang suy nghĩ về các máy chủ web hoặc các phiên bản hệ điều hành máy tính để bàn?
Dennis Kashkin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.