Lỗi “503 Service Unavailable” trên vSphere Web Client: Bạn nên làm gì?
VMware vCenter Server, trung tâm quản lý tập trung trong vSphere, được sử dụng để quản lý các máy chủ ESXi, cụm máy chủ, máy ảo (VM) và các thành phần khác trong trung tâm dữ liệu ảo hóa của bạn. Bài viết này sẽ giải quyết lỗi “ ” và “503 Service Unavailable” mà bạn có thể gặp phải trong vSphere Client khi cố gắng kết nối với vCenter. Hãy đọc để tìm hiểu về các nguyên nhân có thể gây ra lỗi này và cách khắc phục.
Lỗi “503 Service Unavailable” là gì?
503 Service Unavailable là một trong những mã trạng thái HTTP tiêu chuẩn được máy chủ trả về khi máy khách gửi yêu cầu đến máy chủ. Nhóm mã trạng thái HTTP 5xx được sử dụng để thông báo cho người dùng về các lỗi máy chủ. Dựa trên điều này, 503 Service Unavailable là phản hồi mô tả một lỗi phát sinh từ phía máy chủ. Thông thường, lỗi này cho biết máy chủ không thể xử lý yêu cầu và bạn nên kiểm tra vấn đề trên máy chủ web đang lưu trữ ứng dụng.
Dưới đây là nội dung đầy đủ của lỗi này cho VMware vSphere Client:
503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x000055615a4d7a70] _serverNamespace = / action = Allow _pipeName =/var/run/vmware/vpxd-webserver-pipe)
Trong trường hợp lỗi vCenter 503 Service Unavailable , lỗi có thể do các yếu tố khác nhau gây ra:
- Một số dịch vụ chưa được tải và không đang chạy (một trong những vấn đề phổ biến là dịch vụ Proxy ngược hoặc dịch vụ vSphere Web Client bị ngừng hoạt động).
- vCenter Server đang trong quá trình bảo trì
- vCenter Server bị quá tải
- Xảy ra sự cố ổ đĩa trên vCenter Server
- Có sự cố với cơ sở dữ liệu được vCenter sử dụng
- Cài đặt tường lửa không chính xác (đối với vCenter cài đặt trên Windows) và sự cố mạng
Bạn nên tìm và khắc phục lỗi trên máy chủ vCenter chứ không phải ở phía client.
Các dịch vụ chưa khởi động
Nếu bạn vừa khởi động một phiên bản vCenter và tất cả các dịch vụ cần thiết chưa khởi động, hãy đợi vài phút và thử lại.
- Hãy thử kết nối với vCenter từ một máy khách khác.
Nếu cách này không hiệu quả, hãy kiểm tra xem tất cả các dịch vụ cần thiết đã khởi động chưa.
- Mở Giao diện Quản lý Thiết bị (cho vCenter Server Appliance) trong trình duyệt web bằng cách nhập địa chỉ IP hoặc tên miền đầy đủ (FQDN) của vCenter cùng cổng 5480, ví dụ:
https://192.168.101.103:5480/ui/services - Kiểm tra trạng thái các dịch vụ vCenter tại phần
ServicesVí dụ, nếu dịch vụ vSphere Web Client làStartedvà dịch vụ vCenter Server làStopped, lỗi VMware503 Service Unavailablecó thể xảy ra.
- Bạn có thể kiểm tra trạng thái của các dịch vụ vCenter trong giao diện điều khiển và giao diện dòng lệnh (CLI). Kích hoạt đăng nhập SSH, giao diện điều khiển CLI và Bash Shell trong phần
Accesscủa Giao diện Quản lý Thiết bị vCenter.
- Ngoài ra, bạn có thể kích hoạt Bash Shell và quyền truy cập SSH trong DCUI (Giao diện Người dùng Điều khiển Trực tiếp) của Thiết bị vCenter Server (VCSA) trong các tùy chọn
Troubleshooting Mode.
-
Đảm bảo có kết nối giữa máy tính của bạn và máy chủ vCenter bằng cách chạy lệnh từ máy tính của bạn (nhập tên máy chủ hoặc địa chỉ IP của vCenter): `
telnet vcenter_fqdn 9443 - ` Kết nối với vCenter qua SSH, hoặc kết nối với giao diện điều khiển VCSA (Nhấn `
Alt+F1` trong giao diện DCUI của vCenter, đăng nhập, nhập `shell,` và nhấn `Enter`). ` -
` Kiểm tra trạng thái các dịch vụ vCenter bằng cách chạy lệnh trên máy chủ đang chạy vCenter:
service-control --status --all

- Nếu có bộ điều khiển dịch vụ nền tảng (PSC) bên ngoài, hãy kiểm tra kết nối của vCenter với PSC. Kiểm tra các dịch vụ trên PSC.
-
Nếu một số dịch vụ đã bị dừng, hãy khởi động lại tất cả các dịch vụ bằng lệnh:
service-control --start --all -
Thử dừng và khởi động lại dịch vụ vSphere Client:
service-control --stop vsphere-client
service-control --start vsphere-client - Chờ khoảng 10–15 phút cho đến khi dịch vụ khởi động, sau đó thử truy cập vCenter trong vSphere Client.
Kiểm tra tệp nhật ký
Kiểm tra tệp nhật ký có thể giúp bạn xác định nguyên nhân của các lỗi, bao gồm lỗi vCenter 503 Service Unavailable .
Trước tiên, kiểm tra tệp vsphere_client_virgo.log .
- Đối với phiên bản Windows của vCenter Server, nhật ký được lưu trữ tại:
C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs - Đối với vCenter Server Appliance, nhật ký vCenter được lưu trữ tại:
/var/log/vmware/vsphere-client/logs/
Cũng kiểm tra tệp vpxd.log .
- Trên vCenter chạy trên Windows,
vpxd.logđược lưu trữ tại:
C:ProgramDataVMwarevCenterServerlogsvmware-vpx - Trên vCenter Server Appliance,
vpxd.logđược lưu trữ tại:
/var/log/vmware/vpxd/
Không đủ tài nguyên phần cứng trống
Dung lượng đĩa không đủ không trực tiếp gây ra lỗi vCenter 503 Service Unavailable . Tuy nhiên, một số dịch vụ không thể khởi động nếu không có dung lượng đĩa trống, và điều này có thể gây ra lỗi 503 Service Unavailable . Độ trễ lưu trữ cao cho vCenter cũng có thể là nguyên nhân gây ra lỗi này. Bắt đầu từ VCSA 6.5, thiết bị được cung cấp 12 đĩa ảo (trước đây VCSA chỉ có 2 đĩa ảo), và có thể xảy ra sự cố với một trong các đĩa ảo này. Nếu vCenter Server bị quá tải, máy chủ bận rộn sẽ không thể xử lý yêu cầu của bạn.
- Kiểm tra dung lượng đĩa trống và chạy lệnh trên phía vCenter Server. Nếu bạn sử dụng vCenter Server Appliance, hãy chạy lệnh này:
df -h - Phân vùng
/storage/archive/có thể đầy trong VCSA 6.7, và đây là tình huống dự kiến (bình thường) dựa trên thiết kế vCenter 6.7 của VMware. Kiểm tra bộ nhớ trống và tài nguyên bộ xử lý:
top - Kiểm tra hệ thống tệp trên máy chạy vCenter. Sử dụng
e2fsckđể kiểm tra hệ thống tệp trên VCSA và chạy lệnhe2fsck -y filesystem, ví dụ:
e2fsck -y /dev/sda1 - Nếu phát hiện và khắc phục được lỗi, hãy khởi động lại vCenter Server:
reboot
Các vấn đề với cơ sở dữ liệu vCenter
Cơ sở dữ liệu là thành phần quan trọng cần thiết để vCenter Server hoạt động bình thường. Nếu cơ sở dữ liệu không hoạt động, các lỗi vCenter, bao gồm “ vCenter 503 Service Unavailable ”, có thể xảy ra. Hãy cùng tìm hiểu các vấn đề có thể xảy ra với cơ sở dữ liệu và các phương pháp khắc phục.
Đôi khi các lỗi sau được hiển thị trong tệp nhật ký vpxd :
An unrecoverable problem has occurred, stopping the VMware VirtualCenter service. Error: Error[VdbODBCError] (-1) "ODBC error: (23505) - ERROR: duplicate key value violates unique constraint "pk_vpx_vm_virtual_device";
Error while executing the query" is returned when executing SQL statement "INSERT INTO VPX_VM_VIRTUAL_DEVICE
- Nếu vCenter của bạn được cài đặt trên Windows, hãy kiểm tra Trình xem sự kiện để xem nhật ký sự kiện ứng dụng.
Đây là lỗi do các mục trùng lặp trong cơ sở dữ liệu Postgres nhúng được sử dụng để vCenter hoạt động bình thường.
- Mở giao diện dòng lệnh của vCenter Server Appliance và, ví dụ, kết nối với máy chủ qua SSH.
- Truy cập thư mục nhật ký Postgres:
cd /var/log/vmware/vpostgres - Kiểm tra các tệp nhật ký. Các tệp nhật ký được đặt tên theo định dạng
postgresql-“dayofmonth”.log. Ví dụ, tệp nhật ký cho ngày thứ ba của tháng có tên là “postgresql-03.log”. Nếu hôm nay là ngày 3 tháng 5, hãy kiểm tra nội dung của tệp nhật ký tương ứng:cat postgresql-03.log
2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc ERROR: duplicate key value violates unique constraint “pk_vpx_vm_virtual_device”
2020-05-03 16:05:12.749 UTC 38a12db9.5481 1008636 VCDB vc DETAIL: Key (id, device_key)=(8101, 4002) already exists. - Ghi nhớ các giá trị
IDvàDEVICE_KEY. Trong ví dụ này, các giá trị này lần lượt là 8101 và 4002. - Kết nối với cơ sở dữ liệu Postgres nhúng được vCenter sử dụng:
/opt/vmware/vpostgres/current/bin/psql -d VCDB -U postgres - Xóa mục trùng lặp:
DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;
"DELETE 1"trong kết quả đầu ra có nghĩa là mọi thứ đều ổn. - Thoát khỏi giao diện dòng lệnh cơ sở dữ liệu:
q - Nhập
rebootđể khởi động lại máy chủ vCenter. Chờ cho đến khi máy chủ vCenter và các dịch vụ đã khởi động, sau đó thử mở vSphere Client.
Bạn có thể gặp lại lỗi tương tự sau khi khởi động lại. Kiểm tra lại nhật ký cơ sở dữ liệu. Nếu các mục trùng lặp lại được tạo ra, hãy xóa chúng và khởi động lại vCenter. Bạn có thể cần lặp lại việc xóa các mục trùng lặp và khởi động lại vCenter Server nhiều lần cho đến khi sự cố được giải quyết.
- Đôi khi bạn có thể cần xác định máy ảo (VM) bị ảnh hưởng, loại bỏ VM đó khỏi danh sách tài sản, sau đó đăng ký lại (thêm) VM vào danh sách tài sản.
- Nếu phương pháp này không giúp khắc phục vấn đề vĩnh viễn, hãy thử nâng cấp vCenter lên phiên bản vCenter 6.7 hoặc mới hơn.
- Nếu bạn sử dụng cơ sở dữ liệu SQL, hãy kiểm tra xem có đủ dung lượng đĩa trống để lưu trữ nhật ký cơ sở dữ liệu SQL hay không. Nếu không còn dung lượng trống trên hệ thống tệp nhật ký cơ sở dữ liệu SQL, bạn có thể gặp lỗi.
Vấn đề về quyền truy cập
Nếu vCenter của bạn được cài đặt trên Windows Server, đôi khi có thể xảy ra các vấn đề liên quan đến quyền tài khoản.
Kiểm tra chính sách “ Đăng nhập dưới dạng tác vụ hàng loạt ” trong Trình chỉnh sửa chính sách nhóm và đảm bảo rằng tất cả các tài khoản cần thiết đều có mặt. Việc thiếu quyền truy cập trên Windows Server nơi vCenter được cài đặt có thể gây ra lỗi vSphere 503 Service Unavailable .
- Mở trình chỉnh sửa chính sách nhóm cục bộ trong Windows (
Start > Run > gpedit.msc). - Trong trình chỉnh sửa chính sách nhóm, truy cập
Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment > Log on as a batch job. - Thêm các tài khoản người dùng này vào chính sách nếu chúng bị thiếu:
cm
content-library
eam
imagebuilder
mbcs
netdumper
perfcharts
rbd
vapiEndpoint
vmware-vpostgres
vsan-health
vsm
vsphere-client
vsphere-ui - Nhấp vào
Add User or Groupđể thêm tài khoản.
- Dừng và khởi động lại dịch vụ vSphere Client bằng các lệnh sau:
service-control --stop vsphere-client
service-control --start vsphere-client - Khởi động dịch vụ giao diện người dùng vSphere:
service-control --start vsphere-ui - Chờ cho đến khi dịch vụ được khởi động.
- Khởi động lại máy chủ vCenter và kiểm tra xem vCenter có hoạt động bình thường hay không.
Thông thường, các tài khoản cần thiết sẽ được trình cài đặt vCenter thêm tự động cho đến khi chính sách này được thiết lập thủ công trong trình chỉnh sửa chính sách nhóm.
Vấn đề mạng và DNS
Đảm bảo tên DNS của vCenter được thiết lập chính xác và địa chỉ IP của vCenter Server được giải quyết. Nếu DNS có mục nhập sai, bạn có thể gặp lỗi 503 Service Unavailable . Khi cài đặt vCenter, hãy thiết lập tên DNS trong cấu hình tại bước 7 (Cấu hình cài đặt mạng) của giai đoạn 1.

Nếu bạn đang sử dụng PSC bên ngoài, địa chỉ IP của PSC phải được giải quyết theo cả hai hướng – tra cứu thuận và tra cứu ngược.
- Kiểm tra tên máy chủ trong tệp
/etc/hoststrên vCenter Server Appliance. Đảm bảo rằng tên miền đầy đủ (FQDN) và tên ngắn có mặt trong tệp này theo định dạng sau:
vCenter_IP vCenter Server Appliance FQDN vcenter short name
Ví dụ:
192.168.101.103 vCenter6-7.vsphere.local vCenter6-7 - Sau khi thay đổi cấu hình DNS, hãy khởi động lại dịch vụ
vpxd:
service vmware-vpxd restart - Bạn có thể kiểm tra trạng thái của dịch vụ
vpxdbằng lệnh:
vpxd status service vmware-vpxd status - Trên PSC, hãy chạy các lệnh này để khởi động lại các dịch vụ liên quan:
/etc/init.d/vmware-stsd restart
/etc/init.d/vmware-sts-idmd restart
service vmware-cm restart - Khởi động lại dịch vụ vpxd trên máy tính nơi vCenter được cài đặt:
service vmware-vpxd restart - Chờ cho đến khi tất cả các dịch vụ cần thiết đã khởi động, sau đó thử mở VMware vSphere Client.
Nên sử dụng mô hình triển khai vCenter có PSC tích hợp để giảm thiểu các vấn đề mạng.
Các phiên bản mới nhất của vCenter, như vCenter 7.0, chỉ hỗ trợ cài đặt với PSC nhúng.
503 Service Unavailable
Nếu bạn vẫn gặp lỗi vCenter
- , hãy thử phương pháp tiếp theo.
-
/etc/sysctl.confHãy thử bật hoặc tắt IPv6. Mởnet.ipv6.conf.eth0.disable_ipv6và thay đổi1từ0thành#Disabling SLAAC/Link Local addressesđể bật IPv6:
net.ipv6.conf.eth0.disable_ipv6=0 -
sysctl -aSau khi lưu cài đặt, hãy chạy các lệnh:
sysctl -p
Tương tự, đặt giá trị là 1 để tắt IPv6.
Mở VMware vSphere Client ngay bây giờ. Kiểm tra xem mọi thứ có hoạt động bình thường sau khi khởi động lại hay không.
Hãy thử vô hiệu hóa SMBv1 và bật SMBv2 thay thế. Sau đó khởi động lại vCenter Server và kiểm tra xem phương pháp này có giúp được không.
Vấn đề về mật khẩu
503 Service Unavailable
Kiểm tra xem mật khẩu root cho vCenter Server Appliance của bạn có hết hạn hay không. Nếu đã hết hạn, bạn sẽ không thể đăng nhập vào vCenter để chỉnh sửa cấu hình và khắc phục lỗi, bao gồm cả lỗi vCenter appliance 0 mà không có giải pháp thay thế. Bạn có thể thiết lập thời hạn hết hạn của mật khẩu root tại
- nếu muốn mật khẩu không bao giờ hết hạn.
-
https://your_vCenter_IP:5480/ui/administrationBạn có thể chỉnh sửa cài đặt thời hạn hết hạn mật khẩu root trong giao diện người dùng (GUI) của vCenter Server Appliance Management:

-
vmdirdNếu có sự không khớp mật khẩu tạivmdird-syslog.logcho tài khoản được chỉ định tại503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)", yếu tố này có thể là nguyên nhân gây ra lỗi sau: -
/var/log/vmware/vmdird/vmdird-syslog.logKiểm tra tệp để xác định mật khẩu tài khoản nào không hợp lệ và cần được đặt lại.
Lưu ý: -
rootĐăng nhập vào vCenter Server Appliance với địa chỉshell.set --enabled truequa SSH. NhậpShellvà nhập -
Mở công cụ vdcadmintool tại bằng cách chạy lệnh:
/usr/lib/vmware-vmdir/bin/vdcadmintool - Chọn tùy chọn thứ ba:
Reset account password - Nhập tên tài khoản mà bạn muốn đặt lại mật khẩu, theo thông tin trong tệp
vmdird-syslog.log. - Mật khẩu mới sẽ được tạo tự động. Sao chép và ghi lại mật khẩu này.
Lưu ý: Nếu bạn thấy ký tự trống trong mật khẩu, hãy tạo mật khẩu mới bằng cách quay lại bước trước đó. Vấn đề này xảy ra nếu mật khẩu chứa các ký tự đặc biệt và chúng được hiển thị dưới dạng ký tự bị thiếu (trống). - Kết nối với vCenter Server qua SSH như đã giải thích ở trên (nếu bạn đang sử dụng PSC bên ngoài). Nếu bạn đang sử dụng PSC nhúng, hãy chuyển sang bước tiếp theo.
- Chạy lệnh để cập nhật mật khẩu mới:
/opt/likewise/bin/lwregshell
cd HKEY_THIS_MACHINEservicesvmdir
set_value dcAccountPassword "new password"
quit - Khởi động lại các dịch vụ của vCenter Server Appliance bằng các lệnh:
service-control --stop --all
service-control --start --all
Sao lưu vCenter của bạn trước khi chỉnh sửa cấu hình hoặc ít nhất là tạo bản chụp nhanh nếu vCenter Server của bạn đang chạy trên máy ảo. Thực hiện tương tự đối với Bộ điều khiển dịch vụ nền tảng bên ngoài nếu bạn đang sử dụng bộ điều khiển này.
để truy cập giao diện dòng lệnh Bash.
Thực hiện sao lưu vCenter
Thông thường, bạn nên sao lưu vCenter sau khi hoàn tất cấu hình. Bạn nên thực hiện việc này sau khi đảm bảo rằng vCenter đang hoạt động chính xác và trước khi chỉnh sửa cấu hình, để có thể khôi phục vCenter nếu xảy ra sự cố. Cách tiếp cận tốt nhất là tạo các bản sao lưu vCenter định kỳ vì cấu hình vCenter có thể thay đổi trong quá trình vận hành và một số mục có thể được thêm vào kho lưu trữ vCenter. Bạn không thể dự đoán khi nào sự cố sẽ xảy ra.
NAKIVO Backup & Replication là giải pháp bảo vệ dữ liệu toàn diện có thể sao lưu các máy ảo VMware vSphere và máy vật lý chạy Windows và Linux, bao gồm cả cơ sở dữ liệu SQL. Bảo vệ các máy chủ vCenter của bạn bằng NAKIVO Backup & Replication, và nếu vCenter gặp sự cố, bạn có thể khôi phục cấu hình hoạt động trong thời gian ngắn. Hỗ trợ sao lưu gia tăng và chính sách lưu giữ GFS giúp thực hiện sao lưu VMware vCenter một cách hợp lý hơn. Sản phẩm hỗ trợ cắt ngắn nhật ký SQL để tiết kiệm không gian lưu trữ và giảm khả năng xảy ra lỗi do không đủ dung lượng đĩa với các nhật ký cơ sở dữ liệu lớn.