Linux에서 디스크 핫플러그란 무엇을 의미합니까?

零下一度
풀어 주다: 2017-06-23 11:19:12
원래의
3783명이 탐색했습니다.

먼저 scsi 장치 정보를 얻으세요.

[root@server2 ~]# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0
로그인 후 복사

일부 운영 체제에는 lsscsi 명령이 없습니다. 다음 방법을 사용하여 scsi 장치 정보를 얻을 수 있습니다.

[root@server2 ~]# ll /sys/bus/scsi/drivers/sd/total 0lrwxrwxrwx 1 root root    0 Jun 22 17:29 2:0:0:0 -> ../../../../devices/pci0000:00/0000:00:10.0/host2/target2:0:0/2:0:0:0--w------- 1 root root 4096 Jun 22 17:29 bind--w------- 1 root root 4096 Jun 22  2017 uevent--w------- 1 root root 4096 Jun 22 17:29 unbind
로그인 후 복사
[root@server2 ~]# ll /sys/bus/scsi/drivers/sd/2\:0\:0\:0/block/total 0drwxr-xr-x 10 root root 0 Jun 22  2017 sda
로그인 후 복사

그런 다음 /proc/scsi/scsi 파일을 확인하여 해당 scsi 장치의 자세한 정보를 얻으세요.

[root@server2 ~]# cat /proc/scsi/scsi

Attached devices:Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: NECVMWar Model: VMware SATA CD01 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 05Host: scsi2 Channel: 00 Id: 01 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI  SCSI revision: 02
로그인 후 복사

여기에는 직접 액세스할 수 있는 SCSI 디스크 2개와 광 드라이브 CD-ROM을 통해 연결된 광 디스크 1개가 있습니다. 우리는 scsi 디스크만 고려하므로 scsi에 있는 두 디스크의 위치 지정자는 2:0:0:0 및 2:0:1:0입니다. 디스크를 계속 삽입하면 scsi의 새 디스크 위치는 2:0:2:0입니다. 이 값 문자열은 매우 중요합니다.

1.1 Hot Plug

디스크를 컴퓨터에 삽입하면 커널이 인식할 수 없기 때문에 이벤트 알림이 생성되지 않습니다. 따라서 /sys 디렉터리에 파일이 생성되지 않으며 어떤 도구도 이를 읽을 수 없습니다. 시스템을 다시 시작하면 문제가 확실히 해결될 수 있지만 Linux는 핫 플러그를 지원합니다.

새 디스크를 핫 플러그하는 방법은 새 scsi 장치 정보를 /proc/scsi/scsi에 쓰는 것입니다. 방법은 다음과 같습니다:

echo "scsi add-single-device a b c d" >/proc/scsi/scsi
로그인 후 복사

여기서:

a == 호스트 어댑터 ID(첫 번째 값은 0)

b == 호스트 어댑터의 SCSI 채널(첫 번째 값은 0)

c == ID

d = = LUN(첫 번째 값은 0)

예를 들어 위의 예에서는 다음 정보를 추가해야 합니다.

[root@server2 ~]# echo "scsi add-single-device 2:0:2:0" >/proc/scsi/scsi
로그인 후 복사

물론 scsi 버스를 다시 검색하면 핫 플러깅을 구현할 수도 있습니다. 위의 예에서 scsi 호스트 ID는 2(즉, host2)이므로, host2가 검색되므로 scsi 호스트 2의 모든 장치가 다시 검색됩니다.

[root@server2 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
로그인 후 복사

어떤 호스트를 스캔해야 할지 모르는 경우 루프를 사용하여 모두 스캔하세요.

[root@xuexi ~]# for i in `ls /sys/class/scsi_host/`;do echo "- - -" >/sys/class/scsi_host/$i/scan;done
로그인 후 복사

핫 플러그 ​​후 fdisk -l과 같은 명령을 사용하면 디스크를 인식할 수 있습니다.

1.2 핫 플러그 ​​

디스크 핫 플러그는 /proc/scsi/scsi에서 해당 scsi 장치의 정보를 제거하는 것입니다. 방법은 다음과 같습니다.

echo "scsi remove-single-device a b c d" >/proc/scsi/scsi
로그인 후 복사

예를 들어 2:0:2:0 디스크를 삭제합니다.

[root@server2 ~]# echo "scsi remove-single-device 2 0 2 0" >/proc/scsi/scsi
로그인 후 복사

삭제할 장치가 이미 존재하고 해당 장치의 전체 정보가 이미 /sys에 있으므로 자체 장치에서도 삭제됩니다.

먼저 scsi 장치 정보를 확인하세요.

[root@server2 ~]# lsscsi
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda
[2:0:1:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sdb
[4:0:0:0]    cd/dvd  NECVMWar VMware SATA CD01 1.00  /dev/sr0
로그인 후 복사

예를 들어 /dev/sdb를 삭제하려는 경우 2:0:1:0입니다. 먼저 파일정보를 살펴보겠습니다.

[root@server2 ~]# ls /sys/bus/scsi/drivers/sd/2\:0\:1\:0/block/                              evt_lun_change_reported             model                               scsi_level
bsg/                                evt_media_change                    power/                              statedelete                              evt_mode_parameter_change_reported  queue_depth                         subsystem/device_blocked                      evt_soft_threshold_reached          queue_ramp_up_period                timeout
device_busy                         generic/                            queue_type                          type
dh_state                            iocounterbits                       rescan                              uevent
driver/                             iodone_cnt                          rev                                 unpriv_sgio
eh_timeout                          ioerr_cnt                           scsi_device/                        vendor
evt_capacity_change_reported        iorequest_cnt                       scsi_disk/                          vpd_pg80
evt_inquiry_change_reported         modalias                            scsi_generic/                       vpd_pg83
로그인 후 복사

파일에는 삭제, 다시 스캔, 상태의 3개 파일이 있습니다. 상태는 장치가 실행 중인지 여부를 기록합니다. 삭제 및 다시 검색 파일은 장치를 삭제하고 다시 검색하는 데 사용됩니다.

예를 들어 장치를 제거합니다(즉, 핫스왑).

[root@server2 ~]# echo 1 > /sys/bus/scsi/drivers/sd/2\:0\:1\:0/delete
로그인 후 복사

위 내용은 Linux에서 디스크 핫플러그란 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!