[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 을 수정합니다.
- udev rules 을 사용하여 raw device 를 생성합니다.
# vi /etc/udev/rules.d/60-raw.rules - SCSI Device 를 사용하는 경우,
ACTION=="add|change", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw1 %N" - multipath device 를 사용하는 경우,
ACTION=="add|change", ENV{DM_NAME}=="mpath1", RUN+="/usr/bin/raw /dev/raw/raw1 %N" - LVM device 를 사용하는 경우,
ACTION=="add|change", ENV{DM_VG_NAME}=="vg_test", ENV{DM_LV_NAME}=="lv_test1", RUN+="/bin/raw /dev/raw/raw1 %N" - raw device 의 권한 설정
ACTION=="add", KERNEL=="raw*", OWNER="oracle", GROUP="dba", MODE="0660" - udev rules 갱신
# udevadm trigger --action=add - 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로 장치 파일과 권한을 확인합니다.