ฉันจัดการเซิร์ฟเวอร์ Dell ประมาณเก้าสิบเครื่องที่กระจายอยู่ทั่วโลก ขณะนี้อยู่ในขั้นตอนการอัปเกรดจาก Ubuntu 16.04LTS xenial เป็น Ubuntu 20.04LTS focal
แหล่งจ่ายไฟของเซิร์ฟเวอร์แต่ละตัวได้รับการปกป้องโดย APC SmartUPS ที่เชื่อมต่อผ่าน USB และตรวจสอบด้วยน็อตเพื่อปิดอย่างหมดจดในกรณีที่ไฟฟ้าดับ
ทำงานได้ค่อนข้างดีบนเซิร์ฟเวอร์ที่ยังคงใช้งาน xenial
ในบรรดาโฟกัสที่ทำงานอยู่ มีปัญหาบ่อยครั้งกับการเชื่อมต่อ USB กับ UPS ไม่ปรากฏขึ้นหลังจากรีบูต โดยเฉพาะ:
ระหว่างการเริ่มต้นระบบ เคอร์เนลตรวจไม่พบ UPS และบ่นใน /var/log/syslog แทน:
เคอร์เนล: [ 2.239216] usb usb1-port4: ไม่สามารถจัดสรร usb_device
อัพมอน
บ่นเป็นระยะใน syslog:
upsmon[1105]: โพลล์ UPS [ups@localhost] ล้มเหลว - ไม่ได้เชื่อมต่อไดรเวอร์
SmartUPS ไม่แสดงในผลลัพธ์ของ แย่แล้ว
:
a-schmidt@somewhere:~$ lsusb
อุปกรณ์บัส 002 001: ID 1d6b:0003 รูตฮับ Linux Foundation 3.0
บัส 001 อุปกรณ์ 004: ID 1604:10c0 Tascam
บัส 001 อุปกรณ์ 003: ID 1604:10c0 Tascam
บัส 001 อุปกรณ์ 002: ID 1604:10c0 Tascam
อุปกรณ์บัส 001 001: ID 1d6b:0002 รูทฮับ Linux Foundation 2.0
วิ่ง sudo upsdrvctl เริ่มต้น
รายงานด้วยตนเองว่าไม่พบอุปกรณ์:
a-schmidt@somewhere:~$ sudo upsdrvctl start
เครื่องมือ Network UPS - ตัวควบคุมไดรเวอร์ UPS 2.7.4
เครื่องมือ Network UPS - ไดรเวอร์ HID ทั่วไป 0.41 (2.7.4)
ไดรเวอร์การสื่อสาร USB 0.33
ไม่พบ HID UPS ที่ตรงกัน
ไดรเวอร์ไม่สามารถเริ่มต้นได้ (สถานะการออก = 1)
ทำการรีเซ็ตบัส USB ผ่านลำดับคำสั่ง:
เสียงสะท้อน '0000:00:14.0' | sudo ที /sys/bus/pci/drivers/xhci_hcd/unbind
เสียงสะท้อน '0000:00:14.0' | sudo ที /sys/bus/pci/drivers/xhci_hcd/bind
ช่วยทุกครั้ง ตรวจพบ UPS ตามที่เห็นโดยข้อความ /var/log/syslog:
เคอร์เนล: [20025.662161] usb 1-4: อุปกรณ์ USB ความเร็วสูงใหม่หมายเลข 2 โดยใช้ xhci_hcd
เคอร์เนล: [20025.838902] usb 1-4: พบอุปกรณ์ USB ใหม่, idVendor=051d, idProduct=0003, bcdDevice= 0.01
เคอร์เนล: [20025.838907] usb 1-4: สตริงอุปกรณ์ USB ใหม่: Mfr=1, Product=2, SerialNumber=3
เคอร์เนล: [20025.838910] usb 1-4: ผลิตภัณฑ์: Smart-UPS_1500 FW:UPS 04.1 / ID=1018
เคอร์เนล: [20025.838913] usb 1-4: ผู้ผลิต: American Power Conversion
ปรากฏใน แย่แล้ว
, และ upsdrvctl เริ่มต้น
เชื่อมต่อสำเร็จ:
a-schmidt@somewhere:~$ lsusb
อุปกรณ์บัส 002 001: ID 1d6b:0003 รูตฮับ Linux Foundation 3.0
อุปกรณ์ 001 บัส 002: ID 051d:0002 เครื่องสำรองไฟแบบแปลงไฟอเมริกัน
บัส 001 อุปกรณ์ 005: ID 1604:10c0 Tascam
บัส 001 อุปกรณ์ 004: ID 1604:10c0 Tascam
บัส 001 อุปกรณ์ 003: ID 1604:10c0 Tascam
อุปกรณ์บัส 001 001: ID 1d6b:0002 รูทฮับ Linux Foundation 2.0
a-schmidt@somewhere:~$ sudo upsdrvctl start
เครื่องมือ Network UPS - ตัวควบคุมไดรเวอร์ UPS 2.7.4
เครื่องมือ Network UPS - ไดรเวอร์ HID ทั่วไป 0.41 (2.7.4)
ไดรเวอร์การสื่อสาร USB 0.33
ใช้ไดรเวอร์ย่อย: APC HID 0.96
อัพมอน
หยุดบ่นและทุกอย่างจะดีอีกครั้ง
อะไรคือสาเหตุของพฤติกรรมนี้และฉันจะแก้ไขได้อย่างไร