Tôi đang quản lý khoảng 90 máy chủ Dell được phân phối trên toàn thế giới, hiện đang trong quá trình nâng cấp từ Ubuntu 16.04LTS xenial lên Ubuntu 20.04LTS tiêu điểm.
Mỗi nguồn điện của máy chủ được bảo vệ bởi một SmartUPS APC được kết nối qua USB và được giám sát bằng đai ốc để tắt sạch trong trường hợp mất điện.
Điều này hoạt động khá tốt trên các máy chủ vẫn đang chạy xenial.
Trên những tiêu điểm đang chạy, có một vấn đề thường gặp là kết nối USB với UPS không hoạt động sau khi khởi động lại. Đặc biệt:
Trong quá trình khởi động hệ thống, nhân không phát hiện ra UPS và thay vào đó sẽ phàn nàn trong /var/log/syslog:
kernel: [ 2.239216] usb usb1-port4: không thể phân bổ usb_device
upsmon
phàn nàn định kỳ trong syslog:
upsmon[1105]: Thăm dò ý kiến UPS [ups@localhost] không thành công - Trình điều khiển không được kết nối
SmartUPS không hiển thị trong đầu ra của lsusb
:
a-schmidt@somewhere:~$ lsusb
Xe buýt 002 Thiết bị 001: ID 1d6b:0003 Trung tâm gốc Linux Foundation 3.0
Xe buýt 001 Thiết bị 004: ID 1604:10c0 Tascam
Xe buýt 001 Thiết bị 003: ID 1604:10c0 Tascam
Xe buýt 001 Thiết bị 002: ID 1604:10c0 Tascam
Xe buýt 001 Thiết bị 001: ID 1d6b:0002 Trung tâm gốc Linux Foundation 2.0
Đang chạy sudo upsdrvctl bắt đầu
báo cáo thủ công nó không thể tìm thấy thiết bị:
a-schmidt@somewhere:~$ sudo upsdrvctl bắt đầu
Network UPS Tools - Bộ điều khiển trình điều khiển UPS 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
Trình điều khiển giao tiếp USB 0.33
Không tìm thấy HID UPS phù hợp
Trình điều khiển không khởi động được (trạng thái thoát = 1)
Thực hiện thiết lập lại bus USB thông qua chuỗi lệnh:
tiếng vang '0000:00:14.0' | Sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind
tiếng vang '0000:00:14.0' | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind
giúp mọi lúc. UPS được phát hiện, như được chứng kiến bởi thông báo /var/log/syslog:
kernel: [20025.662161] usb 1-4: thiết bị USB tốc độ tối đa mới số 2 sử dụng xhci_hcd
kernel: [20025.838902] usb 1-4: Đã tìm thấy thiết bị USB mới, idVendor=051d, idProduct=0003, bcdDevice= 0,01
kernel: [20025.838907] usb 1-4: Chuỗi thiết bị USB mới: Mfr=1, Product=2, SerialNumber=3
kernel: [20025.838910] usb 1-4: Sản phẩm: Smart-UPS_1500 FW:UPS 04.1 / ID=1018
kernel: [20025.838913] usb 1-4: Hãng sản xuất: American Power Conversion
Nó xuất hiện trong lsusb
, và khởi động updrvctl
kết nối thành công:
a-schmidt@somewhere:~$ lsusb
Xe buýt 002 Thiết bị 001: ID 1d6b:0003 Trung tâm gốc Linux Foundation 3.0
Xe buýt 001 Thiết bị 002: ID 051d:0002 Nguồn cung cấp điện liên tục chuyển đổi năng lượng của Mỹ
Xe buýt 001 Thiết bị 005: ID 1604:10c0 Tascam
Xe buýt 001 Thiết bị 004: ID 1604:10c0 Tascam
Xe buýt 001 Thiết bị 003: ID 1604:10c0 Tascam
Xe buýt 001 Thiết bị 001: ID 1d6b:0002 Trung tâm gốc Linux Foundation 2.0
a-schmidt@somewhere:~$ sudo upsdrvctl bắt đầu
Network UPS Tools - Bộ điều khiển trình điều khiển UPS 2.7.4
Network UPS Tools - Generic HID driver 0.41 (2.7.4)
Trình điều khiển giao tiếp USB 0.33
Sử dụng subdriver: APC HID 0.96
upsmon
ngừng phàn nàn và mọi thứ lại ổn.
Điều gì có thể là lý do cho hành vi này và làm cách nào để khắc phục?