linux – 在RHEL5中更改LVM LV设备节点的所有者

linux – 在RHEL5中更改LVM LV设备节点的所有者,第1张

概述第一次使用serverfault,请原谅任何违反礼仪的行为. 我在服务器上的本地存储中创建了几个LVM2逻辑卷,并希望其中一个设备节点 – 而不是文件系统或挂载点 – 由除root:root之外的用户/组拥有. 这几乎是默认的RHEL5服务器.我了解在LVM扫描磁盘以获取pv / vg / lvs后,设备节点是在引导时动态创建的.我不确定udev,mapper和lvm是如何交互来创建这些节点的,配 第一次使用serverfault,请原谅任何违反礼仪的行为.

我在服务器上的本地存储中创建了几个LVM2逻辑卷,并希望其中一个设备节点 – 而不是文件系统或挂载点 – 由除root:root之外的用户/组拥有.

这几乎是默认的RHEL5服务器.我了解在LVM扫描磁盘以获取pv / vg / lvs后,设备节点是在引导时动态创建的.我不确定udev,mapper和lvm是如何交互来创建这些节点的,配置文件规范对于没有太多经验的人来说有点神秘.

还有更多要遵循的lvs也需要备用权限,但我最好还是将其他lv保留在root:root中的卷组中,并且只更改特定的lv.

任何人都可以帮我解决这个问题吗?我一直在谷歌搜索几个小时.

提前致谢,
托尼

更新:

我通过以下方式完成了这项工作它可能是一种迂回的做事方式,但这只是一个临时环境(着名的遗言!).哦,我可能还想删除打印到/ tmp / foo的行.

[root@xxxxxxx rules.d]# **cat /etc/udev/rules.d/11-lvm.rules**ACTION=="add|change",KERNEL=="dm-*",PROGRAM="/bin/sh -c /etc/udev/scripts/oracle_perms.sh"[root@xxxxxxx rules.d]# **cat /etc/udev/scripts/oracle_perms.sh**#!/bin/bashecho "DEVPATH=$DEVPATH" >> /tmp/fooMAJMIN=`cat /sys${DEVPATH}/dev`echo "MAJMIN=$MAJMIN" >> /tmp/fooMAJ=`echo ${MAJMIN} | awk -F: '{ print  }'`MIN=`echo ${MAJMIN} | awk -F: '{ print  }'`DEVNODE=`/sbin/dmsetup info -j ${MAJ} -m ${MIN} | grep name | awk '{ print  }'`echo "DEVNODE=${DEVNODE}" >> /tmp/fooecho "${DEVNODE}" | grep ora >/dev/null 2>&1if [ "$?" == "0" ]; then  echo "Making change...." >> /tmp/foo  chown oracle:dba /dev/mapper/${DEVNODE}  chmod 660 /dev/mapper/${DEVNODE}  ls -l /dev/mapper/${DEVNODE} >> /tmp/fooelse  echo "No 'ora' name detected. No change necessary." >> /tmp/foofi

请注意,上面的解决方案会自动更改名称中使用“ora”创建的任何LV.嘿,它现在有效.

解决方法 以下应该有效(必要时进行调整):
# cat /etc/udev/rules.d/99-custom.rulesENV{DM_name}=="system-test",ACTION=="add|change",MODE="0664",OWNER="michael",GROUP="disk",PROGRAM="/bin/logger /dev/$env{DM_name} owner changed to michael",SYMlink+="oracle-$env{DM_name}"

然后你应该得到结果:

# lvcreate -L 1G /dev/system -n test# ls -al /dev/dm-9 /dev/oracle-system-test /dev/system/test /dev/mapper/system-testbrw-rw-r-- 1 michael disk 253,9 2009-08-08 01:20 /dev/dm-9brw-r----- 1 root    disk 253,9 2009-08-08 01:20 /dev/mapper/system-testlrwxrwxrwx 1 root    root      4 2009-08-08 01:20 /dev/oracle-system-test -> dm-9lrwxrwxrwx 1 root    root     23 2009-08-08 01:20 /dev/system/test -> /dev/mapper/system-test

我无法弄清楚如何修改LVM创建的实际设备节点,但我能够修改设备映射器节点.然后我为oracle添加了一个符号链接来访问它,这有点像黑客,但是有效.

(我之前的回答是有点匆忙和未经测试.但我真的很好奇如何正确:)

总结

以上是内存溢出为你收集整理的linux – 在RHEL5中更改LVM LV设备节点的所有者全部内容,希望文章能够帮你解决linux – 在RHEL5中更改LVM LV设备节点的所有者所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040551.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存