Điểm:0

Tôi muốn đặt lại FC_HOST trước khi đa đường cố gắng gắn kết các đường dẫn từ nó

lá cờ ht

Tôi có thẻ HBA HPE SN1100Q 2 cổng 16G trên máy chủ gen10 hpe proliant được kết nối với bộ lưu trữ HPE 3par đính kèm trực tiếp. Và một số điều kỳ lạ xảy ra. Tôi đang sử dụng trình điều khiển qla2xxx phiên bản 10.01.00.19-k được tích hợp sẵn trong Ubuntu 20.04. Khi máy chủ của tôi khởi động lại, kết nối giữa máy chủ của tôi và 3par không thể truy cập được. Nhưng khi tôi đặt lại fc_ports của mình bằng lệnh này thì kết nối có thể truy cập lại được.

tiếng vang 1 > /sys/class/fc_host/host7/issue_lip
tiếng vang 1 > /sys/class/fc_host/host9/issue_lip

Vì vậy, tôi muốn đặt lại các cổng này trước khi máy chủ thử gắn các đường dẫn. Tôi đã viết một dịch vụ systemd và tập lệnh reset-hba cho việc này. Nhưng nhiều đường đang cố truy cập các đường dẫn trước khi tập lệnh của tôi đặt lại các cổng. Làm thế nào tôi có thể khắc phục vấn đề này?

Đây là dịch vụ systemd của tôi:

[Đơn vị]
Mô tả=Đặt lại cổng hba khi khởi động
Before=multipathd.service
 
[Dịch vụ]
Loại=oneshot
ExecStartPre=/sbin/modprobe -a qla2xxx
ExecStart=/bin/bash -c "/opt/hpe-hba/reset_hba_ports.sh"

[Cài đặt]
WantedBy=sysinit.đích

Và tập lệnh thiết lập lại của tôi:

#/bin/bash

FC_HOST_PATH="/sys/class/fc_host"

modprobe qla2xxx

cho đến khi [ ! -z "$(ls $FC_HOST_PATH)" ]
làm
    ngủ 1
    echo "Đang chờ FC host..."
xong

echo "Đặt lại cổng HBA trong tiến trình..."
cho máy chủ trong $(ls $FC_HOST_PATH);do
    RPORT=$(ls $FC_HOST_PATH/$host/device/ | grep rport)
    TPPORT=$(ls $FC_HOST_PATH/$host/device/$RPORT | mục tiêu grep)
    nếu [ -z "${TPORT}" ]
    sau đó
    echo "$host không được kết nối. Đang đặt lại cổng FC"
        tiếng vang 1 > /sys/class/fc_host/$host/issue_lip;
    fi
xong

echo "Đang đợi giao tiếp FC được thiết lập."
try_count=0
trong khi [ $try_count -le 3 ]
làm
    lỗi = 0
    cho máy chủ bằng $(ls $FC_HOST_PATH)
    làm 
        RPORT=$(ls $FC_HOST_PATH/$host/device/ | grep rport)
        TPPORT=$(ls $FC_HOST_PATH/$host/device/$RPORT | mục tiêu grep)
        echo "Cổng đích cho $host là $TPORT"
        nếu [ -z "${TPORT}" ]
        sau đó
            echo "Cổng HBA FC chưa sẵn sàng. Chưa có mục tiêu! Đang chờ 10 giây..."
            lỗi = 1
            ngủ 5
        fi
    xong
    nếu [ $err -eq 0 ]
    sau đó
        nghỉ
    fi
    ((try_count++))
xong

echo "Cổng FC init đã được biên dịch!"

NGÀY=$(/usr/bin/ngày)
tiếng vang $DATE >> /opt/hpe-hba/last_run.txt

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.