我已设置一条 udev 规则,将特定 EBS 卷附加为用户所有,并且此操作有效。以下是附加卷后设备节点上的权限:
brw-rw---- 1 myuser myuser 202, 240 Feb 4 20:21 /dev/xvdp
但是当我尝试运行时mkfs -t xfs /dev/xvdp
出现错误:
mkfs.xfs: error - cannot set blocksize 512 on block device /dev/xvdp: Permission denied
如果我以 root 身份运行该命令,它会成功;如果我将文件系统类型更改为 ext4,操作也会成功。
我需要授予设备哪些额外权限,以便我的用户无需sudo
输入任何信息即可对其进行格式化?或者这可能是 Xen 或 xfs 错误?
我正在运行 amazon linux:
Linux version 3.2.36-1.46.amzn1.x86_64 (mockbuild@gobi-build-31003) (gcc version 4.6.2 20111027 (Red Hat 4.6.2-2) (GCC) ) #1 SMP Mon Jan 14 04:42:23 UTC 2013
答案1
ioctl(... ,BLKBSZSET, ...)
需要 root 权限。
你可以尝试
mkfs -t xfs -s size=`blockdev --getbsz /dev/xvdp` /dev/xvdp
并查看是否不需要不同的块大小即可绕过该操作。