RedHat Linux에서 시스템을 리부팅하지 않고, SCSI LUN인식하는 방법입니다

 

1) HBA 호스트번호 확인

host bus adapter(HBA)의 호스트 넘버를 알기 위해서 다음 명령을 실행합니다.

#ls /sys/class/fc_host/

host0 또는 host1,host2 같은 결과를 보실 수 있습니다.

 

2) HBA 채널을 다시 스캔 (LUN만 새롭게 rescan 할 경우에는 필요 없습니다.)

FC bus를 다시 스캔하기 위해서 HBA가 LIP 시그널을 보내도록 요청합니다.

echo "1" > /sys/class/fc_host/host[N]/issue_lip

LIP 명령이 적용될 때까지 한 15초 정도 기다립니다.

 

3) HBA의 SCSI LUN rescan

 

리눅스가 HBA의 SCSI 장치를 rescan하도록 요청합니다.

 

echo "- – -" > /sys/class/scsi_host/host[N]/scan

 

 

 

– 간단한 방법 ———————————————————————————

 

  1. cf) 간단하게 위 1~3번을 hp에서 제공하는 fibreutils 패키지를 이용하여 가능

 

패키지명 : fibreutils-2.4.-3.linux.i386.rpm(172.3.72.75:/DBMS/ERP/AppFile에 있습니다.)

 

1) 패키지 설치 : rpm -Uvh fibreutils-2.4-3.linux.i386.rpm -> /opt/hp/hp_fibreutils에 설치됨

   패키지 설치여부 확인 : rpm -qa | grep -i fibreutils

 

2) /opt/hp/hp_fibreutils/hp_rescan -a(LUN detect 커맨드)

 

————————————————————————————————

 

4) 추가된 SCSI Device 확인

 

  1. cat /proc/scsi/scsi -> 추가 검색된 Device만큼 LUN 정보가 나타나는지 확인하세요.

또는 qlogic인 경우 /proc/scsi/qla2xxx/ 아래, Emulex인 경우 /proc/scsi/lpfc/ 아래 정보를 확인하세요.

 

 

  1. /var/log/messages 또는 dmesg 정보 확인

 

5) fdisk -l, cat /proc/partitions로 확인

정상적으로 해당 디바이스가 커널에 인식되었는지 확인

위 4번의 경우 /dev/sdc가 fdisk -l, cat /proc/partitions에 나타나는지 확인

 

 

6) 해당 디바이스를 partitioning하고 파일시스템 구성하여 사용

이 방법은 지금까지 사용하면서 문제가 된 적은 없지만, 여전히 가장 권고하는 방법은 Rebooting이라고 합니다.

 

그리고 suse리눅스의 경우, 위 방법으로는 안되는 것 같습니다.

 

QLogic HBA인 경우, 파일시스템을 unmount한 후에 modprobe -r qla2xxx처럼 드라이버를 내렸다가 modprobe qla2xxx처럼 드라이버를 다시 올려주어야 인식되는 것 같습니다.

 

아래는 RedHat 에서의 관련 문서입니다. 참고하세요.

——————————————————-

* RedHat 문서

RedHat Enterprise Linux4에서는 sysfs를 통한 패브릭 재발견(fabric rediscovery)을 지원합니다.

Qlogic(qla2xxx0 및 Emuex(lpfc) Fibre Channel HBA 드라이버의 경우,

다음과 같은 명령을 실행하여 새로운 스토리지를 재발견하고 재 스캔할 수 있습니다.

 

echo "1" > /sys/class/fc_host/hostXYZ/issue_lip

echo "- – – " > /sys/class/scsi_host/hostXYZ/scan

 

여기서 XYZ는 여러분 HBA의 SCSI 호스트 번호를 의미합니다.

시스템 운영 중 새로운 목표 장치가 추가되면 운영체제가 자동으로 검색합니다.

다른 설정을 사용시, 새로운 목표 장치를 검색하기 위해서는 다음과 같은 명령을 입력하셔야 합니다.

echo 1 > /sys/class/fc_host/hostn/issue_lip

여기서 hostn은 적절한 어댑터 이름을 입력하시면 됩니다.

 

특정 목표 장치에서 새로운 로직 유닛(Logic Unit)이 생성될 경우,

다음과 같은 명령을 입력하셔야 새로운 로직 유닛을 검색하고 설정할 수 있습니다.

echo "b tl" > /sys/class/scsi_host/hostn/scan

여기서 b는 버스(bus), t는 목표(target), 그리고 l(엘)은 hostn에서 스캔할 LUN을 의미합니다.

다음 예시에서와 같이 와일드 카드를 사용하는 것도 가능합니다.

echo "- – -" > /sys/class/scsi_host/host2/scan

 

시스템 운영 중 동적으로 추가된 장치에 할당된 장치명(예, /dev/sdb)은 시스템 재부팅시 달라질 수 있다는 사실을 염두하시기 바랍니다.

리부팅 없이 SCSI LUN 인식하기

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다