2.2. udev 장치 이름 지정 규칙


사용자 공간 장치 관리자(udev) 하위 시스템을 사용하면 장치에 영구 이름을 할당하는 규칙을 정의할 수 있습니다. 이러한 규칙은 .rules 확장자가 있는 파일에 저장됩니다. udev 규칙을 저장하기 위한 두 가지 기본 위치가 있습니다.

  • /usr/lib/udev/rules.d/ 디렉터리에는 설치된 패키지와 함께 제공되는 기본 규칙이 포함되어 있습니다.
  • /etc/udev/rules.d 디렉터리는 사용자 지정 udev 규칙을 위한 것입니다.
참고

/usr/lib/udev/rules.d/ 의 규칙이 수정되면 업데이트 중에 패키지의 규칙 파일로 덮어씁니다. 따라서 수동 또는 사용자 지정 규칙을 /etc/udev/rules.d 에 명시적으로 제거할 때까지 유지해야 합니다. 사용하기 전에 두 디렉터리의 udev 규칙이 병합됩니다. /etc/udev/rules.d 의 규칙의 이름이 /usr/lib/udev/rules.d/ 에 있는 이름과 동일한 경우 이전 규칙의 이름이 우선합니다.

이러한 규칙의 목적은 시스템 재부팅 및 구성 변경 시에도 스토리지 장치가 일관되고 예측 가능하게 식별되도록 하는 것입니다.

udev 규칙은 장치 추가, 변경 또는 제거에 대해 알리는 수신 이벤트를 기반으로 실행할 작업을 정의합니다. 또한 영구 스토리지 속성 및 직접 udev 에 대한 값을 수집하여 수집된 정보를 기반으로 /dev 콘텐츠를 생성하는 데 도움이 됩니다. udev 규칙은 키-값 쌍을 사용하여 사람이 읽을 수 있는 형식으로 작성됩니다.

스토리지 장치의 경우 udev 규칙은 /dev/disk/ 디렉터리에 심볼릭 링크 생성을 제어합니다. 이러한 심볼릭 링크는 스토리지 장치에 대한 사용자에게 친숙한 별칭을 제공하여 이러한 장치를 참조하고 관리하는 것이 더 편리합니다.

사용자 지정 udev 규칙을 생성하여 일련 번호, WWN(World Wide Name) 식별자 또는 기타 장치별 특성과 같은 다양한 속성에 따라 장치의 이름을 지정하는 방법을 지정할 수 있습니다. 특정 이름 지정 규칙을 정의하면 시스템 내에서 장치가 식별되는 방식을 정확하게 제어할 수 있습니다. 장치에 대한 /dev에 특정 사용자 지정 심볼릭 링크를 만들려면 시스템의 udev(7) 도움말 페이지를 참조하십시오.

udev 규칙은 매우 유연하지만 udev 제한 사항을 알고 있어야 합니다.

  • 접근성 타이밍: udev 쿼리 시 일부 스토리지 장치에 액세스할 수 없습니다.
  • 이벤트 기반 처리: 커널은 언제든지 udev 이벤트를 보낼 수 있으므로 장치에 액세스할 수 없는 경우 규칙 처리를 트리거하고 링크 제거를 트리거할 수 있습니다.
  • 지연 시간: 이벤트 생성과 처리 사이에 여러 장치가 지연되어 커널 탐지와 링크 가용성 사이에 지연이 발생할 수 있습니다.
  • 장치 접근성: blkid 와 같은 udev 규칙에 의해 호출된 외부 프로그램은 장치를 간략하게 열어 다른 작업을 위해 일시적으로 액세스할 수 없게 만들 수 있습니다.
  • 링크 업데이트: /dev/disk/udev 에서 관리하는 장치 이름은 주요 릴리스마다 변경될 수 있으므로 링크 업데이트가 필요합니다.

다음 표에는 /dev/disk에서 사용할 수 있는 심볼릭 링크가 나열되어 있습니다.

Expand
장치 유형비영구 이름(커널 이름)영구 Symlink 이름

실제 장치

NVMe (Non-Volatile Memory Express)

/dev/nvme*

/dev/disk/by-id/nvme-<wwid>
/dev/disk/by-id/nvme-<model>_<serial>_<nsid>

SCSI (Small Computer System Interface)

/dev/sd*, /dev/sr*

/dev/disk/by-id/scsi-<model>_<serial>
/dev/disk/by-id/wwn-<wwn>
/dev/disk/by-id/usb-<vendor>_<model>_<serial>-<instance>
/dev/disk/by-id/ieee1394_id>
/dev/disk/by-path/ip-<ip_address>:<ip_port>-iscsi-<iqn_name>-lun-<lun_number>
/dev/disk/by-id/scsi-0<vendor>_<id>
/dev/disk/by-id/scsi-1<t10_vendor_id>
/dev/disk/by-id/scsi-2<eui64_id>
/dev/disk/by-id/scsi-3<naa_regext_id>
/dev/disk/by-id/scsi-3<naa_reg_id>
/dev/disk/by-id/scsi-3<naa_ext_id>
/dev/disk/by-id/scsi-3<naa_local_id>
/dev/disk/by-id/scsi-8<name>
/dev/disk/by-id/scsi-S<vendor>_<model>_<serial>

ATA(Advanced Technology Attachment)/atapi(ATA Packet Interface)

/dev/sd*, /dev/sr*

/dev/disk/by-id/ata-<model>_<serial>
/dev/disk/by-id/wwn-<wwn>

CCISS (Compaq Command Interface for SCSI-3 Support)

/dev/cciss*

/dev/disk/by-id/cciss-<model>_<serial>
/dev/cciss/<ccissid>

virtio(가상 입력 출력)

/dev/vd*

/dev/disk/by-id/virtio-<serial>

PMEM (Persistent Memory)

/dev/pmem*

/dev/disk/by-id/pmem-<uuid>

MMC(MultiMedia Card)

/dev/mmcblk*

/dev/disk/by-id/mmc-<name>_<serial>

memstick (Memory Cryostat)

/dev/msblk*

/dev/disk/by-id/memstick-<name>_<serial>

가상 장치

loop

/dev/loop*

/dev/disk/by-loop-inode/<id_loop_backing_device>-<id_loop_backing_inode>
/dev/disk/by-loop-ref/<id_loop_backing_filename>

DM (device-mapper)

/dev/dm-*

/dev/mapper/<name>
/dev/disk/by-id/dm-name-<name>
/dev/disk/by-id/dm-uuid-<uuid>
/dev/disk/by-id/wwn-<wwn-<wwn>

MD (여러 장치)

/dev/md*

/dev/md/<devname>
/dev/disk/by-id/md-name-<name>
/dev/disk/by-id/md-uuid-<uuid>

파티션(실제 또는 가상 장치 상단에 있음)

(임의 경우)

(임의 경우)

/dev/disk/by-partuuid/<uuid>
/dev/disk/by-partlabel/<label>
/dev/…​/<persistent_symlink_name>-part<number>

LVM PV(Logical Volume Manager 물리 볼륨; 실제 또는 가상 장치의 상단에 있음)

(임의 경우)

(임의 경우)

/dev/disk/by-id/lvm-pv-uuid-<pvuuid>

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat