내 하드웨어 시스템의 모든 디스크 장치는 -sd로 시작합니까?

내 하드웨어 시스템의 모든 디스크 장치는 -sd로 시작합니까?

내 bash 스크립트에서는 구문을 사용합니다.lsblk |정규식내 하드웨어 시스템의 모든 디스크(플래시 카드나 ROM 제외)를 캡처하려면

일부 디스크 장치 이름이 sd와 달라서 해당 디스크를 놓칠까봐 걱정됩니다.

가능합니까?

lsblk | grep sd
sda                8:0    0   150G  0 disk
├─sda1             8:1    0   500M  0 part /boot
└─sda2             8:2    0 149.5G  0 part
sdb                8:16   0    20G  0 disk /id/sdb
sdc                8:32   0    20G  0 disk /id/sdc
sdd                8:48   0    20G  0 disk /id/sdd
sde                8:64   0    20G  0 disk /id/sde
sdf                8:80   0    20G  0 disk /id/sdf
sdg                8:96   0    20G  0 disk
sdh                8:112  0    20G  0 disk
sdi                8:128  0    20G  0 disk
sdj                8:144  0    20G  0 disk
sdk                8:160  0    20G  0 disk

답변1

대부분의 디스크 드라이버는 이 sd접두사를 사용하지만 전부는 아닙니다. 역사적으로 sd"SCSI 디스크"를 의미했지만 대부분의 디스크는 다음과 유사한 프로토콜을 사용합니다.소형 컴퓨터 시스템 인터페이스, 대부분의 Linux 디스크 드라이버는 공통 sd레이어와 컨트롤러 관련 부분을 사용합니다. 그러나 이는 의무 사항이 아니므로 하드웨어를 확인해야 합니다. 예를 들어,멀티미디어 카드장치에는 접두사가 있습니다 mmcblk. 일부 하드웨어 RAID 드라이버는 다른 접두사를 사용합니다. 가상 머신 디스크는 /dev/sd*가상화 기술에 따라 달라질 수도 있고 그렇지 않을 수도 있습니다.

이동식 sd드라이버도 포함되어 있습니다. 예를 들어, sd하드 드라이브, USB 키, SD 카드 리더 등 모든 USB 드라이브에는 접두사가 있습니다.

또한 디스크나 파티션 레이블 등 라인의 어느 위치와도 일치하므로 grep sd매우 취약하다는 점에 유의하세요. 덜 취약할 것입니다.sdgrep '^sd'

대체로 grep '^sd'별로 유용하지는 않지만 하드웨어에 따라 자신에게 도움이 될 수도 있는 일을 하십시오. 설치를 다른 하드웨어로 마이그레이션하면 작동이 중지될 수 있습니다. 그러니 다른 것을 찾으려고 노력해야 합니다. 사용할 수 있는 다른 항목은 "모든 디스크(...)(플래시 카드 또는 ROM 제외)"의 의미에 따라 다릅니다. 결국 플래시는 디스크 기술이므로 회전식 디스크와 구별할 이유가 없습니다. 머신이 가상화되었는지 여부에 의존하는 것은 일반적으로 나쁜 생각입니다. RAID를 사용하기 시작하면 기본 하드웨어에 관심이 있는지 아니면 소프트웨어에 사용 가능한 파티션에 관심이 있는지 명확하지 않습니다.

이동식이 아닌 드라이브만 보려면 /sys/block/*파일에 어떤 드라이브가 포함되어 있는지 살펴보세요. 여기에는 RAID/LVM 홀더 및 루프 장치와 같은 "비하드웨어" 블록 장치가 포함됩니다.0removable

Linux에서는 다음을 사용하는 것이 좋습니다.좌심실 용적이동식이 아닌 미디어의 경우. 관리가 더 쉬워집니다. LVM을 사용하는 경우 pvdisplay또는 lvdisplay원하는 정보가 표시될 수 있습니다(물론 원하는 정보를 알려주지 않았기 때문에 확신할 수는 없습니다).

답변2

최소한 (P)ATA, SATA 및 USB 드라이브가 다음과 같이 표시됩니다. 다른 하드웨어가 있는 경우 어떻게 표시되는지 확인할 수 있습니다. 시스템에서 감지한 모든 대용량 저장 장치의 사람이 읽을 수 있는 목록이 표시되어야 합니다./dev/sdX/proc/partitions

/dev/sd*처음에는 SCSI 드라이브에만 사용할 수 있었지만 범위가 확장되었습니다. 이전에 사용했던 IDE/ATA 드라이버에서는 디스크 이름을 disk 로 지정 /dev/hd*했지만“이미 개발자들을 미치게 만들고 있어요”현재 드라이버는 이를 SCSI 디스크처럼 보이게 만듭니다(예: /dev/sd*.

일부 하드웨어 RAID 컨트롤러에는 HP RAID 컨트롤러 등과 같은 자체 이름 지정 체계가 있으며 /dev/cciss/c0d0p1일부 가상 시스템의 디스크는 /dev/xvd*(Xen) 또는 /dev/vd*(KVM 버티오 드라이버).

그 외에도 가장 일반적인 것은 RAM 디스크 /dev/ram*/dev/fd*소프트웨어 RAID 장치(다중 장치 디스크)입니다./dev/md*

답변3

의사 scsi 시스템에서 관리하는 장치만 sdX로 나열됩니다. 이전 블록 장치는 /dev/hda, /dev/hdb 등으로 나타납니다. SD 카드는 /dev/mmcblk0, /dev/mmcblk1 등으로 나타납니다.

관련 정보