이 "호스트" 디렉터리는 무엇입니까?

이 "호스트" 디렉터리는 무엇입니까?

저는 RHEL 7.6 기반 배포판인 Oracle Linux 7.6을 사용하고 있습니다. 다음 테스트는 RHEL 7.6 또는 기타 RHEL 7.6 기반 배포판에서 동일해야 합니다.

Windows 10의 VMware Workstation에서 Oracle Linux 7.6 서버를 실행하고 있습니다. 내가 하고 싶은 일은 Linux 서버를 다시 시작하지 않고 Linux 게스트 가상 머신에 디스크를 추가하는 것입니다. 구글링해서 이런 페이지를 찾았습니다.https://rahsupport.wordpress.com/2017/08/10/vmware-add-disk-to-linux-without-rebooting-the-vm/. 기본적으로 수행되는 작업은 다음과 같습니다.

  • VMware Workstation의 디스크를 Linux 가상 머신에 추가
  • 가다/sys/class/scsi_host/
  • 달리기echo '- - -' > host1/scan
  • 그런 다음 실행하면 fdisk -l새로 추가된 디스크를 볼 수 있습니다.

제 환경에서 테스트해봤습니다. 이러한 호스트 디렉터리는 세 개가 있으며, 각 디렉터리 scan에는 파일이 있습니다.

root:[/sys/class/scsi_host]# ls -la
total 0
drwxr-xr-x.  2 root root 0 Aug 24 22:49 .
drwxr-xr-x. 54 root root 0 Aug 24 22:49 ..
lrwxrwxrwx.  1 root root 0 Aug 24 22:49 host0 -> ../../devices/pci0000:00/0000:00:07.1/ata1/host0/scsi_host/host0
lrwxrwxrwx.  1 root root 0 Aug 24 22:49 host1 -> ../../devices/pci0000:00/0000:00:07.1/ata2/host1/scsi_host/host1
lrwxrwxrwx.  1 root root 0 Aug 24 22:49 host2 -> ../../devices/pci0000:00/0000:00:10.0/host2/scsi_host/host2
root:[/sys/class/scsi_host]#
root:[/sys/class/scsi_host]# ls -la */scan
--w-------. 1 root root 4096 Aug 24 22:50 host0/scan
--w-------. 1 root root 4096 Aug 24 22:50 host1/scan
--w-------. 1 root root 4096 Aug 24 22:50 host2/scan
root:[/sys/class/scsi_host]#

원래 Linux 서버는 디스크를 인식할 수 없습니다.

root:[/sys/class/scsi_host]# fdisk -l

Disk /dev/sda: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d3e78

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      976895      487424   83  Linux
/dev/sda2          976896  2059401215  1029212160   83  Linux
/dev/sda3      2059401216  2101344255    20971520   83  Linux
/dev/sda4      2101344256  2147483647    23069696    5  Extended
/dev/sda5      2101348352  2143289343    20970496   83  Linux
/dev/sda6      2143291392  2147483647     2096128   82  Linux swap / Solaris

하지만 다음을 실행하면 echo '- - -' > host0/scan디스크가 나타납니다.

root:[/sys/class/scsi_host]# echo '- - -' > host0/scan
root:[/sys/class/scsi_host]# fdisk -l

Disk /dev/sda: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d3e78

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      976895      487424   83  Linux
/dev/sda2          976896  2059401215  1029212160   83  Linux
/dev/sda3      2059401216  2101344255    20971520   83  Linux
/dev/sda4      2101344256  2147483647    23069696    5  Extended
/dev/sda5      2101348352  2143289343    20970496   83  Linux
/dev/sda6      2143291392  2147483647     2096128   82  Linux swap / Solaris

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

root:[/sys/class/scsi_host]# 

다시 테스트하기 위해 Linux VM을 원래 상태로 복원했습니다. 이번에는 echo '- - -' > host1/scan작동하지 않는 것으로 나타났지만 echo '- - -' > host2/scan작동했습니다.

root:[/sys/class/scsi_host]# fdisk -l

Disk /dev/sda: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d3e78

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      976895      487424   83  Linux
/dev/sda2          976896  2059401215  1029212160   83  Linux
/dev/sda3      2059401216  2101344255    20971520   83  Linux
/dev/sda4      2101344256  2147483647    23069696    5  Extended
/dev/sda5      2101348352  2143289343    20970496   83  Linux
/dev/sda6      2143291392  2147483647     2096128   82  Linux swap / Solaris
root:[/sys/class/scsi_host]# echo '- - -' > host1/scan
root:[/sys/class/scsi_host]# fdisk -l

Disk /dev/sda: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d3e78

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      976895      487424   83  Linux
/dev/sda2          976896  2059401215  1029212160   83  Linux
/dev/sda3      2059401216  2101344255    20971520   83  Linux
/dev/sda4      2101344256  2147483647    23069696    5  Extended
/dev/sda5      2101348352  2143289343    20970496   83  Linux
/dev/sda6      2143291392  2147483647     2096128   82  Linux swap / Solaris
root:[/sys/class/scsi_host]# echo '- - -' > host2/scan
root:[/sys/class/scsi_host]# fdisk -l

Disk /dev/sda: 1099.5 GB, 1099511627776 bytes, 2147483648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d3e78

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      976895      487424   83  Linux
/dev/sda2          976896  2059401215  1029212160   83  Linux
/dev/sda3      2059401216  2101344255    20971520   83  Linux
/dev/sda4      2101344256  2147483647    23069696    5  Extended
/dev/sda5      2101348352  2143289343    20970496   83  Linux
/dev/sda6      2143291392  2147483647     2096128   82  Linux swap / Solaris

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

root:[/sys/class/scsi_host]#

내 질문은, 이것들은 무엇입니까?주인목차? Linux 서버가 디스크를 인식하기를 원하지만 인식할 수 없는 이유는 무엇 echo '- - -' > host0/scan입니까 ?echo '- - -' > host2/scanecho '- - -' > host1/scan

그런데 저는 Linux를 처음 접했고 아직 배우고 있습니다.

답변1

서로 다른 host디렉터리는 서로 다른 디스크 컨트롤러에 해당합니다. 컨트롤러가 매핑되는 대상은 관련 기술에 따라 다릅니다. AHCI SATA는 포트당 하나의 호스트를 호스트하고, NVMe는 컨트롤러당 하나의 호스트를 사용합니다. 이는 가상 머신 설정에 따라 다릅니다.

기본적으로 이는 모든 호스트를 다시 검색해야 함을 의미합니다.

관련 정보