본문으로 건너뛰기

[Linux] CentOS 7 raw device 생성

CentOS 7에서 /etc/udev/rules.d/60-raw.rules에 udev 규칙을 작성해 SCSI, multipath, LVM 장치를 raw device로 바인딩하는 방법입니다.

요약

  • CentOS 7에서는 /etc/udev/rules.d/60-raw.rules에 udev 규칙을 작성해 raw device를 생성합니다.
  • SCSI 장치는 KERNEL, multipath 장치는 ENV{DM_NAME}, LVM 장치는 ENV{DM_VG_NAME}과 ENV{DM_LV_NAME}으로 대상을 지정합니다.
  • OWNER, GROUP, MODE 규칙으로 권한을 설정한 뒤 udevadm trigger --action=add로 적용하고 raw -qa로 확인합니다.

테스트 환경 CentOS 7

[Linux] CentOS 7 raw device 생성


raw device 생성을 위해 아래 절차를 따라 /etc/udev/rules.d/60-raw.rules 을 수정합니다.

  1. udev rules 을 사용하여 raw device 를 생성합니다.
    # vi /etc/udev/rules.d/60-raw.rules
    
  2. SCSI Device 를 사용하는 경우,
    ACTION=="add|change", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
    
  3. multipath device 를 사용하는 경우,
    ACTION=="add|change", ENV{DM_NAME}=="mpath1", RUN+="/usr/bin/raw /dev/raw/raw1 %N" 
    
  4. LVM device 를 사용하는 경우,
    ACTION=="add|change", ENV{DM_VG_NAME}=="vg_test", ENV{DM_LV_NAME}=="lv_test1", RUN+="/bin/raw /dev/raw/raw1 %N"
    
  5. raw device 의 권한 설정
    ACTION=="add", KERNEL=="raw*", OWNER="oracle", GROUP="dba", MODE="0660"
    
  6. udev rules 갱신
    # udevadm trigger --action=add
    
  7. raw device 설정 확인
    # raw -qa
    /dev/raw/raw1:  bound to major 8, minor 17
    # ls -l /dev/raw
    total 0
    crw-rw---- 1 oracle  dba 162,  2 Jan 21 05:21 raw1
    

자주 묻는 질문

CentOS 7에서 multipath 장치를 raw device로 만들려면 어떻게 하나요?

60-raw.rules에 ENV{DM_NAME}=="mpath1" 조건과 RUN+="/usr/bin/raw /dev/raw/raw1 %N"을 넣은 규칙을 추가합니다. 이후 udevadm trigger --action=add로 규칙을 갱신합니다.

raw device의 소유자와 권한은 어떻게 지정하나요?

ACTION=="add", KERNEL=="raw*", OWNER="oracle", GROUP="dba", MODE="0660" 같은 udev 규칙을 추가합니다.

raw device가 제대로 바인딩되었는지 어떻게 확인하나요?

raw -qa로 바인딩된 major/minor 번호를 확인하고 ls -l /dev/raw로 장치 파일과 권한을 확인합니다.