LVM hacminin sahipliğini (veya grubunu) kalıcı olarak değiştirme


9

Bir LVM biriminin sahipliğini (veya en azından grubu) kalıcı olarak nasıl değiştirebilirim?

Ben udev kullanmak zorunda olduğunu düşündüm, ama kural nasıl görünmesi gerektiğini bilmiyorum?

Diyelim ki LVM / diskin sahipliğini kullanıcı / grup sanal kutusuna değiştirmek istiyorum, bunu nasıl yaparım?


Hangi işletim sisteminden bahsediyorsun? Hangi LVM (OS veya Veritas?)
Nils

Yanıtlar:


14

Debian'da (ve umarım dağıtımınız da) tüm LVM meta verileri zaten udev'e yüklenir (/lib/udev/rules.d içindeki bazı kurallara göre). Böylece aşağıdaki gibi bir kural dosyası kullanabilirsiniz:

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

Udev kurallarınızı temel alabileceğiniz şeyleri bulmak için udevadm kullanabilirsiniz. Tüm E:satırlar ENV'de udev'de bulunabilir, örneğin, E: DM_LV_NAME=ora_datayukarıdaki kurallardan biriyle eşleşen satır:

# 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

Ayrıca, sysfs özniteliklerinde ATTR (yalnızca aygıt) veya ATTRS'de (ebeveynler de) eşleştirebilirsiniz. Bunun gibi tüm özellikleri görebilirsiniz:

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

Eşleştirmenin sanal olmayan cihazlar için daha yararlı olmasına rağmen (örneğin, / dev / sda1 üzerinde denerseniz çok fazla çıktı alırsınız).


0

Udev belgelerine ve sistemimdeki mevcut kurallara hızlı bir bakışta, aşağıdaki kural (denenmemiş) dmsetup, birim bilgisini almak için programı kullanarak belirli bir mantıksal birimi tanımlamalıdır . Değiştir gggggggghacim grubu (UUID ile vgdisplay VG_NAME) ve lllllllmantıksal hacim UUID (tarafından lvdisplay VG_NAME/LV_NAME) veya çalıştırmak dmsetupUUID'sini bulmak için manuel komutu.

SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", \
PROGRAM=="dmsetup info -c --noheadings -o uuid", \
RESULT=="LVM-ggggggggllllllll", \
OWNER=="letmebe", GROUP="vmusers", MODE="0660"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.