Thay đổi vĩnh viễn quyền sở hữu (hoặc nhóm) khối lượng LVM


9

Làm cách nào tôi có thể thay đổi vĩnh viễn quyền sở hữu (hoặc ít nhất là nhóm) của một tập LVM?

Tôi đoán rằng tôi phải sử dụng udev, nhưng tôi không biết quy tắc sẽ như thế nào?

Giả sử tôi muốn thay đổi quyền sở hữu LVM / đĩa thành hộp ảo người dùng / nhóm, tôi sẽ làm thế nào?


Bạn đang nói về hệ điều hành nào? LVM nào (HĐH hoặc Veritas?)
Nils

Câu trả lời:


14

Trên Debian (và hy vọng bản phân phối của bạn cũng vậy), tất cả siêu dữ liệu LVM đã được tải vào udev (theo một số quy tắc trong /lib/udev/rules.d). Vì vậy, bạn có thể sử dụng một tệp quy tắc như thế này:

$ 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"

Bạn có thể sử dụng udevadm để tìm hiểu những loại điều bạn có thể dựa trên các quy tắc udev của mình. Tất cả các E:dòng có thể được tìm thấy trong ENV trong udev, ví dụ: E: DM_LV_NAME=ora_datadòng khớp với một trong các quy tắc trên:

# 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

Ngoài ra, bạn có thể khớp trên các thuộc tính sysfs, trong cả ATTR (chỉ thiết bị) hoặc ATTRS (cha mẹ cũng vậy). Bạn có thể thấy tất cả các thuộc tính như thế này:

# 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"

Mặc dù kết hợp đó hữu ích hơn cho các thiết bị không ảo (ví dụ: bạn sẽ nhận được rất nhiều đầu ra nếu bạn thử trên / dev / sda1).


0

Từ cái nhìn nhanh vào tài liệu udev và các quy tắc hiện có trên hệ thống của tôi, quy tắc dưới đây (chưa được kiểm tra) sẽ xác định một khối lượng logic cụ thể, sử dụng dmsetupchương trình để truy xuất thông tin âm lượng. Thay thế ggggggggbằng UUID của nhóm âm lượng ( vgdisplay VG_NAME) và lllllllbằng UUID của âm lượng logic ( lvdisplay VG_NAME/LV_NAME) hoặc chạy dmsetuplệnh thủ công để tìm UUID.

SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", \
PROGRAM=="dmsetup info -c --noheadings -o uuid", \
RESULT=="LVM-ggggggggllllllll", \
OWNER=="letmebe", GROUP="vmusers", MODE="0660"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.