Cách khởi động lại các tác nhân quản lý trên máy chủ VMware ESXi
VMware ESXi là một trình ảo hóa thuộc nền tảng ảo hóa VMware vSphere. Tất cả các phần mềm ảo hóa đều có thể gặp sự cố vào một thời điểm nào đó. Ví dụ, trong vSphere, bạn có thể không kết nối được với máy chủ ESXi hoặc không kết nối được máy chủ ESXi với vCenter, hoặc các thông báo lỗi xuất hiện trong vCenter và bạn không thể tạo máy ảo (VM). Trong một số trường hợp, việc khởi động lại máy chủ ESXi có thể giúp giải quyết vấn đề. Tuy nhiên, bạn sẽ phải tắt các máy ảo (VM) hoặc di chuyển chúng sang một máy chủ khác, điều này gây ra vấn đề trong môi trường sản xuất. Tốt hơn là bạn nên khởi động lại các tác nhân quản lý ESXi trước. Khởi động lại các tác nhân quản lý trên máy chủ ESXi rất có thể sẽ giải quyết được vấn đề.
Các triệu chứng
Trước tiên, tôi sẽ liệt kê các triệu chứng phổ biến cho thấy cần phải khởi động lại các trình quản lý ESXi trên máy chủ:
- Không thể kết nối trực tiếp với máy chủ ESXi hoặc quản lý máy chủ này trong vCenter.
- Máy chủ ESXi bị ngắt kết nối khỏi vCenter, nhưng các máy ảo (VM) vẫn tiếp tục chạy trên máy chủ ESXi.
- vCenter hiển thị lỗi sau khi bạn cố gắng tạo một máy ảo (VM):
Việc tạo máy ảo có thể thất bại vì trình điều khiển không thể lấy các tùy chọn tạo máy ảo từ máy chủ
- Việc di chuyển máy ảo giữa các máy chủ ESXi không được thực hiện và lỗi sau được trả về:
Di chuyển máy ảo
Hoạt động này không được phép trong trạng thái kết nối hiện tại của máy chủ
- Thông tin về máy ảo đang chạy không được hiển thị trong tab Tóm tắt khi bạn chọn một máy ảo:
Sử dụng CPU – 0 MHz
Sử dụng bộ nhớ – 0,00 MB
Vai trò của các tác nhân quản lý ESXi
Các tác nhân quản lý ESXi được sử dụng để đồng bộ hóa các thành phần VMware và cho phép truy cập máy chủ ESXi từ vCenter Server. Các tác nhân VMware được bao gồm trong cấu hình mặc định và được cài đặt khi bạn cài đặt ESXi. Có hai trình quản lý chính trên ESXi có thể cần được khởi động lại nếu xảy ra sự cố kết nối trên máy chủ ESXi – hostd và vpxa .
hostd là trình quản lý máy chủ chịu trách nhiệm quản lý hầu hết các hoạt động trên máy chủ ESXi và đăng ký các máy ảo (VM), LUN hiển thị và các khối lượng VMFS. hostd chịu trách nhiệm khởi động và tắt các máy ảo (VM) cùng các tác vụ chính khác. VMware hostd được sử dụng để giao tiếp giữa ESXi và vmkernel.
vpxa là trình đại lý VMware được kích hoạt trên máy chủ ESXi khi máy chủ ESXi tham gia vCenter Server. Cũng có trường hợp vpxd trên vCenter Server giao tiếp với vpxa trên các máy chủ ESXi ( vpxa là trình đại lý VMware chạy trên phía ESXi và vpxd là daemon chạy trên phía vCenter). vpxa giao tiếp với hostd trên các máy chủ ESXi. VMware vpxa được sử dụng như một dịch vụ trung gian để giao tiếp giữa vCenter và hostd .
Nếu bạn sử dụng vSphere Client và vCenter để quản lý máy chủ ESXi, vCenter sẽ truyền các lệnh đến máy chủ ESXi thông qua quá trình vpxa đang chạy trên máy chủ ESXi. Nếu bạn kết nối trực tiếp với một máy chủ ESXi để quản lý máy chủ đó, thì kết nối sẽ được thiết lập trực tiếp với quá trình `hostd` trên máy chủ để quản lý, thông qua địa chỉ ` ` và ` `.
Các máy ảo bị ảnh hưởng như thế nào?
Các máy ảo sẽ không bị khởi động lại hoặc tắt nguồn khi bạn khởi động lại các trình quản lý ESXi (bạn không cần phải khởi động lại các máy ảo). Nếu bạn muốn đảm bảo rằng các máy ảo không bị ảnh hưởng, hãy thử ping một trong các máy ảo đang chạy trên máy chủ ESXi và khởi động lại các tác nhân VMware trên máy chủ ESXi này. Các tác vụ đang chạy trên các máy chủ ESXi có thể bị ảnh hưởng hoặc gián đoạn. Đảm bảo rằng không có Sao lưu máy ảo VMware công việc nào đang chạy trên máy chủ ESXi tại thời điểm bạn khởi động lại các tác nhân quản lý ESXi.
Máy chủ ESXi và các máy ảo (VM) trên máy chủ đó sẽ hiển thị trạng thái ngắt kết nối trong chốc lát trong khi các trình quản lý ESXi đang được khởi động lại trên máy chủ ESXi. Hãy làm mới trang trong VMware vSphere Client sau vài giây và trạng thái của máy chủ ESXi và các máy ảo (VM) sẽ trở lại bình thường.
Để tránh các vấn đề, hãy đọc các lưu ý ở cuối bài viết blog trước khi sử dụng ESXi để khởi động lại các trình quản lý VMware nếu bạn sử dụng vSAN, NSX, hoặc các máy chủ chia sẻ đồ họa trong môi trường ảo VMware của mình.
Khởi động lại các trình điều khiển trong giao diện người dùng Direct Console (DCUI)
Phương pháp đáng tin cậy nhất để khởi động lại các trình điều khiển quản lý ESXi là sử dụng giao diện người dùng Direct Console (DCUI) của ESXi. Bạn phải có quyền truy cập vật lý vào máy chủ ESXi với bàn phím và màn hình được kết nối với máy chủ. Các dịch vụ được sử dụng để quản lý mạng ESXi có thể không phản hồi và bạn có thể không thể quản lý máy chủ từ xa, ví dụ như qua SSH.
- Nhấn F2 để tùy chỉnh cài đặt hệ thống trong DCUI.
- Nhập tên người dùng và mật khẩu cho tài khoản quản trị (root là tài khoản mặc định có quyền quản trị trên ESXi).
Lưu ý: Vui lòng kiên nhẫn. Đôi khi bạn có thể gặp phải tình trạng trễ đáng kể. Thời gian trễ giữa việc nhập thông tin đăng nhập và phản hồi của máy chủ đối với hành động này có thể mất vài phút. Thời gian chờ có thể do phải đợi phản hồi từ các dịch vụ quản lý bị treo và cần được khởi động lại.
- Sau khi thông tin đăng nhập được chấp nhận, bạn sẽ thấy menu Tùy chỉnh hệ thống .
- Chọn Tùy chọn khắc phục sự cố và nhấn Enter . Trong khung bên phải của DCUI, bạn có thể xem các gợi ý hữu ích sau khi chọn một tùy chọn trong menu.
- Chọn Khởi động lại các tác nhân quản lý trong Tùy chọn chế độ khắc phục sự cố và nhấn Enter .
- Thông báo cấu hình về việc khởi động lại các tác nhân quản lý sẽ xuất hiện. Bạn có thể nhấn Phím cách để thu thập thêm thông tin khắc phục sự cố (tùy chọn). Nhấn F11 để xác nhận và khởi động lại các tác nhân quản lý ngay bây giờ.
- Chờ cho đến khi các tác nhân quản lý ESXi khởi động lại và sau đó kiểm tra xem các sự cố đã được giải quyết chưa.
- Nếu việc khởi động lại các tác nhân quản lý trong DCUI không giúp được gì, bạn có thể cần xem nhật ký hệ thống và chạy các lệnh trong dòng lệnh ESXi bằng cách truy cập trực tiếp vào shell ESXi hoặc qua SSH. Bạn có thể kích hoạt ESXi shell và SSH trong DCUI. Truy cập SSH và ESXi shell bị tắt theo mặc định.
- Để kích hoạt ESXi shell, hãy truy cập Troubleshooting Options , chọn Enable ESXi Shell , và nhấn Enter .
- Để kích hoạt truy cập SSH từ xa, hãy truy cập Troubleshooting Options , chọn Enable SSH , và nhấn Enter .
Sử dụng VMware Host Client
Sử dụng VMware Host Client rất thuận tiện để khởi động lại VMware vCenter Agent, vpxa , được sử dụng để kết nối giữa máy chủ ESXi và vCenter.
- Nhập địa chỉ IP của máy chủ ESXi vào thanh địa chỉ của trình duyệt web. Sau đó, nhập thông tin đăng nhập cho tài khoản quản trị trên ESXi để đăng nhập vào VMware Host Client.
- Trong Navigation bảng điều hướng, đi đến Host > Manage , và chọn tab Services .
- Nhấp chuột phải vào dịch vụ vpxa và, trong menu ngữ cảnh, nhấn Restart .
Nếu bạn không thể mở VMware Host Client, hãy sử dụng các phương pháp khác để khởi động lại các đại lý quản lý ESXi. Bạn có thể khởi động dịch vụ TSM-SSH để kích hoạt truy cập SSH từ xa vào máy chủ ESXi.
Khởi động lại các tác nhân VMware trong ESXi Shell (SSH)
Giao diện dòng lệnh (CLI) của ESXi là một công cụ mạnh mẽ để quản lý máy chủ ESXi và khắc phục sự cố. Truy cập SSH vào máy chủ ESXi phải được bật để quản lý từ xa. Sử dụng máy khách SSH để kết nối với máy chủ ESXi từ xa và sử dụng giao diện dòng lệnh. Bạn có thể sử dụng PuTTY trên máy Windows làm máy khách SSH. Xác định địa chỉ IP hoặc tên máy chủ của máy chủ ESXi, chọn cổng (mặc định là 22), sau đó nhập thông tin đăng nhập quản trị trong ứng dụng khách SSH. Sau đó, bạn sẽ thấy phiên giao diện điều khiển (terminal) qua SSH.
Nếu bạn muốn sử dụng ESXi shell trực tiếp (không qua truy cập từ xa), bạn phải kích hoạt ESXi shell và sử dụng bàn phím cùng màn hình được kết nối trực tiếp với máy chủ ESXi. Đọc bài viết trên blog về ESXCLI để tìm hiểu thêm về các tùy chọn dòng lệnh ESXi.
Lưu ý: Các lệnh được sử dụng trong bài viết này tương thích với ESXi 6.x và ESXi 7.x.
- Danh sách tất cả các dịch vụ có sẵn trên máy chủ ESXi (tùy chọn) bằng lệnh:
chkconfig --list - Tìm các dịch vụ hostd và vpxa trong kết quả đầu ra của console và kiểm tra trạng thái của chúng.
- Khởi động lại các dịch vụ hostd và vpxa (các đại lý quản lý) bằng các lệnh:
/etc/init.d/hostd restart
/etc/init.d/vpxa restart
- Sử dụng lệnh này như một phương án thay thế để khởi động lại tất cả các đại lý quản lý trên máy chủ ESXi.
services.sh restart &tail -f /var/log/jumpstart-stdout.log
Tiến trình khởi động lại các đại lý VMware được hiển thị trong kết quả đầu ra của bảng điều khiển.
- Bạn cũng có thể thử đặt lại mạng quản lý trên giao diện VMkernel:
esxcli network ip interface set -e false -i vmk0; esxcli network ip interface set -e true -i vmk0
Giao diện vmk0 được sử dụng mặc định trên ESXi. Nếu giao diện mạng quản lý của bạn có tên khác, hãy sử dụng tên giao diện phù hợp trong lệnh.
Lệnh phức tạp này bao gồm hai lệnh cơ bản được phân tách bằng ; (dấu chấm phẩy). Phần đầu tiên của lệnh vô hiệu hóa giao diện mạng quản lý vmk0 . Khi phần này được thực thi thành công và vmk0 đã ngừng hoạt động, phần thứ hai của lệnh sẽ được thực thi để kích hoạt giao diện vmk0 . Kết quả là, giao diện mạng quản lý ESXi được khởi động lại.
Sử dụng DCUI qua SSH
Nếu bạn có quyền truy cập SSH vào máy chủ ESXi, bạn có thể mở DCUI trong phiên SSH. Phương pháp này cho phép bạn sử dụng giao diện người dùng đồ họa giả của DCUI trong bảng điều khiển để thuận tiện hơn.
- Chạy lệnh để mở DCUI trong bảng điều khiển/terminal:
dcui - Nhấn F2 để tùy chỉnh hệ thống.
- Chọn các tùy chọn cần thiết để khởi động lại các tác nhân quản lý VMware như đã giải thích trong phần trên về DCUI.
Sử dụng PowerCLI để khởi động lại các tác nhân quản lý VMware
VMware PowerCLI là một công cụ khác dựa trên Windows PowerShell để quản lý vCenter và các máy chủ ESXi trong giao diện dòng lệnh.
- Lấy danh sách các dịch vụ có sẵn trên máy chủ ESXi:
Get-VMHostService -VMHost 192.168.101.208 -Refresh- Tham số -Refresh được sử dụng để làm mới dữ liệu trước khi hiển thị dữ liệu này trên giao diện điều khiển.
- 192.168.101.208 là địa chỉ IP của máy chủ ESXi được sử dụng trong ví dụ này.
- Định nghĩa tên hoặc địa chỉ IP của máy chủ ESXi theo cấu hình của bạn. Danh sách dịch vụ hiển thị trong kết quả tương tự như danh sách dịch vụ hiển thị trong VMware Host Client chứ không phải danh sách dịch vụ hiển thị trong dòng lệnh ESXi.
- Chỉ định máy chủ và dịch vụ để thêm giá trị vào biến $VMHostService
$VMHostService = Get-VMHostService -VMHost 192.168.101.208 -Refresh | Where {$_.Key -eq 'vpxa'}
trong đó vpxa là tên của dịch vụ Quản lý ESXi cần thiết. Bạn cũng có thể định nghĩa một dịch vụ khác mà bạn muốn khởi động, dừng hoặc khởi động lại, ví dụ: TSM-SSH (dịch vụ máy chủ SSH trên máy chủ ESXi). - Khởi động lại dịch vụ vpxa bằng cách sử dụng biến $VMHostService trong lệnh:
Restart-VMHostService -HostService $VMHostService -Verbose
- Bạn cũng có thể dừng và khởi động dịch vụ theo cách thủ công:
Stop-VMHostService -HostService $VMHostService
Start-VMHostService -HostService $VMHostService
- Bạn có thể thử sử dụng lệnh thay thế để khởi động lại vpxa:
Get-VMHostService -VMHost 192.168.101.208 | where {$_.Key -eq "vpxa"} | Restart-VMHostService -Confirm:$false -ErrorAction SilentlyContinue
Lưu ý
- Nếu giao thức Kiểm soát Tập hợp Liên kết (LACP) được sử dụng trên một máy chủ ESXi là thành viên của cụm vSAN, đừng khởi động lại các đại lý quản lý ESXi bằng lệnh
services.sh.
Sử dụng/etc/init.d/module restartđể khởi động lại các dịch vụ độc lập. - Nếu NSX được cấu hình trong môi trường ảo VMware của bạn, không nên sử dụng lệnh khởi động lại
/sbin/services.sh. Lệnh này sẽ khởi động lại tất cả các dịch vụ trên máy chủ ESXi và các kết nối mạng sẽ bị gián đoạn tạm thời. Trong trường hợp này, bạn nên khởi động lại từng dịch vụ vpxa , hostd , và fdm để khởi động lại các tác nhân quản lý ESXi trên máy chủ. Nếu việc khởi động lại từng agent không giải quyết được vấn đề và bạn cần thực hiện lệnh `/sbin/services.sh` để khởi động lại, hãy di chuyển các máy ảo (VM) khỏi máy chủ ESXi hiện tại và đặt máy chủ đó vào chế độ bảo trì. - Nếu bạn không biết liệu NSX có được cài đặt trên máy chủ ESXi hay không, bạn có thể sử dụng lệnh này để kiểm tra:
/sbin/services.sh restartesxcli software vib list --rebooting-image | grep esx-* - Nếu các VIB vsip-esx và esx-vxlan xuất hiện trong kết quả, thì NSX for vSphere đã được cài đặt trên máy chủ ESXi.
- Nếu sử dụng đồ họa chia sẻ trong môi trường VMware View (VGPU, vSGA, vDGA), không nên sử dụng
services.shđể khởi động lại các đại lý ESXi. Nếu bạn khởi động lại các tác nhân quản lý bằng lệnh services.sh , thì dịch vụ xorg chịu trách nhiệm về đồ họa của hệ điều hành khách sẽ bị dừng. Việc vô hiệu hóa đồ họa trong hệ điều hành khách sẽ khiến cơ sở hạ tầng máy tính để bàn ảo (VDI) bị treo khi sử dụng đồ họa chia sẻ. Bạn có thể khởi động lại hostd và vpxa thủ công nếu đang sử dụng đồ họa chia sẻ và máy chủ ESXi không ở chế độ bảo trì.
Kết luận
Khởi động lại các tác nhân quản lý ESXi có thể giúp bạn giải quyết các vấn đề liên quan đến trạng thái ngắt kết nối của máy chủ ESXi trong vCenter, các lỗi xảy ra khi kết nối trực tiếp với máy chủ ESXi, các vấn đề với các thao tác trên máy ảo, v.v. Bài viết này đã trình bày các phương pháp phổ biến để khởi động lại các tác nhân quản lý ESXi bằng cách sử dụng DCUI, dòng lệnh ESXi, VMware Host Client và VMware PowerCLI. Nói chung, các máy ảo không bị ảnh hưởng khi khởi động lại các trình quản lý, nhưng cần chú ý hơn nếu môi trường ảo vSphere sử dụng vSAN, NSX hoặc đồ họa chia sẻ cho VDI.
Sao lưu các máy ảo VMware trong vSphere thường xuyên để bảo vệ dữ liệu và có khả năng khôi phục dữ liệu và khôi phục khối lượng công việc một cách nhanh chóng. NAKIVO Backup & Replication là giải pháp bảo vệ dữ liệu tất cả trong một hỗ trợ sao lưu máy ảo trong VMware vSphere. Sản phẩm có thể được cài đặt trên Windows, Linux, thiết bị NAS và dưới dạng thiết bị ảo VMware.










