Trả lời nhanh: Không có con số cố định. RAM thường là tài nguyên hết trước nhất và không nên cấp thừa. CPU cấp thừa được, tỉ lệ an toàn khoảng ba tới bốn lõi ảo cho mỗi lõi vật lý với tải nhẹ. Quan trọng nhất là chừa đủ công suất để khi mất một máy chủ, các máy còn lại gánh được toàn bộ.
Đây là câu hỏi mà mọi người quản trị ảo hóa đều gặp, và câu trả lời không phải một con số mà là một cách tính. Bài này đưa ra cách tính đó cùng các ngưỡng cần theo dõi.
RAM, tài nguyên hết trước nhất
Trong phần lớn hệ thống ảo hóa, RAM là thứ cạn trước CPU. Lý do là mỗi máy ảo cần một lượng RAM cố định cho hệ điều hành của nó, dù nó có bận hay không.
Nguyên tắc: tổng RAM cấp cho các máy ảo không nên vượt RAM vật lý, sau khi đã trừ phần cho bản thân lớp ảo hóa.
Có các cơ chế cấp thừa RAM, chẳng hạn thu hồi phần máy ảo không dùng hoặc gộp các trang bộ nhớ giống nhau. Chúng giúp được nhưng đừng dựa vào để cấp thừa nhiều, vì khi mọi máy ảo cùng cần RAM thật thì hệ thống bắt đầu dùng đĩa làm bộ nhớ và hiệu năng sụp đổ.
Cách tính thực dụng: lấy RAM vật lý, trừ đi phần cho lớp ảo hóa, nhân với tám mươi phần trăm để có biên an toàn, rồi chia cho lượng RAM trung bình mỗi máy ảo. Đó là số máy ảo mà RAM cho phép.
CPU, cấp thừa được nhưng có giới hạn
Khác với RAM, CPU chia sẻ được vì phần lớn máy ảo không dùng hết công suất cùng lúc.
Tỉ lệ tham khảo:
- Tải rất nhẹ, máy chủ nội bộ ít người dùng: có thể lên tới sáu tới tám lõi ảo cho mỗi lõi vật lý.
- Tải thông thường, máy chủ ứng dụng và web: khoảng ba tới bốn.
- Tải nặng, cơ sở dữ liệu và tính toán: một tới hai, hoặc không cấp thừa với hệ thống quan trọng nhất.
Chỉ số cần theo dõi: thời gian máy ảo phải chờ để được cấp CPU. Con số này tăng cao nghĩa là bạn đã cấp thừa quá tay, và nó là chỉ dấu tốt hơn nhiều so với mức sử dụng CPU đơn thuần.
Một sai lầm phổ biến: cấp thật nhiều lõi cho một máy ảo với hy vọng nó chạy nhanh hơn. Máy ảo nhiều lõi cần lớp ảo hóa xếp lịch cho tất cả các lõi đó cùng lúc, nên trên máy chủ bận, máy ảo tám lõi có thể chờ lâu hơn máy ảo hai lõi. Cấp đúng nhu cầu rồi tăng khi đo thấy thiếu.
Đĩa, điểm nghẽn ẩn
Đây là tài nguyên hay bị bỏ qua khi tính mật độ, và nó thường là thứ thực sự giới hạn.
Vấn đề: mỗi máy ảo tạo ra các thao tác đĩa riêng, và khi cộng lại chúng thành một dòng thao tác ngẫu nhiên rất nặng. Ổ cơ xử lý tải ngẫu nhiên rất kém, và đây là lý do nhiều hệ thống ảo hóa chạy chậm dù CPU và RAM đều còn dư.
Ba việc nên làm:
- Dùng ổ SSD cho kho chứa máy ảo. Đây là khoản đầu tư có tác động lớn nhất tới cảm nhận về tốc độ.
- Theo dõi độ trễ đĩa chứ không chỉ theo dõi lưu lượng. Độ trễ tăng là dấu hiệu sớm nhất của việc kho lưu trữ đã quá tải.
- Đặt giới hạn thao tác đĩa cho từng máy ảo nếu có một máy ảo hay chạy tác vụ nặng làm ảnh hưởng các máy khác.
Chừa chỗ cho tình huống mất một máy chủ
Đây là ràng buộc quan trọng nhất và cũng hay bị bỏ qua nhất khi tính mật độ.
Nếu cụm ba máy chủ và mỗi máy chạy ở chín mươi phần trăm công suất, thì khi một máy chết, hai máy còn lại không có chỗ để nhận thêm máy ảo. Tính năng tự bật lại trở nên vô dụng.
Cách tính: mỗi máy chủ chỉ nên dùng tới mức mà phần còn lại của cụm gánh được toàn bộ khi mất một máy.
- Cụm ba máy: mỗi máy không nên vượt khoảng sáu mươi phần trăm.
- Cụm bốn máy: khoảng bảy mươi phần trăm.
- Cụm năm máy trở lên: khoảng bảy mươi lăm phần trăm.
Nghĩa là cụm càng nhiều máy thì càng tận dụng được nhiều, vì phần dự phòng chia đều cho nhiều máy hơn. Đây là một lý do kinh tế để cụm có nhiều máy chủ nhỏ thay vì ít máy chủ rất lớn.
Đo và điều chỉnh
Mọi con số ở trên là điểm khởi đầu, không phải kết luận. Bốn chỉ số cần theo dõi trong vận hành thật.
- Thời gian máy ảo chờ CPU. Tăng cao nghĩa là đã cấp thừa CPU quá tay.
- Mức dùng RAM và lượng bộ nhớ bị đẩy xuống đĩa. Con số thứ hai khác không là dấu hiệu xấu cần xử lý ngay.
- Độ trễ đĩa. Chỉ dấu sớm nhất của việc kho lưu trữ quá tải.
- Mức sử dụng ở giờ cao điểm, không phải trung bình cả ngày.
Một thói quen đáng có: mỗi quý rà lại các máy ảo và tìm những cái được cấp thừa tài nguyên mà không dùng tới. Việc thu hồi phần thừa đó thường cho bạn thêm chỗ mà không cần mua gì.
Và nhớ rằng mật độ cao không phải mục tiêu. Mục tiêu là hệ thống chạy ổn định với chi phí hợp lý, và đôi khi thêm một máy chủ rẻ hơn nhiều so với việc cả đội mất thời gian tối ưu một cụm đã quá tải.
Thứ tự tài nguyên cạn kiệt
| Thứ tự | Tài nguyên | Vì sao hết trước |
|---|---|---|
| 1 | Bộ nhớ | Không chia sẻ được như nhân xử lý, mỗi máy ảo chiếm phần của mình |
| 2 | Vào ra ổ đĩa | Điểm nghẽn ẩn, không hiện lên trong biểu đồ sử dụng thông thường |
| 3 | Nhân xử lý | Chia sẻ được nên chịu được mật độ cao hơn |
| 4 | Băng thông mạng | Hiếm khi là giới hạn với hệ thống nội bộ |
Gần như mọi máy chủ ảo hóa đều hết bộ nhớ trước. Vì thế khi lên cấu hình, hãy tính bộ nhớ trước rồi mới tính các thứ khác, và luôn chọn bo mạch còn khe bộ nhớ trống để mở rộng sau.
Công thức chừa chỗ trống trong cụm
# Sai lam pho bien: lap day ca cum, khong con cho trong.# Khi mot may chu hong, cac may con lai khong du bo nho# de nhan may ao tu may hong, va tinh nang tu bat lai vo tac dung. # Cong thuc chua cho:# Voi cum N may chu, moi may chi nen dung toi da# (N - 1) chia N phan bo nho cua no. # Cum 3 may: moi may dung toi da khoang 66 phan tram# Cum 4 may: moi may dung toi da khoang 75 phan tram# Cum 5 may: moi may dung toi da khoang 80 phan tram # Kiem tra thuc te, va day la phep thu quan trong nhat:# Dat mot may chu vao che do bao tri va chuyen het may ao di.# Neu viec do that bai vi thieu bo nho, thi cum cua ban# KHONG chiu duoc mot may hong, du tinh nang tu bat lai da bat. # Lam phep thu nay mot lan moi quy, vao khung gio tai thap.# Biet truoc con hon biet vao dung luc su co.Đo một tuần rồi mới chỉnh
- Đo mức dùng thực tế trong ít nhất một tuần trước khi kết luận máy ảo nào cấp thừa hay cấp thiếu. Một ngày không đủ vì tải công việc có chu kỳ theo tuần.
- Cấp thừa nhân xử lý làm chậm chứ không làm nhanh. Máy ảo phải chờ đủ số nhân rảnh cùng lúc, nên hạ số nhân của các máy ảo cấp thừa thường làm cả cụm nhanh lên.
- Theo dõi thời gian chờ ổ đĩa, không chỉ theo dõi phần trăm sử dụng bộ xử lý. Máy chủ có bộ xử lý rảnh nhưng ổ đĩa nghẽn vẫn cho cảm giác rất chậm.
Câu hỏi thường gặp
Có con số chung cho doanh nghiệp vừa không
Một máy chủ hai CPU với hai trăm năm sáu gigabyte RAM chạy vài chục máy ảo nội bộ nhẹ là bình thường. Nhưng con số đó vô nghĩa nếu tải của bạn khác. Hãy đo thay vì áp dụng con số của người khác.
Cấp thừa RAM có an toàn không
Ít an toàn hơn cấp thừa CPU nhiều. CPU thiếu thì chậm, RAM thiếu thì hệ thống bắt đầu dùng đĩa làm bộ nhớ và hiệu năng sụp đổ, hoặc máy ảo bị tắt. Với hệ thống quan trọng, đừng cấp thừa RAM.
Làm sao biết máy ảo nào đang được cấp thừa
Xem mức sử dụng thật trong vài tuần. Máy ảo được cấp tám gigabyte RAM mà chưa bao giờ dùng quá hai là ứng viên rõ ràng để giảm. Với CPU cũng vậy, nhiều máy ảo bốn lõi thực ra chỉ cần một.
Thêm máy chủ hay nâng cấp máy hiện có
Nâng cấp máy hiện có rẻ hơn nếu còn khe trống, nhưng có trần cứng. Thêm máy chủ tốn hơn nhưng tăng cả khả năng chịu lỗi và cho phép tận dụng công suất tốt hơn nhờ phần dự phòng chia đều cho nhiều máy. Với cụm dưới ba máy, thêm máy thường đáng hơn.
