GBIC(SFP Module) 교체 방법

 

- Diagram

          +------------------------------------------------------+
          |                                                      |
          |            Server                                    |
          |                                                      |
          +------------------------------------------------------+
          |                                                      |
          |                                                      |
          |                                                      |
          |            HBA 1          HBA 2                      |
          |        +------------+ +------------+                 |
          |        |            | |            |                 |
          |        |            | |            |                 |
          |        |Port1 Port2 | |Port1 Port2 |                 |
          |        |  +-+  +-+  | |  +-+  +-+  |                 |
          |        |  | |  | |  | |  | |  | |  |                 |
          |        |  | |  | |  | |  | |  | |  |                 |
          |        |  | |  | |  | |  | |  | |  |                 |
          +--------+--+++--+-+--+-+--+++--+-+--+-----------------+
                       |              |
                       |              |
                       |              |
                       |              |
                       |              |
                       |              |
+----------------------+--+        +--+------------------------+
|                         |        |                           |
|     SAN S/W 1           |        |     SAN S/W 2             |
|                         |        |                           |
|                         |        |                           |
+-------------------------+        +---------------------------+

-> Customer wants to replace Port1 SFP of HBA 1 Card.

 

## 작업 절차 ##

1. lsscsi 를 사용하여 특정 LUN이 문제가 있는지 확인
- 현재 설치된 HBA Card Port의 Host 정보 파악
# lsscsi -H
- 각 Port마다 등록된 LUN 수 확인
# lsscsi

2. Multipath 정보 확인
각 2패스 이상으로 구성되었는지 확인

3. HBA GBic(SFP 모듈) Port 교체
/var/log/message 파일을 모니터링 하여, 관련 스토리지가 정상적으로 등록되는지 확인 필요

4. 교체후 lsscsi 명령어를 이용하여 LUN 수 정상 확인 후 multipath 확인
만약 lun 수가 정상이 아니라면 다음과 같이 수행

5. HBA port reset
echo "1" > /sys/class/fc_host/host*/issue_lip
[참고문서]
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/scanning-storage-interconnects
수행 후 lsscsi 명령어를 수행하여 lun 정상 확인, 정상이라면 Multipath 점검

만약 이 과정으로 port reset을 하였는데도 lun 수가 정상이 아니라면 시스템 리부팅을 권고합니다.

7. 리부팅 후 점검
시스템 리부팅시에도 정상화 되지 않으면 SAN Switch 등 외부적인 시스템 점검 필요합니다.

 

## 추가 분석 ##
* 위 과정을 모두 거쳤으나 해결이 되지 않는다면 아래 문서를 참고하여 HBA Driver 로그 레벨을 올린 후 추가 자료 수집를 수집하여 각 벤더들에게 분석 요청해야 합니다.

[참고문서]
- [Troubleshooting] How do I turn on additional qla2xxx or qla4xxx driver extended logging and what logging is available?
https://access.redhat.com/articles/337813

- [Troubleshooting] How do I turn on additional lpfc driver extended logging and what logging is available?
https://access.redhat.com/articles/337853

 

 

### 패스 논리적 제거 후 sfp 교체
- 패스의 장치들을 논리적으로 제거 후 sfp 교체하는 방법

장치를 오프라인 상태로 설정하면 새롭게 유입되는 IO를 장치에 사용할 수 없게 만듭니다.
아래와 같이 수행 하십시오.
lsscsi | grep "\[999" | grep "dev/sd" | cut -d'/' -f3 | tr -d ' ' | xargs -I {} sh -c 'echo offline > /sys/block/{}/device/state ; grep -Hv zz /sys/block/{}/device/state'
* 위 숫자 999는 오프라인으로 만들려는 hba 호스트 번호를 서버 환경에 맞게 변경하여 기입하십시오.

이렇게 하면 새로운 IO의 유입을 막지만 기존의 IO는 비우게 됩니다.
따라서 path를 오프라인으로 설정하면 path 상태를 확인할 때마다(각 폴링주기마다) 멀티패스에 의해 "path offline" 메시지를 출력하게 됩니다.

'multipath -l' 명령을 통해 호스트 path가 faulty로 표시 될때까지 기다린 다음 SFC 모듈을 교체하십시오.

또는 호스트에 연결된 모든 장치를 아래와 같이 간단하게 삭제할 수 도 있습니다.
lsscsi | grep "\[999" | grep "dev/sd" | cut -d'/' -f3 | tr -d ' ' | xargs -I {} sh -c 'echo 1 > /sys/block/{}/device/delete'
* 위 숫자 999는 오프라인으로 만들려는 hba 호스트 번호를 서버 환경에 맞게 변경하여 기입하십시오.

마찬가지로 'multipath -l' 명령을 통해 호스트 path가 faulty로 표시될 때까지 기다린 다음 SFC 모듈을 교체하십시오.

SFP가 변경(교체)되면 장치명이 기존과 동일할 수 있지만 일반적으로 다른 장치명(sdN)으로 됩니다.
lsscsi를 점검하여 장치가 다시 작동하는지 확인하고 multipath가 장치를 다시 선택했는지 확인하십시오.
장치가 확인되지 않으면 echo 1 > /sys/class/fc_host/host999/issue_lip 을 시도하십시오.
그러면 링크가 재시작(링크다운/링크업, 전체재감지 절차에 의해) 됩니다.
(SFP 교체 후 케이블을 다시 끼울 때 링크 재시작 일어나고 장치가 보여야 하지만 만약 장치가 보이지 않는다면 위와 같이 수동으로 링크 재시작 수행)

 

### 물리적인 작업만으로 sfp 교체
논리적인 제거 작업 없이 sfp 교체에 대한 의견

시스템은 아래와 같이 2개의 Emulex FC HBA를 통해 HITACHI OPEN-V LUN을 프로비저닝하고 있으며 dm-multipath는 기본 구성을 사용하여 이러한 SAN 장치의 하위 경로를 관리하고 있습니다.
	[    3.162100] scsi host2: Emulex LPe16000 16Gb PCIe Fibre Channel Adapter on PCI bus 3b device 00 irq 198 PCI resettable
	[    4.217247] scsi host4: Emulex LPe16000 16Gb PCIe Fibre Channel Adapter on PCI bus 3d device 00 irq 425 PCI resettable

	mpathd (360060e80074f450000304f4500003201) dm-1 HITACHI ,OPEN-V          
	size=2.0T features='1 queue_if_no_path' hwhandler='0' wp=rw
	`-+- policy='service-time 0' prio=1 status=active            <<---------- Both paths are in same path group with prio=1
	  |- 2:0:0:1 sdd 8:48 active ready running
	  `- 4:0:0:1 sdf 8:80 active ready running

	mpathc (360060e80074f450000304f4500003200) dm-0 HITACHI ,OPEN-V          
	size=2.0T features='1 queue_if_no_path' hwhandler='0' wp=rw
	`-+- policy='service-time 0' prio=1 status=active            <<---------- Both paths are in same path group with prio=1
	  |- 2:0:0:0 sdc 8:32 active ready running
	  `- 4:0:0:0 sde 8:64 active ready running


다음은 위의 HITACHI OPEN-V LUN에 대해 현재 사용되는 dm-multipath 구성입니다.
        device {
                vendor "(HITACHI|HP)"
                product "OPEN-.*"
                path_grouping_policy "multibus"
                path_checker "tur"
                features "1 queue_if_no_path"
                hardware_handler "0"
                prio "const"
                rr_weight "uniform"
                no_path_retry 4
        }

HITACHI LUN에 대한 위의 다중 경로 구성에는 "failback"옵션이 설정되어 있지 않으므로 dm-multipath는 기본값 (failback "manual")을 사용합니다.
이 특정 시나리오에서 위의 모든 다중 경로 장치에는 단일 경로 그룹만 있습니다. "failback"옵션은 둘 이상의 경로 그룹을 가진 다중 경로 장치에 사용할 수 있습니다.

멀티패스 장치에 둘 이상의 경로 그룹으로 구성 되어있는 경우 "failback" 옵션을 사용하여 device-mapper-multipath 가 우선 순위가 가장 높은 경로 그룹의 경로로 IO 요청을 즉시 장애 복구해야 하는지 여부를 선택할 수 있습니다.
그러나 sosreport로 확인된 구성의 경우 다중 경로 장치에 동일한 경로 그룹에 2개의 경로가 함께 있으므로 이 옵션의 설정은 적용받지 않게 됩니다.

논리적으로 하나의 HBA에서 경로를 선택적으로 비활성화하고 SFP를 교체할 수 있지만, SFP를 논리적으로 제거하지 않고 물리적인 작업만으로 교체하는 것만으로도 문제는 없습니다.
교체 과정은 다운 타임없이 온라인으로 수행 할 수 있지만 중요한 프로덕 시스템의 경우 최소 IO로드 동안 SFP 변경/교체를 수행하는 것이 좋습니다.
이는 SFP를 교체하는 동안 위의 다중 경로 장치가 SCSI 하위 경로의 절반만(single path 상황) 존재하기 때문이다.

 

** 온라인 상태에서의 SFP 모듈 교체에 대한 물리적인 절차 및 안정성 확인은 H/W 벤더로부터 문의가 필요합니다.

How to replace the GBIC(SFP Module) during online on Linux Server

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다