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ó.

NAKIVO cho sao lưu VMware vSphere

NAKIVO cho sao lưu VMware vSphere

Bảo vệ dữ liệu toàn diện cho các máy ảo VMware vSphere cùng các tùy chọn khôi phục tức thì. Các đích sao lưu an toàn tại chỗ, ngoài cơ sở và trên đám mây. Các tính năng chống ransomware.

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.

  1. 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
  2. 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 VMware 503 Service Unavailable có thể xảy ra.Fixing the 503 Service Unavailable error – checking running services
  3. 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 Access của Giao diện Quản lý Thiết bị vCenter.SSH login and Bash Shell are enabled in VCSA management settings
  4. 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. Enabling SSH access in Troubleshooting Mode options in the DCUI of VCSA
  5. Đả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

  6. 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+F1 trong DCUI của vCenter, đăng nhập, gõ shell, và nhấn Enter).
  7. 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
    Checking status of vCenter services to find a cause of the 503 Service Unavailable error

  8. 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.
  9. 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

  10. Thử dừng và khởi động lại dịch vụ vSphere Client:

    service-control --stop vsphere-client
    service-control --start vsphere-client

  11. 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ệnh e2fsck -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.

  1. 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.
  2. Đi đến thư mục nhật ký Postgres:
    cd /var/log/vmware/vpostgres
  3. 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.
  4. Nhớ IDDEVICE_KEY. Trong ví dụ này, các giá trị này lần lượt là 8101 và 4002.
  5. 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
  6. 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.
  7. Thoát khỏi CLI cơ sở dữ liệu:
    q
  8. 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 .

  1. Mở trình chỉnh sửa chính sách nhóm cục bộ trong Windows (Start > Run > gpedit.msc).
  2. 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.
  3. 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
  4. Nhấp vào Add User or Group để thêm tài khoản.Editing permissions in the group policy editor
  5. 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
  6. Khởi động dịch vụ giao diện người dùng vSphere:
    service-control --start vsphere-ui
  7. Chờ cho đến khi dịch vụ được khởi động.
  8. 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.

Set the FQDN when you install vCenter to avoid 503 service unavailable (failed to connect to endpoint

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.

  1. Kiểm tra tên máy chủ trong tệp /etc/hosts trê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
  2. Sau khi thay đổi cấu hình DNS, hãy khởi động lại dịch vụ vpxd :
    service vmware-vpxd restart
  3. Bạn có thể kiểm tra trạng thái của dịch vụ vpxd bằng lệnh:
    vpxd status service vmware-vpxd status
  4. 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
  5. 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
  6. 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.

  1. Thử bật hoặc tắt IPv6. Mở /etc/sysctl.conf và thay đổi net.ipv6.conf.eth0.disable_ipv6 từ 1 thành 0 để kích hoạt IPv6:
    #Disabling SLAAC/Link Local addresses
    net.ipv6.conf.eth0.disable_ipv6=0
  2. Tương tự, đặt 1 để vô hiệu hóa IPv6.
  3. Sau khi lưu cài đặt, chạy các lệnh:
    sysctl -a
    sysctl -p
  4. 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.
  5. 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.

  1. 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/administrationThe root password expiration settings in vCenter Server Appliance Management configuration
  2. Nếu có sự không khớp mật khẩu ở vmdird cho tài khoản được chỉ định trong vmdird-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)"

  3. 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.
  4. Đăng nhập vào Thiết bị Máy chủ vCenter dưới dạng root qua SSH. Nhập shell.set --enabled true và nhập Shell để truy cập bảng điều khiển Bash.
  5. Mở công cụ vdcadmintool bằng cách chạy lệnh:
    /usr/lib/vmware-vmdir/bin/vdcadmintool
  6. Chọn tùy chọn thứ ba:
    Reset account password
  7. 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.
  8. 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).
  9. 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.
  10. 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
  11. 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.

Dùng thử NAKIVO Backup & Replication

Dùng thử NAKIVO Backup & Replication

Đăng ký dùng thử miễn phí để khám phá toàn bộ các tính năng bảo vệ dữ liệu của giải pháp này. 15 ngày miễn phí. Không có bất kỳ giới hạn nào về tính năng hay dung lượng. Không cần thẻ tín dụng.

Có thể bạn cũng quan tâm