LVM 볼륨의 소유권 (또는 그룹)을 영구적으로 변경


9

LVM 볼륨의 소유권 (또는 최소한 그룹)을 영구적으로 변경하려면 어떻게해야합니까?

나는 udev를 사용해야한다고 생각했지만 규칙이 어떻게 생겼는지 모르겠다.

LVM / 디스크의 소유권을 사용자 / 그룹 가상 상자로 변경하고 싶다고 어떻게합니까?


어떤 OS에 대해 이야기하고 있습니까? 어떤 LVM (OS 또는 Veritas?)
Nils

답변:


14

데비안에서는 (그리고 배포판도 마찬가지로) 모든 LVM 메타 데이터가 이미 /dev/udev/rules.d의 일부 규칙에 의해 udev에로드되었습니다. 따라서 다음과 같은 규칙 파일을 사용할 수 있습니다.

$ cat /etc/udev/rules.d/92-local-oracle-permissions.rules 
ENV{DM_VG_NAME}=="vgRandom" ENV{DM_LV_NAME}=="ora_users_*" OWNER="oracle"
ENV{DM_VG_NAME}=="vgRandom" ENV{DM_LV_NAME}=="ora_undo_*"  OWNER="oracle"
ENV{DM_VG_NAME}=="vgSeq"    ENV{DM_LV_NAME}=="ora_redo_*"  OWNER="oracle"

udevadm을 사용하여 udev 규칙의 기반이 될 수있는 종류를 찾을 수 있습니다. 모든 E:라인은 udev의 ENV에서 찾을 수 있습니다 E: DM_LV_NAME=ora_data.

# udevadm info --query=all --name /dev/dm-2 
P: /devices/virtual/block/dm-2
N: dm-2
L: -100
S: block/253:2
S: mapper/vgRandom-ora_data
S: disk/by-id/dm-name-vgRandom-ora_data
S: disk/by-id/dm-uuid-LVM-d6wXWIzc7xWJkx3Tx3o4Q9huEG1ajakYr0SLSl5as3C6RoydA66sgNHxBZdpem89
S: disk/by-uuid/787651c2-e4c7-40e2-b0fc-1a3978098dce
S: vgRandom/ora_data
E: UDEV_LOG=3
E: DEVPATH=/devices/virtual/block/dm-2
E: MAJOR=253
E: MINOR=2
E: DEVNAME=/dev/dm-2
E: DEVTYPE=disk
E: SUBSYSTEM=block
E: DM_UDEV_PRIMARY_SOURCE_FLAG=1
E: DM_NAME=vgRandom-ora_data
E: DM_UUID=LVM-d6wXWIzc7xWJkx3Tx3o4Q9huEG1ajakYr0SLSl5as3C6RoydA66sgNHxBZdpem89
E: DM_SUSPENDED=0
E: DM_UDEV_RULES=1
E: DM_VG_NAME=vgRandom
E: DM_LV_NAME=ora_data
E: DEVLINKS=/dev/block/253:2 /dev/mapper/vgRandom-ora_data /dev/disk/by-id/dm-name-vgRandom-ora_data /dev/disk/by-id/dm-uuid-LVM-d6wXWIzc7xWJkx3Tx3o4Q9huEG1ajakYr0SLSl5as3C6RoydA66sgNHxBZdpem89 /dev/disk/by-uuid/787651c2-e4c7-40e2-b0fc-1a3978098dce /dev/vgRandom/ora_data
E: ID_FS_UUID=787651c2-e4c7-40e2-b0fc-1a3978098dce
E: ID_FS_UUID_ENC=787651c2-e4c7-40e2-b0fc-1a3978098dce
E: ID_FS_VERSION=1.0
E: ID_FS_TYPE=ext4
E: ID_FS_USAGE=filesystem
E: FSTAB_NAME=/dev/mapper/vgRandom-ora_data
E: FSTAB_DIR=/opt/oracle/oracle/oradata
E: FSTAB_TYPE=ext4
E: FSTAB_OPTS=noatime
E: FSTAB_FREQ=0
E: FSTAB_PASSNO=3

또한 ATTR (장치 전용) 또는 ATTRS (부모도)에서 sysfs 속성을 일치시킬 수 있습니다. 다음과 같은 모든 속성을 볼 수 있습니다.

# udevadm info --attribute-walk --name /dev/dm-2 

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/devices/virtual/block/dm-2':
    KERNEL=="dm-2"
    SUBSYSTEM=="block"
    DRIVER==""
    ATTR{range}=="1"
    ATTR{ext_range}=="1"
    ATTR{removable}=="0"
    ATTR{ro}=="0"
    ATTR{size}=="41943040"
    ATTR{alignment_offset}=="0"
    ATTR{discard_alignment}=="0"
    ATTR{capability}=="10"
    ATTR{stat}=="36383695        0 4435621936 124776016 29447978        0 3984603551 342671312        0 191751864 467456484"
    ATTR{inflight}=="       0        0"

이 일치는 비가 상 장치에 더 유용하지만 (예를 들어, / dev / sda1에서 시도하면 많은 결과를 얻을 수 있습니다).


0

udev 문서와 내 시스템의 기존 규칙을 간단히 살펴보면 아래 규칙 (추정되지 않은)은 dmsetup프로그램을 사용 하여 볼륨 정보를 검색 하는 특정 논리 볼륨을 식별해야 합니다. 대체 gggggggg볼륨 그룹 (의 UUID에 의해 vgdisplay VG_NAME) 및 lllllll논리 볼륨의 UUID (가 lvdisplay VG_NAME/LV_NAME) 또는 실행 dmsetupUUID를 찾아 수동으로 명령을.

SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", \
PROGRAM=="dmsetup info -c --noheadings -o uuid", \
RESULT=="LVM-ggggggggllllllll", \
OWNER=="letmebe", GROUP="vmusers", MODE="0660"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.