Red Hat 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$NUMBER/issue_lip
LIP명령이 적용될 때까지 한 15초 정도 기다립니다
3) HBA의 SCSI LUN rescan
리눅스가 HBA의 SCSI 장치를 rescan하도록 요청합니다
echo "- - -" >/sys/class/scsi_host/host$NUMBER/scan
example:
echo "- - -" > /sys/class/scsi_host/host0/scan
- 간단한 방법 -
------------------------------------------------------------------------------------------|
|cf) 간단하게 위 1~3번을 hp에서 제공하는 fibreutils 패키지를 이용하여 가능 |
| |
| 패키지명 : fibreutils-2.4-3.linux.i386.rpm (172.31.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/ 아래 정보를 확인하세요.
2. /var/log/messages 또는 dmesg 정보 확인
example:
Vendor: VMware Model: Virtual disk Rev: 1.0
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sdc: 20971520 512-byte hdwr sectors (10737 MB)
sdc: cache data unavailable
sdc: assuming drive cache: write through
SCSI device sdc: 20971520 512-byte hdwr sectors (10737 MB)
sdc: cache data unavailable
sdc: assuming drive cache: write through
sdc: unknown partition table
Attached scsi disk sdc at scsi0, channel 0, id 2, lun 0
Attached scsi generic sg2 at scsi0, channel 0, id 2, lun 0, type 0
SCSI device sdc: 20971520 512-byte hdwr sectors (10737 MB)
sdc: cache data unavailable
sdc: assuming drive cache: write through
sdc: sdc1
SCSI device sdc: 20971520 512-byte hdwr sectors (10737 MB)
sdc: cache data unavailable
sdc: assuming drive cache: write through
sdc: sdc1
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처럼 드라이버를 다시 올려주어야 인식되는 것 같습니다.
아래는 Red Hat에서의 관련 문서입니다. 참고하세요.
=============================================================================================
※ Red Hat 문서
Red Hat Enterprise Linux 4에서는 sysfs를 통한 패브릭 재발견(fabric rediscovery)을 지원합니다.
Qlogic (qla2xxx) 및 Emulex (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 t l" > /sys/class/scsi_host/hostn/scan
여기서 b는 버스(bus), t는 목표(target), 그리고 l은 hostn에서 스캔할 LUN을 의미합니다.
다음 예시에서와 같이 와일드 카드를 사용하는 것도 가능합니다:
echo "- - -" > /sys/class/scsi_host/host2/scan
시스템 운영 중 동적으로 추가된 장치에 할당된 장치명 (예, /dev/sdb)은
시스템 재부팅시 달라질 수 있다는 사실을 염두하시기 바랍니다.
'OS > Linux' 카테고리의 다른 글
[Linux] Red Hat Enterprise Linux 4: 시스템 관리 안내서 - 자원 모니터링 (0) | 2009.12.22 |
---|---|
[Linux] How do I rescan the SCSI bus to add or remove a SCSI device without rebooting the computer? (0) | 2009.12.22 |
[Linux] The Linux 2.4 SCSI subsystem HOWTO - Mid Level, Unifying layer (0) | 2009.07.02 |
[Linux] The Linux 2.4 SCSI subsystem HOWTO (0) | 2009.07.02 |
[Linux] LVM 커맨드 pvs/vgs/lvs (0) | 2009.06.24 |
[Linux] Recovery of RAID and LVM2 Volumes (0) | 2009.04.06 |
[Linux] Enterprise Storage on RHEL4 (0) | 2009.02.27 |
[Linux] 리눅스 시스템 최적화 튜닝 (0) | 2009.02.11 |
[Linux] 커널 - 프로세스간 통신 메커니즘 (0) | 2009.02.11 |
[Linux] core dump (0) | 2009.02.11 |