Sợi kênh LUN quét lại và QLogic


8

Tôi gặp vấn đề nghiêm trọng với mảng lưu trữ SAN được kết nối với hộp Linux thông qua Kênh sợi quang. Đây là cấu hình:

  • Debian với vanilla linux 2.6.27.25
  • Bộ điều khiển cáp QLogic 4Gb cổng kép (dựa trên ISP2432)

Về cơ bản vấn đề là: làm thế nào để có được #? @ !! Bộ điều khiển / trình điều khiển FC để nhận biết các thay đổi cấu hình đúng (LUN mới hoặc đã xóa) của mảng lưu trữ?

  1. khi tôi tạo LUN mới trên mảng của mình (thường là ảnh chụp nhanh của một số LUN hiện có) và ánh xạ nó tới HBA của tôi, tôi không thể nhận ra nó chính xác: rescan-scsi-bus -l -w -rthực sự phát hiện thứ gì đó (một thiết bị chung / dev / sgXX) tuy nhiên không có thiết bị chặn được tạo (/ dev / sdXX).
  2. điều tương tự khi phát hành LIP và quét lại thủ công:

    echo 1> / sys / class / fc_host / host6 / vấn đề_lip

    tiếng vang "- - -"> / sys / class / scsi_host / host6 / scan

  3. nếu tôi loại bỏ một LUN hiện có, việc không phát hành LIP và giải cứu hoặc quét lại-scsi-bus có bất kỳ ảnh hưởng nào. Các thiết bị trước đó vẫn ở đó và tất nhiên không hoạt động ("file -s / dev / sdXX -> lỗi I / O").

  4. tải lại trình điều khiển qla2xxx hoạt động. Tuy nhiên, nó hoàn toàn không khả thi trong môi trường sản xuất.

Rõ ràng đây là một vấn đề rất phổ biến với QLogic . Một số loại giải pháp tồn tại chỉ hoạt động khi sử dụng trình điều khiển phát hành QLogic chỉ có sẵn cho các bản phân phối doanh nghiệp RedHat và Suse: xem phần giải thích này .

Thông tin bổ sung :

Đây là các thiết bị scsi trước LIP và quét lại:

# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  6 0 0 0  0  /dev/sdc
/dev/sg4  6 0 0 1  0  /dev/sdd
/dev/sg5  6 0 0 2  3

Sau khi LIP và quét lại, tôi có một thiết bị sg mới, nhưng không có ổ đĩa phù hợp. Nếu tôi tải lại trình điều khiển, một ổ đĩa sẽ xuất hiện:

# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  6 0 0 0  0  /dev/sdc
/dev/sg4  6 0 0 1  0  /dev/sdd
/dev/sg5  6 0 0 2  3
/dev/sg6  6 0 0 3  3

~# sg_map -x
/dev/sg0  0 0 0 0  0  /dev/sda
/dev/sg1  0 0 1 0  5  /dev/scd0
/dev/sg2  1 0 0 0  0  /dev/sdb
/dev/sg3  8 0 0 0  0  /dev/sdc
/dev/sg4  8 0 0 1  0  /dev/sdd
/dev/sg5  8 0 0 2  0  /dev/sde
/dev/sg6  8 0 0 3  3

Chỉnh sửa: OK, rõ ràng đây là một hạt cứng để crack. Tôi sẽ hỏi LKML và báo cáo ở đây.


Trình điều khiển phát hành QLogic mà bạn đang nói có thể được biên dịch cho các bản phát hành khác - đó không phải là một blob nhị phân.
Thuyền trưởng Segfault

Tốt, tôi có thể tìm thấy nó ở đâu? Tôi đã biên dịch toàn bộ kernel, thêm một trình điều khiển nữa không phải là vấn đề.
wazoox

Tôi đang gặp vấn đề này, bạn có tìm hiểu được gì không?
ThatGraemeGuy

Xin lỗi, chưa có thông tin.
wazoox

Câu trả lời:


2

Trong trường hợp thiết bị chặn được phát hiện, nhưng không có / dev / thiết bị nào được tạo, bạn có thể tự tạo thiết bị. Điều này không tối ưu, nhưng có thể khiến bạn khập khiễng. Các số chính và số phụ được trình bày trong / Proc / phân vùng và bạn có thể tạo các thiết bị khối của riêng mình thông qua lệnh mknod.

 # mknod /dev/sdg4 104 17

Tuy nhiên, tôi cảm thấy nỗi đau của bạn. QLogic cung cấp tải xuống trình điều khiển cho RHEL và SUSE nhưng dường như không có bản phát hành nào khác. OpenSUSE có thể có các trình điều khiển mang nhãn hiệu QLogic nhưng tôi không thể chắc chắn về nó. Tôi sẽ kiểm tra kỹ hơn khi tôi đi làm.

Chỉnh sửa : Tôi đang làm việc và có vẻ như các trình điều khiển QLogic trên các hộp SLES của tôi là tất cả các QLogic được cung cấp. Lưới hỗ trợ hệ điều hành của họ:

http://filedoads.qlogic.com/files/Driver/71098/readme_ ấn_80223.html # os_support

Chưa hết, khi tôi tải xuống kernel 2.6.27.25 tiêu chuẩn và tìm trong tệp ./drivers/scsi/qla2xxx/qla_version.h, nó gần giống với số phiên bản như tôi có trên các bản phát hành Novell của tôi (cả SLES và mở miễn phí). Điều này cho thấy giải pháp bạn tìm thấy cho SLES / RHEL thực sự có thể hoạt động với hạt nhân 2.6.27.25 tiêu chuẩn.


Thật không may, nó không thể hoạt động được, vì nó đề cập đến việc sử dụng một tệp không tồn tại (/ Proc / scsi / qla2xxx / ...) và một lệnh (scsi-qlascan) không xuất hiện trong mã nguồn trình điều khiển.
wazoox

1

Vâng, rất nhiều lời khuyên trên google nhưng hầu hết nếu không phải tất cả chúng là về RedHat / SuSe và trình điều khiển độc quyền Qlogic ... Tuy nhiên, một trong những liên kết của bạn đã cho tôi một ý tưởng, tôi sẽ quay lại :)
wazoox

Chà, uh, tôi đã thử với firmware mới nhất, nhưng không may mắn ...
wazoox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.