Lỗi “503 Service Unavailable” trên vSphere Web Client: Bạn nên làm gì?
VMware vCenter Server, điểm quản lý tập trung của vSphere, được sử dụng để quản lý máy chủ vật lý ESXi, cụm, các máy ảo (VMs), và các thành phần khác trong trung tâm dữ liệu ảo hoá của bạn. Bài viết này đề cập đến lỗi 503 Dịch vụ Không khả dụng mà bạn có thể gặp khi Kết nối với vSphere Client. Hãy đọc để tìm hiểu về các nguyên nhân tiềm năng của lỗi này và cách khắc phục nó.
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à một phản hồi mô tả lỗi 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 đối với 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 nhiều nguyên nhân khác nhau:
- 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 cài đặt trên Windows) và các 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 máy khách.
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 rồi 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ị (dành cho vCenter Server Appliance) trong trình duyệt web bằng cách nhập địa chỉ IP hoặc FQDN (Tên miền đầy đủ) của vCenter và 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 trong phần
Services. Ví dụ: nếu dịch vụ vSphere Web Client làStarted, và 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 dòng lệnh (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 Bả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 rằng có kết nối giữa máy tính của bạn và máy chủ vCenter bằng cách thực hiện 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 máy chủ vCenter):
telnet vcenter_fqdn 9443 - Kết nối với vCenter qua SSH hoặc kết nối với bảng điều khiển của thiết bị VCSA (nhấn
Alt+F1trong DCUI của vCenter, đăng nhập, gõshell,và nhấnEnter). -
Kiểm tra trạng thái của các dịch vụ vCenter bằng cách chạy lệnh trên máy chạy vCenter:
service-control --status --all

- Nếu có một 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 vCenter với PSC. Kiểm tra dịch vụ trên PSC cũng.
-
Nếu một số dịch vụ đã dừng lại, hãy chạy tất cả dịch vụ với 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 lại, rồi 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 tìm ra nguyên nhân của lỗi bao gồm lỗi 503 Service Unavailable của vCenter.
Đầu tiên, kiểm tra tệp vsphere_client_virgo.log.
- Đối với phiên bản Windows của máy chủ vCenter, các nhật ký được lưu trữ ở:
C:ProgamDataVMwarevCenterServerlogsvsphere-clientlogs - Đối với thiết bị Máy chủ vCenter, các nhật ký vCenter được lưu trữ ở:
/var/log/vmware/vsphere-client/logs/
Hãy kiểm tra tệp vpxd.log nữa.
- Trên vCenter đang chạy trên Windows,
vpxd.logđược lưu trữ ở:
C:ProgramDataVMwarevCenterServerlogsvmware-vpx - Trên thiết bị Máy chủ vCenter,
vpxd.logđược lưu trữ ở:
/var/log/vmware/vpxd/
Không Đủ Tài Nguyên Phần Cứng Trống
Thiếu không gian đĩa không phải là nguyên nhân trực tiếp của lỗi 503 Dịch Vụ Không Có Sẵn của vCenter. Tuy nhiên, một số dịch vụ không thể khởi động nếu không có không gian đĩa trống, và điều này có thể gây ra lỗi 503 Dịch Vụ Không Có Sẵn . Độ trễ lưu trữ cao của vCenter cũng có thể là nguyên nhân của lỗi này. Bắt đầu từ VCSA 6.5, thiết bị được cung cấp với 12 đĩa ảo (trước đó có 2 đĩa ảo cho VCSA), và có khả năng có vấn đề xảy ra với một trong các đĩa ảo. Nếu máy chủ vCenter bị quá tải, máy chủ bận không thể xử lý yêu cầu của bạn.
- Kiểm tra không gian đĩa trống và chạy lệnh ở phía máy chủ vCenter. Nếu bạn sử dụng thiết bị Máy chủ vCenter, 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ế của VMware cho vCenter 6.7. Kiểm tra tài nguyên bộ nhớ và xử lý trống:
top - Kiểm tra hệ thống tập tin 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 tìm thấy và sửa lỗi, hãy khởi động lại máy chủ vCenter:
reboot
Sự cố với Cơ sở dữ liệu vCenter
Cơ sở dữ liệu là một thành phần quan trọng cần thiết cho hoạt động chính xác của máy chủ vCenter. Nếu một cơ sở dữ liệu không hoạt động, lỗi vCenter, bao gồm cả “ vCenter 503 Dịch vụ Không khả dụng “, có thể xảy ra. Hãy khám phá 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 chúng.
Đôi khi các lỗi sau 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 xem lại sự kiện để xem nhật ký sự kiện ứng dụng.
Đây là một lỗi do các mục trùng lặp trong cơ sở dữ liệu Postgres nhúng được sử dụng cho hoạt động chính xác của vCenter.
- Mở giao diện dòng lệnh của Thiết bị Máy chủ vCenter và ví dụ kết nối với máy chủ qua SSH.
- Đi đến 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 trong tháng được đặt tên là “postgresql-03.log“. Nếu hôm nay là ngày 3 tháng Năm, hãy kiểm tra nội dung của tệp nhật ký phù hợp: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. - Nhớ
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 bị trùng lặp:
DELETE FROM vc.vpx_vm_virtual_device where id=’8101′ and device_key=’4002′;
"DELETE 1"trong đầu ra có nghĩa là mọi thứ đều ổn. - Thoát khỏi CLI cơ sở dữ liệu:
q - Gõ
rebootđể khởi động lại máy chủ vCenter. Chờ cho đến khi máy chủ và các dịch vụ vCenter đã được khởi động và thử mở ứng dụng khách vSphere.
Bạn có thể gặp lại cùng một lỗi sau khi khởi động lại. Kiểm tra lại nhật ký cơ sở dữ liệu. Nếu mục trùng lặp được tạo lại, 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 mục trùng lặp và khởi động lại máy chủ nhiều lần cho đến khi vấn đề được giải quyết.
- Đôi khi bạn có thể cần phát hiện VM bị ảnh hưởng, loại bỏ VM bị ảnh hưởng khỏi kho, sau đó đăng ký lại (thêm) VM vào kho.
- Nếu phương pháp này không giúp khắc phục vấn đề vĩnh viễn, thử nâng cấp vCenter của bạn lên vCenter phiên bản 6.7 trở lên.
- Nếu bạn sử dụng cơ sở dữ liệu SQL, hãy kiểm tra xem bạn có đủ không gian đĩa để lưu trữ nhật ký cơ sở dữ liệu SQL chưa. 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 phải lỗi này.
Các vấn đề liên quan đến 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 truy cập 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 chưa có:
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 máy chủ vCenter đượ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 phần 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ó 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 sau để 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 xong, 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 đề về mạng. Phiên bản mới nhất của vCenter, như vCenter 7.0, chỉ hỗ trợ cài đặt với một PSC nhúng.
Nếu bạn vẫn gặp lỗi vCenter 503 Service Unavailable, hãy thử phương pháp tiếp theo.
- Thử bật hoặc tắt IPv6. Mở
/etc/sysctl.confvà thay đổinet.ipv6.conf.eth0.disable_ipv6từ1thành0để kích hoạt IPv6:
#Disabling SLAAC/Link Local addresses
net.ipv6.conf.eth0.disable_ipv6=0 - Tương tự, đặt 1 để vô hiệu hóa IPv6.
- Sau khi lưu cài đặt, chạy các lệnh:
sysctl -a
sysctl -p - Mở VMware vSphere Client ngay bây giờ. Kiểm tra xem mọi thứ hoạt động đúng cách sau khi khởi động lại.
- Thử tắt SMBv1 và kích hoạt SMBv2 thay vào đó. Sau đó khởi động lại máy chủ vCenter và kiểm tra xem phương pháp này có hiệu quả không.
Vấn đề về mật khẩu
Kiểm tra xem mật khẩu gốc cho Thiết bị Máy chủ vCenter có hết hạn 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ài đặt và sửa lỗi bao gồm cả lỗi 503 Service Unavailable của hệ thống mà không có giải pháp tạm thời. Bạn có thể đặt thời gian hết hạn mật khẩu gốc thành 0 nếu muốn mật khẩu không bao giờ hết hạn.
- Bạn có thể chỉnh sửa các cài đặt hết hạn mật khẩu gốc trong giao diện GUI của Quản lý Thiết bị Máy chủ vCenter:
https://your_vCenter_IP:5480/ui/administration
- Nếu có sự không khớp mật khẩu ở
vmdirdcho tài khoản được chỉ định trongvmdird-syslog.log, yếu tố này có thể là lý do gây ra lỗi sau:503 Service Unavailable (Failed to connect to endpoint: [N7Vmacore4Http20NamedPipeServiceSpecE:0x7f3d084a60c0] _serverNamespace = / _isRedirect = false _pipeName =/var/run/vmware/vpxd-webserver-pipe)" - Kiểm tra tệp
/var/log/vmware/vmdird/vmdird-syslog.logđể xác định mật khẩu của tài khoản nào không hợp lệ và phải được đặt lại.
Ghi chú: Sao lưu vCenter của bạn trước khi chỉnh sửa cấu hình hoặc ít nhất hãy chụp ảnh snapshot nếu máy chủ vCenter 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 ngoại vi nếu bạn đang sử dụng một cái. - Đăng nhập vào Thiết bị Máy chủ vCenter dưới dạng
rootqua SSH. Nhậpshell.set --enabled truevà nhậpShellđể truy cập bảng điều khiển Bash. - Mở công cụ vdcadmintool 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 mật khẩu mới được tạo tự động. Sao chép và lưu ý mật khẩu này.
Ghi chú: Nếu bạn thấy một ký tự trống trong mật khẩu, hãy tạo một mật khẩu mới bằng cách quay lại bước trước đó. Sự cố này xảy ra nếu một mật khẩu chứa ký tự đặc biệt, và chúng hiển thị dưới dạng ký tự trống (trắng). - Kết nối với Máy chủ vCenter qua SSH như đã giải thích ở trên (nếu bạn đang sử dụng một 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
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 bình thường 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 danh mục 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. Hãy bảo vệ các máy vCenter Server 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 khi có các nhật ký cơ sở dữ liệu lớn.