Làm cách nào để có được giao diện ảo SR-IOV Infiniband LÊN?


9

Tôi đã dành vài ngày cho việc này bây giờ và tôi đã quản lý để SR-IOV hoạt động với thẻ Infaniband Mellanox bằng phần mềm mới nhất.

Các hàm ảo xuất hiện trong Dom0 dưới dạng

06: 00.1 Bộ điều khiển mạng: Mellanox Technologies MT27500 Family [Chức năng ảo ConnectX-3] 06: 00.2 Bộ điều khiển mạng: Mellanox Technologies MT27500 Family [ConnectX-3 Virtual Function] ] 06: 00.4 Bộ điều khiển mạng: Gia đình Mellanox Technologies MT27500 [Chức năng ảo ConnectX-3]

Sau đó tôi đã tách 06: 00.1 khỏi Dom0 và gán nó cho xen-pciback.

Tôi đã chuyển cái này vào miền thử nghiệm Xen.

lspci bên trong thử nghiệm DomU cho thấy:

00: 01.1 Bộ điều khiển mạng: Gia đình Mellanox Technologies MT27500 [Chức năng ảo ConnectX-3]

Tôi có các mô-đun sau được tải trong DomU

mlx4_ib
rdma_ucm
ib_umad
ib_uverbs
ib_ipoib

đầu ra dmesg cho trình điều khiển mlx4 cho thấy:

[   11.956787] mlx4_core: Mellanox ConnectX core driver v1.1 (Dec, 2011)
[   11.956789] mlx4_core: Initializing 0000:00:01.1
[   11.956859] mlx4_core 0000:00:01.1: enabling device (0000 -> 0002)
[   11.957242] mlx4_core 0000:00:01.1: Xen PCI mapped GSI0 to IRQ30
[   11.957581] mlx4_core 0000:00:01.1: Detected virtual function - running in slave mode
[   11.957606] mlx4_core 0000:00:01.1: Sending reset
[   11.957699] mlx4_core 0000:00:01.1: Sending vhcr0
[   11.976090] mlx4_core 0000:00:01.1: HCA minimum page size:512
[   11.976672] mlx4_core 0000:00:01.1: Timestamping is not supported in slave mode.
[   12.068079] <mlx4_ib> mlx4_ib_add: mlx4_ib: Mellanox ConnectX InfiniBand driver v1.0 (April 4, 2008)
[   12.184072] mlx4_core 0000:00:01.1: mlx4_ib: multi-function enabled
[   12.184075] mlx4_core 0000:00:01.1: mlx4_ib: operating in qp1 tunnel mode

Tôi thậm chí đã có thiết bị ib0 xuất hiện.

ib0       Link encap:UNSPEC  HWaddr 80-00-05-49-FE-80-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.10.10.10  Bcast:10.10.10.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:2044  Metric:1
          RX packets:117303 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:256 
          RX bytes:6576132 (6.5 MB)  TX bytes:0 (0.0 B)

Tôi thậm chí có thể ping cục bộ 10.10.10.10.

Tuy nhiên, những ping đó không được gửi trên vải infiniband.

Nó xuất hiện là do các liên kết là xuống. chương trình ibstat:

CA 'mlx4_0'
    CA type: MT4100
    Number of ports: 1
    Firmware version: 2.30.3000
    Hardware version: 0
    Node GUID: 0x001405005ef41f25
    System image GUID: 0x002590ffff175727
    Port 1:
        State: Down
        Physical state: LinkUp
        Rate: 10
        Base lid: 9
        LMC: 0
        SM lid: 1
        Capability mask: 0x02514868
        Port GUID: 0x0000000000000000

Làm thế nào để tôi có được nó LÊN? liên kết domU là LÊN nhưng không phải là VF?


Và câu trả lời thực sự được tìm thấy ở đây: Theo liên kết này: http://www.spinics.net/lists/linux-rdma/msg13307.html

Tôi cần gì để cổng VF của nô lệ hoạt động? Tôi đang chạy opensm 3.3.13 trên một hộp khác, điều đó có đủ mới không? (SR-IOV có yêu cầu hỗ trợ SM không?)

Có, như Hal đã lưu ý, tối thiểu bạn cần mở ra 3.3,14 ( http://marc.info/?l=linux-rdma&m=133819320432335&w=2 ) vì đây là phiên bản đầu tiên hỗ trợ bí danh và hướng dẫn bí danh cần thiết cho SRIOV, 3.3.15 cũng đã ra mắt, vì vậy bạn muốn phiên bản thứ 2 hỗ trợ điều này ... về cơ bản bạn cần liên kết IB cho PPF và nô lệ để có được hướng dẫn bí danh đã đăng ký cho nó @ SM. Chúng tôi (nhóm IL) đã nghỉ thứ ba / thứ tư vì ngày lễ, sẽ cố gắng cung cấp cho bạn thêm thông tin chi tiết tối nay và nếu không, vào ngày mai, chắc chắn.

Bây giờ tôi đã nâng cấp OpenSM và sẽ báo cáo lại sớm.


EDIT: OK, nó đang hoạt động. Tuy nhiên tôi đang nhận được một bản ghi nhật ký cho opensm. Quá trình OpenSM đang viết hàng trăm mục nhập mỗi giây của biểu mẫu:

Sep 30 20:36:26 707784 [7DC1700] 0x01 -> validate_requested_mgid: ERR 1B01: Wrong MGID Prefix 0x8000 must be 0xFF
Sep 30 20:36:26 707810 [7DC1700] 0x01 -> mcmr_rcv_create_new_mgrp: ERR 1B22: Invalid requested MGID
Sep 30 20:36:26 708096 [8DC3700] 0x01 -> validate_requested_mgid: ERR 1B01: Wrong MGID Prefix 0x8000 must be 0xFF
Sep 30 20:36:26 708119 [8DC3700] 0x01 -> mcmr_rcv_create_new_mgrp: ERR 1B22: Invalid requested MGID
Sep 30 20:36:26 708391 [FF5B0700] 0x01 -> validate_requested_mgid: ERR 1B01: Wrong MGID Prefix 0x8000 must be 0xFF
Sep 30 20:36:26 708421 [FF5B0700] 0x01 -> mcmr_rcv_create_new_mgrp: ERR 1B22: Invalid requested MGID
Sep 30 20:36:26 708696 [3DB9700] 0x01 -> validate_requested_mgid: ERR 1B01: Wrong MGID Prefix 0x8000 must be 0xFF
Sep 30 20:36:26 708719 [3DB9700] 0x01 -> mcmr_rcv_create_new_mgrp: ERR 1B22: Invalid requested MGID

Và các thông báo lỗi ở trên đã biến mất khi tôi khởi động lại và cung cấp thêm bộ nhớ cho Dom0. Tôi hiện có 2GB được phân bổ cho nó khi tự động tắt. Thật không may, họ trở lại không có lý do rõ ràng. Vì vậy, tôi đã hỏi một câu hỏi mới liên quan đến vấn đề đó ở đây

Tôi không thực sự chắc chắn tại sao nó hoạt động trong dom0 nhưng trong trường hợp của tôi, tôi phải có OpenSM chạy trên Dom0 có VF's. Tôi đoán điều này là do phiên bản OpenSM chạy trên Dom0 biết về VF và có thể quảng cáo chúng trong khi trình quản lý mạng con trên một nút khác không? đó là dự đoán của tôi Tôi hy vọng nút xen kẽ khác cũng sẽ nhận được VF của nó. Điều đó có thể trở thành một câu hỏi khác. Hiện tại nó đang hoạt động với một nút Xen.


"Sminfo" cho thấy gì?
Danila Ladner

Trong Dom0. sminfo: sm nắp 1 sm guide 0x2590ffff1758d1, số hoạt động 40515 ưu tiên 0 trạng thái 3 SMINFO_MASTER
Matt

Ok, khởi động lại và cung cấp thêm bộ nhớ cho Dom0 (2GB) dường như đã khiến những lỗi đó biến mất. Tôi không chắc đó là bộ nhớ nhiều hơn hay khởi động lại dường như đã giải quyết nó.
Matt

Cảm ơn rất nhiều! Điều này đã cứu tôi! Tôi đã có một SM chạy trên công tắc, nhưng điều này là không đủ. Sau khi tôi khởi động SM trên một trong các nút (sau khi thực hiện toàn bộ phép thuật sysfs), bây giờ tôi có IB trong VM!
Jounathaen

1
@jounathaen - rất vui khi ai đó tìm thấy điều này hữu ích. Tôi nghĩ tại thời điểm tôi đang phá vỡ mặt bằng mới. Đi đến nơi chưa từng có trước đây.
Matt

Câu trả lời:


1

OpenSM phải được cài đặt và bắt đầu trên máy chủ hypanneror để đưa trạng thái lên. Sau đó bắt đầu bắt đầu OpenSM với tùy chọn: PORTS = "ALL".


1
OpenSM đã chạy trên một máy chủ khác trên vải.
Matt

Thêm thông tin được thêm vào cuối câu hỏi ban đầu của bạn
Matt

Trong cấu hình không có công tắc, OpenSM sẽ chạy trên cả hai máy chủ.
Danila Ladner

Có hai công tắc. Mặc dù tôi không nghĩ họ được quản lý
Matt

1
Tại sao Cổng GUID: 0x0000000000000000 ??? Chỉ cần nhìn thấy nó. Nó không phải là 0.
Danila Ladner
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.