glusterfs使用保险丝来安装glusterfsd卷,在没有虚拟化的情况下,在任何硬件节点上都能正常工作。
但是,我现在尝试将设备安装在容器内
glusterfs --debug -f /etc/glusterfs/glusterfs.vol /storage
并获得以下错误:
fuse: failed to open /dev/fuse: Permission denied [2009-06-20 18:36:29] D [fuse-bridge.c:2747:init] glusterfs-fuse: fuse_mount() failed with error Permission denied on mount point /storage
ls -al / dev / fuse是
crw-rw-rw- 1 root fuse 10, 229 20. Jun 16:35 /dev/fuse
和ls -al / storage是
drwxr-xr-x 2 root root 4096 20. Jun 17:14 storage
那个HN的核心已经装上了保险丝…一个是uname的
2.6.18-14-fza-amd64 #1 SMP Mon Jan 5 17:36:46 UTC 2009 x86_64 GNU/Linux
有什么build议么? 有没有人试图在一个openvz容器中安装glusterfs并启动并运行?
提前致谢。 马库斯
好吧,我自己find了解决scheme( http://wiki.openvz.org/FUSE )
我只需要调整我的容器,通过在我的HN中构build以下内容:
# vzctl set $VEID --devices c:10:229:rw --save # vzctl exec $VEID mknod /dev/fuse c 10 229
…并完成,你需要设置这些
# vzctl set $VEID --capability sys_admin:on
从OpenVZ容器中导出glusterfs卷。
在Azouk基础架构中,我们也使用OpenVZ和Glusterfs,但不要给予sys_admin权限。
如果您对每个安装了sys_admin (大多数pipe理员可能都这么做)给予sys_admin权限感到不适,您可以稍微修改GlusterFS源代码,以便将其xattrs存储在非特权名称空间中:
find . -regex '.*/[^/]*\.[ch]' -exec sed -i 's/"trusted\./"user./g' {} + \ && ./configure && make
我已经用1.4.0qa92testing了这个版本,现在我们已经在这个版本中使用了这个版本了。
安装GlusterFS卷的另一种方法是将GlusterFS卷安装在HN上,然后将该目录绑定到VZ容器中。 这可以通过config目录中的容器装入脚本(vps.mount或$ ctid.mount)来控制。