Online 상태에서 Disk를 추가하였을때 Disk가 안보일때
1) HBA 호스트번호 확인
host bus adapter(HBA)의 호스트 넘버를 알기 위해서 다음 명령을 실행
FC host일 경우
# ls /sys/class/fc_host/
일반 disk host일 경우
# ls /sys/class/scsi_host/
host0 또는 host1, host2 같은 결과를 볼 수 있다.
2) HBA 채널을 다시 스캔 (LUN만 새롭게 rescan할 경우에는 필요 없다.)
FC bus를 다시 스캔하기 위해서 HBA가 LIP 시그널을 보내도록 요청
# echo "1" >/sys/class/fc_host/host$NUMBER/issue_lip
LIP명령이 적용될 때까지 한 15초 정도 기다린다.
Rescan이 필요한 경우에는
# ls /sys/class/scsi_device/
1:0:0:0 2:0:0:0 2:0:1:0
# echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/rescan
※ 위의 방법은 scan 요청을 하였는데도 Disk가 보이지 않을 시 사용
3) HBA의 SCSI LUN rescan
리눅스가 HBA의 SCSI 장치를 rescan하도록 요청
echo "- - -" >/sys/class/scsi_host/host$NUMBER/scan
example:
echo "- - -" > /sys/class/scsi_host/host0/scan
Ex) host가 많을 경우 반복문 사용
- for문 사용
# for i in {1..30}; do echo "- - -" > /sys/class/scsi_host/host$i/scan; done
- while문 사용
# ls /sys/class/scsi_host/ | while read host ; do echo "- - -" > /sys/class/scsi_host/$host/scan ; done
4) 추가된 SCSI Device 확인 (FC_host인 경우)
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
7) Tip
Suse 리눅스의 경우, 위 방법으로는 적용안됨
QLogic HBA인 경우, 파일시스템을 unmount한 후에 modprobe -r qla2xxx 처럼 드라이버를 내렸다가
modprobe qla2xxx처럼 드라이버를 다시 올려주어야 인식되는 것 같다.
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)은
시스템 재부팅시 달라질 수 있다는 사실을 염두하시기 바랍니다.
출처 : http://hotpotato.tistory.com/154
출처 : http://kernel-baramil.blogspot.kr/2014/03/linux-tiprebooting-scan.html
출처 : http://tg0922.tistory.com/51
출처 : https://websetnet.com/ko/add-disk-linux-centos-7-rebooting/
'Linux' 카테고리의 다른 글
Linux tune2fs (0) | 2018.08.08 |
---|---|
Linux LVM 명령어 리스트 (0) | 2018.08.08 |
Linux e2fsck (0) | 2018.08.08 |
Linux partprobe (0) | 2018.08.08 |
Linux partx (0) | 2018.08.08 |