在 AWS 上以非 root 用户身份在 EBS 卷上运行 mkfs.xfs

在 AWS 上以非 root 用户身份在 EBS 卷上运行 mkfs.xfs

我已设置一条 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

并查看是否不需要不同的块大小即可绕过该操作。

相关内容