Tôi chưa đưa ESX vào ánh hào quang trên Dedoimedo. Chúng ta sẽ khắc phục sơ sẩy đó. Sau hướng dẫn đơn giản của tôi về cách clone máy ảo trong ESXi, đã đến lúc trải nghiệm thêm một chút VMware goodness. ESXi là hypervisor bare-metal, được cung cấp miễn phí. Đây là bước đệm tiếp theo về phía giải pháp ảo hóa đắt giá và mạnh mẽ nhất ESX.
Phòng khi bạn thắc mắc, có VMware Player và Workstation, hướng tới người dùng gia đình. Cũng có VMware Server, phiên bản demo miễn phí của những gì ESX có thể làm, nhưng ở quy mô nhỏ hơn nhiều so với ESXi. Và rồi có ESXi; nó có một số hạn chế được xây dựng có mục đích. Gọi chúng là "phần thưởng bị khóa", nếu bạn muốn, giống như trong game đua xe máy tính. Để tận dụng tối đa ESXi, bạn cần một chút công sức thêm, do đó bài viết mẹo và thủ thuật này.

Khuyễn trách nhỏ
Tôi không phải chuyên gia VMware - chỉ là người dùng hăng say. Dù vậy, tôi nghĩ các bài viết của tôi về chủ đề này sẽ giúp bạn. Được rồi, có một vài tài nguyên xuất sắc được liệt kê trong phần Đọc thêm bên dưới. OK, bây giờ hãy làm thôi.
Tối ưu hiệu suất máy khách (guest performance)
Chạy ở tốc độ tối đa rất quan trọng, đặc biệt nếu bạn có nhiều máy ảo tranh giành tài nguyên hạn chế. Bạn muốn tận dụng và cân bằng việc sử dụng hệ thống theo cách tốt nhất. Chúng ta muốn hiệu suất tốt nhất, mà không gây hại hay giới hạn chức năng.
Điều này có thể thực hiện bằng cách chỉnh sửa các thuộc tính nâng cao của máy ảo. Lưu ý, tất cả các tham số hiển thị trong GUI ở đây có thể được đặt thủ công trong tệp cấu hình máy ảo. Tôi sẽ chỉ cho bạn GUI ở đây và để dòng lệnh cho hướng dẫn khác.
Một số tham số quan trọng hơn bao gồm:
Hiện/ẩn cờ Nx, tăng khả năng tương thích VMotion giữa các host. VMotion là tính năng trả tiền, vì vậy nếu bạn không dự định sử dụng nó, hãy ẩn cờ Nx để cải thiện hiệu suất máy khách. Bây giờ, không có cài đặt chung nào hoạt động cho mọi thứ, vì vậy bạn sẽ cần kiểm tra xem cài đặt này có áp dụng cho máy của bạn không.
Paravirtualization cho phép các hệ điều hành máy khách được hỗ trợ chạy với hiệu suất cải thiện đáng kể, miễn là chúng có thể biết rằng chúng đang chạy paravirtualized. Một số hệ điều hành sẽ đơn giản từ chối chạy theo cách này. Các hệ điều hành khác sẽ không bị ảnh hưởng. Lựa chọn tốt nhất của bạn là Linux, trong trường hợp này.
Lưu ý máy khách của bạn cần nhận biết/hỗ trợ paravirtualization. Điều này có nghĩa là kernel phải được biên dịch với tùy chọn paravirtualization và VMI được bật.
CONFIG_PARAVIRT=Y
CONFIG_VMI=Y
Nói chung, các kernel Linux gần đây đều như vậy. Tuy nhiên, ESXi chỉ hỗ trợ paravirtualization cho máy khách 32-bit, vì vậy hãy lựa chọn cho phù hợp.
Ảo hóa Bảng trang phần cứng (Hardware Page Table Virtualization) là một cơ chế hiệu suất khác, khi sử dụng đúng cách. Lại dựa trên CPU và workload cụ thể, bạn có thể hưởng lợi từ việc sử dụng nó. Giống như phần còn lại, tùy chọn này ẩn trong menu Advanced options.
Vị trí swapfile có thể là một trình tăng hiệu suất chính. Nếu mảng đĩa của bạn chậm, chạy nhiều máy ảo cùng lúc có thể dẫn đến phạt hiệu suất nghiêm trọng, đặc biệt nếu tất cả đều đang swap. Để giảm thiểu IO thrashing, bạn có thể muốn sử dụng nhiều swapfile, phân tán trên nhiều thiết bị lưu trữ. Mặc định, ESXi sẽ sử dụng cài đặt có sẵn trên host. Để hiệu suất tốt nhất, bạn có thể muốn sử dụng datastore chuyên dụng.
Độ trễ khởi động (Boot delay)
Giả sử bạn muốn cài đặt máy khách từ CD hoặc ảnh ISO. Không sao, bạn chỉ cần thay đổi ưu tiên boot để dùng CD-ROM trước ổ cứng hoặc mạng. Tuy nhiên, mặc định, BIOS ESXi không có độ trễ, điều này có thể gây bực bội khi cố gắng đạt kết quả mong muốn.
Không vấn đề; bạn có thể thủ công chỉ định độ trễ boot máy trong tùy chọn cấu hình. Bạn cũng có thể buộc boot tiếp theo vào màn hình thiết lập BIOS, điều này có thể hữu ích cho nhu cầu cụ thể của bạn.
Tùy chọn bổ sung (Extra options)
Bây giờ, nếu bạn thấy một số tính năng hoặc tùy chọn bị thiếu, bạn luôn có thể thủ công thêm dòng vào tệp cấu hình máy ảo. Bạn không phải đào vào datastore và tìm tệp .vmx đúng, mặc dù nói chung, nếu bạn dự định scripting và tự động hóa, bạn nên làm vậy.
Trong cửa sổ thuộc tính máy ảo, dưới Option, Advanced, General, có nút nói Configuration Parameters. Đây là thứ chúng ta muốn.
Cửa sổ Configuration Parameters là một bảng tên, giá trị đơn giản, nơi bạn có thể nhập khá nhiều tùy chọn VMware. Bạn cũng có thể sử dụng tính năng thử nghiệm, nhưng cẩn thận phá vỡ mô hình hỗ trợ nhà cung cấp. Bạn có thể thêm hàng bổ sung, nhưng không thể xóa chúng từ giao diện quản lý. Loại thứ này chủ yếu thu hút người dùng thành thạo và rất nâng cao với nhu cầu đặc biệt.
Cuối cùng, dưới Resources, bạn có thể thiết lập mọi loại tùy chọn CPU, bộ nhớ và đĩa. Ví dụ, bạn có thể chọn loại chế độ chia sẻ hyperthreading nào để sử dụng, miễn là CPU của bạn hỗ trợ và tính năng được bật trong BIOS. Bạn cũng có thể đặt sự ưu tiên bộ xử lý (processor affinity), buộc máy ảo chạy trên bộ xử lý cụ thể. Mặc dù tinh chỉnh đúng có thể mang lại lợi ích hiệu suất khổng lồ, bạn cũng có thể dễ dàng làm tê liệt chế độ làm việc bằng cài đặt không đúng.
Ví dụ, nếu bạn biết máy ảo sẽ thường chạy ứng dụng fork nhiều tiến trình con, buộc nó chạy trên một core đơn có thể dẫn đến mất hiệu suất. Tương tự, biên dịch song song hoặc thực thi quy trình sẽ bị ảnh hưởng đáng kể bởi hyperthreading và CPU affinity. Ăn uống cho suy nghĩ.
Đồng bộ thời gian (Time sync)
Có thể có nhiều lý do tại sao bạn muốn bật hoặc tắt đồng bộ thời gian trong máy ảo, bao gồm vé Kerberos, cập nhật phần mềm, giấy phép chương trình, thứ tự thực hiện cẩn thận của cron job giữa các host khác nhau, và hơn thế nữa.
Đến cuối này, bạn có thể tinh chỉnh cấu hình NTP - bật/tắt dịch vụ NTP, chọn máy chủ NTP, chọn số cổng, và hơn thế nữa. Tùy thuộc vào nhu cầu của bạn, bạn có thể phải thay đổi những này, mặc dù hầu hết sẽ hưởng lợi từ tùy chọn mặc định.
Bật SSH vào máy chủ ESXi
Đây có lẽ là mẹo quan trọng nhất. Thật tiếc, không có ảnh chụp màn hình vì tôi đã làm điều này trên máy thực tế, mặc dù tôi có thể, về lý thuyết, cài đặt ESXi từ ISO làm máy khách trên ESXi khác và sau đó chia sẻ ảnh chụp màn hình. Nhưng bạn sẽ tin tôi. Cũng có link đến hướng dẫn tương tự, có hình ảnh và những thứ khác, bên dưới.
ESXi có hai bảng điều khiển ảo (Linux điển hình có bảy), bạn có thể truy cập và chuyển đổi bằng tổ hợp phím Alt + F1/2. VC2 là bảng điều khiển quản lý giả-GUI. VC1 là loại log server bị cắt đuôi. Không có dòng lệnh, về mặt lý thuyết.
Tuy nhiên, nếu bạn gõ "unsupported" trong cửa sổ này, bạn sẽ có dòng lệnh. Đây là bước đầu tiên. Tiếp theo, chúng ta cần bật SSH. Điều này thực hiện hơi khác so với các hộp Linux điển hình.
Mở /etc/inetd.conf trong trình soạn thảo văn bản (vi). Tìm dòng ssh và bỏ comment. Lưu tệp và thoát. Bây giờ, bạn cần khởi động lại inetd để nó đọc lại cấu hình và khởi động với SSH được bật.
Để khởi động lại inetd, tìm tiến trình của nó trong bảng tiến trình:
ps -a | grep inetd
Sau khi tìm thấy PID của tiến trình inetd, khởi động lại nó:
kill -1 <pid>
Lưu ý: Đây là tính năng không được hỗ trợ. Vui lòng tham khảo bộ phận hỗ trợ IT, nhà cung cấp, ai đó nếu bạn muốn làm điều này, vì bạn có thể vô tình phá vỡ bảo hành hoặc tương tự. Nói chung, vì bạn đang sử dụng sản phẩm miễn phí và không được hỗ trợ, điều này không nên là vấn đề.
Đọc thêm
Một số mẹo dưới đây chỉ áp dụng cho ESX, nhưng chúng vẫn hữu ích. Hơn nữa, một số công việc đề cập đến các phiên bản cũ hơn của sản phẩm VMware, nhưng bạn vẫn nên đọc kỹ, lâu.
vm-help.com (nguồn tốt nhất, toàn diện nhất tôi biết)
Cách truy cập bảng điều khiển ẩn VMware ESXi (hướng dẫn tuyệt vời, ảnh chụp màn hình)
Hướng dẫn tham khảo dòng lệnh từ xa VMware (link trực tiếp, PDF)
Hướng dẫn VMware ESX Server 3
Cách quản trị VMware ESX Server
Kết luận
Với mọi mục đích thực tế, hướng dẫn này sẽ không biến bạn thành guru VMware. Nhưng nó có thể chiếu sáng một vài tùy chọn và tính năng ít rõ ràng hơn bị ẩn trong GUI, bao gồm tinh chỉnh hiệu suất và quản lý máy ảo hợp lý hơn. Mặc dù sử dụng đồ họa cung cấp sự tiện lợi, nó có thể dẫn đến mất năng suất về lâu dài. Nhưng rồi, bạn có bảng điều khiển dòng lệnh và SSH để bù đắp cho điều đó.
Hôm nay, bạn đã học được một số mẹo giá trị nên khởi động công việc của bạn với sản phẩm ảo hóa VMware. Trong tương lai, chúng ta sẽ thảo luận các kịch bản và mô hình sử dụng phổ biến khác trước khi cuối cùng đào sâu vào chế độ scripting và chỉ dòng lệnh.
Tận hưởng ảo hóa của bạn.
Chúc vui.