← Documents Documentation/admin-guide/aoe/udev.txt GitHub 원문 ↗

Linux 6.18.37 · Administration / AoE

ATA over Ethernet udev rules

AoE udev rule 설치 절차와 discover·err·interfaces·revalidate·flush·block-device node 권한을 정의합니다.

Source pathDocumentation/admin-guide/aoe/udev.txt
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

Rule installation

udev.txt:1-17

Udev syntax와 rule directory를 확인하고 60-aoe.rules를 설치합니다.

Device-node rules

udev.txt:18-26

AoE character control node와 block device의 group·mode를 지정합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 # These rules tell udev what device nodes to create for aoe support.
2 # They may be installed along the following lines. Check the section
3 # 8 udev manpage to see whether your udev supports SUBSYSTEM, and
4 # whether it uses one or two equal signs for SUBSYSTEM and KERNEL.
5 #
6 # ecashin@makki ~$ su
7 # Password:
8 # bash# find /etc -type f -name udev.conf
9 # /etc/udev/udev.conf
10 # bash# grep udev_rules= /etc/udev/udev.conf
11 # udev_rules="/etc/udev/rules.d/"
12 # bash# ls /etc/udev/rules.d/
13 # 10-wacom.rules 50-udev.rules
14 # bash# cp /path/to/linux/Documentation/admin-guide/aoe/udev.txt \
15 # /etc/udev/rules.d/60-aoe.rules
16 #
17
18 # aoe char devices
19 SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220"
20 SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440"
21 SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220"
22 SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220"
23 SUBSYSTEM=="aoe", KERNEL=="flush", NAME="etherd/%k", GROUP="disk", MODE="0220"
24
25 # aoe block devices
26 KERNEL=="etherd*", GROUP="disk"
27

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

AoE udev rule 설치

1-17

이 rule은 AoE 지원에 필요한 device node를 udev가 만들도록 지시합니다. 설치하기 전에 udev manual section 8에서 해당 udev가 `SUBSYSTEM`을 지원하는지, `SUBSYSTEM`과 `KERNEL` 비교에 equal sign 하나 또는 두 개 중 무엇을 쓰는지 확인합니다.

예제는 root shell에서 `/etc/udev/udev.conf`의 `udev_rules` directory를 확인하고 Linux source의 `Documentation/admin-guide/aoe/udev.txt`를 `/etc/udev/rules.d/60-aoe.rules`로 복사합니다.

# These rules tell udev what device nodes to create for aoe support.
# They may be installed along the following lines.  Check the section
# 8 udev manpage to see whether your udev supports SUBSYSTEM, and
# whether it uses one or two equal signs for SUBSYSTEM and KERNEL.
#
#   ecashin@makki ~$ su
#   Password:
#   bash# find /etc -type f -name udev.conf
#   /etc/udev/udev.conf
#   bash# grep udev_rules= /etc/udev/udev.conf
#   udev_rules="/etc/udev/rules.d/"
#   bash# ls /etc/udev/rules.d/
#   10-wacom.rules  50-udev.rules
#   bash# cp /path/to/linux/Documentation/admin-guide/aoe/udev.txt \
#           /etc/udev/rules.d/60-aoe.rules
#
Install AoE udev rules
Check udev manual and syntaxFind udev.confRead udev_rules directoryInspect existing rule namesCopy as 60-aoe.rules

Local udev syntax 확인부터 rule 배치까지의 순서입니다.

AoE character·block device rule

18-26

`aoe` subsystem의 character device는 `/dev/etherd/%k` 아래 만들고 `disk` group에 둡니다. `discover`, `interfaces`, `revalidate`, `flush`는 group write가 가능한 mode `0220`, error 진단용 `err`는 read-only mode `0440`을 사용합니다. `etherd*` block device도 `disk` group에 둡니다.

# aoe char devices
SUBSYSTEM=="aoe", KERNEL=="discover",	NAME="etherd/%k", GROUP="disk", MODE="0220"
SUBSYSTEM=="aoe", KERNEL=="err",	NAME="etherd/%k", GROUP="disk", MODE="0440"
SUBSYSTEM=="aoe", KERNEL=="interfaces",	NAME="etherd/%k", GROUP="disk", MODE="0220"
SUBSYSTEM=="aoe", KERNEL=="revalidate",	NAME="etherd/%k", GROUP="disk", MODE="0220"
SUBSYSTEM=="aoe", KERNEL=="flush",	NAME="etherd/%k", GROUP="disk", MODE="0220"

# aoe block devices
KERNEL=="etherd*",       GROUP="disk"
AoE udev node permissions
KERNEL matchNode/groupMode
discoveretherd/discover, disk0220
erretherd/err, disk0440
interfacesetherd/interfaces, disk0220
revalidateetherd/revalidate, disk0220
flushetherd/flush, disk0220
etherd*block device, diskinherited

Character control node와 block-device group assignment입니다.