IT Technology/Linux

Linux VM Disk 추가 시 재부팅 없이 Disk 인식 방법

by빵수 2023. 4. 20. 11:28
728x90
반응형

Linux VM Disk 추가 시 재부팅 없이 Disk 인식 방법에 대해서 알아보자.

 

 

1. 현상

  • VMWare와 같은 가상화 솔루션을 사용하면 유동적으로 디스크를 추가해야 하는 경우가 있다.
  • 이 경우 VMWare에서 VM에 disk 장치를 추가했음에도 불구하고 VM 내 Linux OS에서는 인식하지 못하는 경우가 있다.

예시

[root@server /]# fdisk -l | grep /dev/sd
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   104857599    51379200   8e  Linux LVM

-> VM 내 실제 디스크는 sda, sdb 2개가 할당 되어 있으나 OS상에서는 기존의 sda만 인식 중

 

기존 할당 된 디스크 Host 확인 방법

#cat /proc/scsi/scsi

 

2. 해결 방법

  • 가장 간단한 방법은 VM 재부팅이다. 
  • VM을 재부팅하여 초기 부팅 시 장치 인식 과정에서 추가된 sdb 디스크를 인식시키면 된다.
  • 하지만, 상용 환경에서는 서비스 영향을 고려해야한다.
  • 그렇기에 재부팅 없이 온라인 환경에서의 인식 시킬 수 있는 방법이 필요하다.

인식 방법

 

/sys/class/scsi_host/{host#}/scan 파일에 echo "- - -"(- 사이 띄어쓰기 주의)을 실행하면 된다.

  • echo "- - -" > /sys/class/scsi_host/{host#}/scan
  • echo "- - -" > /sys/class/scsi_host/host0/scan
  • echo "- - -" > /sys/class/scsi_host/host1/scan
  • echo "- - -" > /sys/class/scsi_host/host2/scan

 

 

예시

 

[root@server /]# echo "- - -" > /sys/class/scsi_host/host0/scan
[root@server /]# fdisk -l | grep /dev/sd
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   104857599    51379200   8e  Linux LVM


[root@server /]# echo "- - -" > /sys/class/scsi_host/host1/scan
[root@server /]# fdisk -l | grep /dev/sd
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   104857599    51379200   8e  Linux LVM


[root@server /]# echo "- - -" > /sys/class/scsi_host/host2/scan
[root@server /]# fdisk -l | grep /dev/sd
Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   104857599    51379200   8e  Linux LVM
Disk /dev/sdb: 536.9 GB, 536870912000 bytes, 1048576000 sectors
[root@server /]#

 

 

-> echo "- - -" > /sys/class/scsi_host/host2/scan 명령어 수행 후 /dev/sdb 디스크를 인식

 

신규 디스크 인식 확인

[root@server /]#fdisk -l 

 

 

기타 정보

sg3_utils 패키지가 설치 되어있다면 rescan-scsi-bus.sh 실행하면 그냥 모든 scsi 호스트 리스캔 진행한다.

 

 

 

 

반응형