OS/LINUX

RHEL-CentOS 리눅스 디스크 관리 – 디스크 연결 인터페이스 방식

KayEsQuo 2025. 8. 4. 20:39

디스크 확인 – 소개글 

리눅스 시스템에 새로운 디스크를 연결한 후에는, 단순히 하드웨어를 추가하는 것만으로는 충분하지 않음.
시스템 커널이 해당 디스크를 정상적으로 인식하고 사용할 수 있도록 설정하는 과정이 필요함.

이 과정에서는 디스크 장치가 제대로 연결되었는지 확인하고, 해당 장치가 시스템에 어떻게 인식되었는지 파악하는 것이 중요함
디스크가 E-IDE, SATA, SCSI, SA-SCSI 등 어떤 방식으로 연결되었는지에 따라 인식되는 장치명과 경로가 달라지므로, 인터페이스 확인도 함께 이루어져야됨.

 

 

디스크 인터페이스 연결방식 비교

항목  E-IDE (PATA) SATA  SCSI (Parallel) SA-SCSI (SAS)
통신 방식 병렬 (Parallel) 직렬 (Serial) 병렬 (Parallel) 직렬 (Serial)
최대 속도 133MB/s (ATA/133) 6Gbps (SATA III) 640MB/s (Ultra640) 22.5Gbps (SAS 4.0)
핫플러깅 미지원 ⚠️ 제한적 지원 (컨트롤러와 OS 필요) 지원 지원
장치 인식 수 2개/채널 (마스터/슬레이브) 1개/포트 7~15개 (ID 기반) 수백 개까지 확장 가능
사용 환경 (1900년~2000년초반)구형 PC 데스크탑, 노트북 서버, 워크스테이션 엔터프라이즈 서버, 스토리지

 

 핫플러깅 : 디스크 연결즉시 자동 인식

 

리눅스 시스템 인터페이스별 장치명

리눅스에서 디스크와 같은 물리적인 장치는 /dev 디렉토리 아래에 **"장치 파일(device file)"**의 형태로 인식됨.
이 장치 파일을 통해 커널과 사용자 공간이 하드웨어에 접근함.

 

/dev 디렉토리 구조

새로운 디스크를 시스템에 연결하면 리눅스 커널이 이를 감지하고 /dev 아래에 해당 디바이스에 대한 파일을 생성함.

 

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   100G  0 disk 
├─sda1        8:1    0    10G  0 part /boot
├─sda2        8:2    0    20G  0 part /
└─sda3        8:3    0    70G  0 part /home

$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3

 

 

E-IDE (ATA) 인터페이스:  /dev/hdX

장치 이름 설명
/dev/hda 첫 번째 E-IDE 디스크 (마스터)
/dev/hdb 두 번째 E-IDE 디스크 (슬레이브)
/dev/hdc 세 번째 디스크
/dev/hdd 네 번째 디스크

SATA / SCSI / SA-SCSI(SAS):  /dev/sdX

장치 이름 설명
/dev/sda 첫 번째 디스크
/dev/sdb 두 번째 디스크
/dev/sdc 세 번째 디스크
/dev/sdd 네 번째 디스크

 

이슈 점검

Q. 핫플러깅 지원하는 디스크 연결시에도 인식이 안되는 경우?

  리눅스에서 SATA, SCSI, SAS 등 핫플러깅을 지원하는 디스크를 연결했지만 커널이 자동으로 인식하지 못한 경우,
시스템을 재부팅하지 않고 수동으로 디스크를 인식시키는 방법이 있음. 방법은 아래와 같음.

 

장치 수동 스캔 방법 (scan 사용)

🧾 명령어 형식

echo "- - -" > /sys/class/scsi_host/hostX/scan
  • hostX : 스캔할 SCSI 호스트 번호 (host0, host1, host2 등)
  • - - - :
    • 첫 번째 -: SCSI 채널 번호 (모르면 -로 모든 채널)
    • 두 번째 -: SCSI Target ID
    • 세 번째 -: LUN (Logical Unit Number)

- - -는 전체 채널/타겟/LUN을 대상으로 스캔하라는 의미임.

 

디스크 인식 확인

정상적으로 디스크가 인식된 경우 lsblk와 dmesg 명령어 결과는 다음과 같이 출력
 

lsblk 출력 예시

$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
└─sda2   8:2    0   50G  0 part /home
sdb      8:16   0  200G  0 disk
  • sda는 기존 디스크 (100GB)
  • sdb는 새로 연결된 디스크 (200GB) — 아직 파티션이 없기 때문에 하위에 sdb1 같은 항목이 없음

dmesg 출력 예시

$ dmesg | tail -n 10
[ 7852.123456] scsi 2:0:0:0: Direct-Access     ATA      ST2000DM008-2FR1 CC26 PQ: 0 ANSI: 6
[ 7852.123789] sd 2:0:0:0: Attached scsi generic sg1 type 0
[ 7852.124012] sd 2:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 7852.124456] sd 2:0:0:0: [sdb] Write Protect is off
[ 7852.124678] sd 2:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[ 7852.125123] sd 2:0:0:0: [sdb] Attached SCSI disk

 

  • scsi 2:0:0:0: 새 디스크가 SCSI 방식으로 인식됨
  • [sdb]: 시스템이 새 디스크에 /dev/sdb라는 장치명을 부여했음을 의미
  • "Attached SCSI disk": 최종적으로 디스크가 정상적으로 인식되었음