QLE2692 optikleri link up oluyor ama Proxmox VE 6.2 hiçbir LUN göstermiyor: qla2xxx register_localport failed
Bir çift hypervisor'ı Fibre Channel storage'a taşıyorum, ve kart bir VM'e verildiğinde birebir aynı donanım çalışırken host'lardan biri tek bir LUN bile göstermeyi reddediyor.
- QLogic QLE2692, ISP2722 tabanlı 16/32Gb FC, her iki port da kablolu
- karşı uçta Fujitsu Eternus DX100 S5
- Proxmox VE 6.2 host, kernel 5.4 üzerinde in-kernel qla2xxx
- aynı kart o host'ta bir Windows VM'e passthrough edilmiş
Host'ta portlar geliyor ve optikler ışık gösteriyor, ama hiçbir zaman blok cihaz görünmüyor. dmesg'de driver her initialize olduğunda şu var:
qla2xxx: register_localport failed: ret=ffffffea
WARNING in qla_nvme_register_hba
Şimdiye kadar yaptıklarım:
- SFP+ modüllerini ve patch kordonlarını iki port arasında değiştirdim, hiçbir değişiklik yok
- kartın tamamını bir Windows VM'e passthrough ettim: DX100 LUN'ları orada anında görünüyor, yani kablolama, optikler ve array tarafı açıkça sorunsuz
lspci -k'yi kontrol ettim, qla2xxx her iki fonksiyona da bound, kart için başka hiçbir şey mücadele etmiyor
Burada NVMe over FC çalıştırmaya çalışmıyorum bile, sadece host'ta sıradan FC LUN'ları istiyorum. Optikleri daha fazla didiklemeye değer mi, yoksa bu tamamen bir host driver problemi mi?
Comments 5
Optiklere tekrar dokunmadan önce, can sıkıcı detayları masaya koyun. O iki satır yerine tüm dmesg bloğunu paylaşın: driver'ın probe'dan itibaren yazdığı her şeyi, warning dahil olmak üzere. Registration satırı tek başına kimseye portların ayağa kalkmayı bitirip bitirmediğini, ya da init'in ortasında ölüp ölmediğini söylemiyor.
Ve array'in NVMe namespace olarak herhangi bir şey sunup sunmadığını, yoksa sadece düz SCSI LUN mu sunduğunu söyleyin. Yapıştırdığınız mesaj driver'ın NVMe yarısından geliyor, bu kurulumda hiçbir yerde namespace yoksa, bu zaten neyin başarısız olduğunu ve stack'in geri kalanının neden onunla birlikte gittiğini daraltıyor.
Hiçbir yerde namespace yok: array sadece düz SCSI FC LUN'ları sunuyor, bu fabric'te hiçbir şey NVMe konuşmuyor, mesajın bana en başından tuhaf görünmesinin sebebi de tam olarak bu.
dmesg bloğu kısa ve sıkıcı. Driver yükleniyor, her iki fonksiyon da temiz probe ediyor, portlar geliyor, ve sonra
register_localport failed: ret=ffffffeadüşüyor, hemen arkasındanWARNING in qla_nvme_register_hba. Timeout yok, reset yok, arada fabric'le ilgili hiçbir şey yok. Her tek boot'ta her iki port için de tekrarlıyor, ve sonrasında host'ta tek bir SCSI cihaz bile görünmüyor. Aynı kart aynı modüllerle passthrough VM'de LUN'ları hemen görüyor.Transceiver'lara bakmayı bırakın, bu host driver'ı. 5.4 üzerindeki in-kernel qla2xxx, adapter'ı ayağa kaldırırken NVMe-FC registration'ında başarısız oluyor, tam olarak gördüğünüz
register_localport failed: ret=ffffffeabu, ve bu FC portlarını geri kalan her şey için de kullanılmaz bırakıyor. Hiçbir yerde NVMe-FC istemediğiniz halde düz SCSI LUN'larınızın hiç görünmemesinin sebebi de bu. Passthrough çalışıyor çünkü Windows driver'ının bu kodla hiçbir ilgisi yok.Pratik yol farklı bir kernel. Aynı kartlar Proxmox 6.1'de kernel 5.3 ile düzgün davranıyor, 5.8'de de yine düzgün davranıyor, bu yüzden upgrade planlarınıza uyanı seçin, onunla boot edin, registration warning'inin dmesg'den kaybolduğunu kontrol edin ve sonra rescan edin. FC HBA'larla genel olarak edinilmeye değer bir alışkanlık: modülden şüphelenmeden önce driver tarafı hatalar için dmesg'i grep'leyin, çünkü init'te ölen bir driver, storage array'e bakarken tam olarak ölü bir link gibi görünür.
İşte buydu. Host'ta 5.8'i boot ettim, registration warning'i dmesg'den kayboldu ve DX100 LUN'ları başka hiçbir değişiklik olmadan her iki path'te de enumerate oldu, aynı kablolar, aynı modüller, aynı zoning. Eksiksizlik için ikinci bir node'u da kernel 5.3 ile 6.1'e geri döndürdüm, orada da çalışıyor, yani bozulma gerçekten bu donanımda 5.4'e özgü. Kart ve optikler tam oldukları gibi kalıyor, ve zaten sipariş etmiş olduğum yedek modülleri elimde tutabiliyorum.
Örüntüyü farklı bir açıdan doğruluyorum: Proxmox 7.1'de kernel 5.13 altında tam olarak buna denk geldik, yani etkilenen tek şey 5.4 değil, herhangi bir kernel geçişinden sonra kontrol etmeye değer.
Bu arada Emulex de daha iyi değil. Aylardır dokunulmadan çalışan iki LPe31000/LPe32000 portu, kernel 5.15.64'e ve ardından 5.15.74'e geçtikten sonra hiçbir LUN görmemeye başladı, logda
Enable MI Mailbox x9b (x1/xbf) failed, rc:x10 mi:x2veCMF is disabledvardı, sonrasında tek bir target bile bulunamadı. Kablolar ve optikler tabii ki dokunulmamıştı. O sorun lpfc'de yaşıyor ve 5.15.60'ı geçen kernel'lerle geldi. İnsanlar için işe yarayan iki çıkış yolu vardı:proxmox-boot-tool kernel pin 5.15.60-2-pveile boot kernel'ini hâlâ çalıştığı yerde sabitlemek, ya da 5.15 dalından ayrılmak sizin için kabul edilebilirse opt-in 5.19 kernel'ine atlamak. Fix'in 5.15.77'de gelmesi planlanmıştı, ama o build'i denemeye hiç fırsatım olmadı. Önemli olan şu: bir FC link bakımdan hemen sonra ölü görünüyorsa, yedek modül sipariş etmeye başlamadan önce hangi kernel'e boot ettiğinize bakın.