我正在使用SSH访问我大学的afs系统.我喜欢使用rmate(远程TextMate),这需要SSH隧道,所以我把这个别名包含在我的.bashrc
.
alias sshr=ssh -R 52698:localhost:52698 username@corn.myschool.edu
Run Code Online (Sandbox Code Playgroud)
它一直工作到现在.
我想在许多联网计算机上有许多进程同时通过OpenAFS 1.4.12.1访问同一个SQLite数据库.写入很少,因此SQLite的单写设计应该不是问题.
我想知道这是否可行.我无法找到两个关键信息:
在SQLite的文件指出,"SQLite的使用POSIX咨询锁来实现锁定在Unix".它还警告说"你最好的防御就是不要将SQLite用于网络文件系统上的文件".但是,它似乎没有指定SQLite是仅使用整个文件锁定,还是它还使用字节范围锁定.
我也很难找到OpenAFS 1.4.12.1支持哪种类型的锁定.不幸的是,1998年的这个非正式来源是我能找到的最好的资料来源.那时,支持整个文件锁定但不支持字节范围锁定.
官方文档只显示这个页面,尽管它的友好标题实际上没有说明最新的OpenAFS是否支持POSIX字节范围建议锁定.
编辑:这有可能吗?如果是这样,是否需要任何编译时SQLite标志?
是否有积极开发的分布式,高可用性文件系统(适用于Linux)?
让我更具体一点:
分布式意味着它可以优雅地处理客户端到服务器的延迟,就像您在全球公共互联网上找到的那样(300毫秒及以上),偶尔也会出现连接错误.这意味着需要非常好的客户端缓存(即使用回调).NFS不会这样做.它还意味着无需IPSEC VPN即可加密线上数据.
高可用性意味着数据可以存储在多个服务器上,而客户端足够智能,可以在遇到问题时尝试其他服务器.将这些智能放在客户端非常重要,这就是为什么这种东西不能只被移植到NFS上的原因.对于只读数据,至少需要这样.这对于读写数据会很好,但我知道这很难.
文件系统意味着导出POSIX接口的内核驱动程序,并且在不可信任的客户端面前强制执行权限和访问控制.SAN系统通常假设客户端值得信赖.
我是OpenAFS的难民.我喜欢它,但此时我不能再接受它要求所有文件服务器在所有其他文件服务器上有效"拥有"的要求.必须运行Kerberos基础结构(我不需要)的专有磁盘格式和开销也变得越来越成问题.
除了具有这些属性的OpenAFS之外,还有其他系统吗?Intermezzo和Coda可能有资格但不再是活跃的项目.Lustre很酷,但似乎是专为超低延迟数据中心而设计的.Ceph很棒但不是真正的文件系统,更多的是在文件系统下运行的东西(是的,有CephFS,但它确实是Ceph的展示,并且显然没有生产就绪,并且没有时间表).Tahoe-LAFS很酷但它和GoogleFS并不是真正的文件系统,因为它们不通过内核模块导出POSIX接口.我对GFS(全局文件系统)的理解是客户端可以直接操作磁盘上的数据结构,因此它们是隐含的根级信任(这也是它快速的部分原因) - 如果我错了,请纠正我这里.
需要开源,因为我无法承担将我的数据锁定在专有的东西.我不介意为软件付费,但在这种情况下我不能被扣为人质.
谢谢,
我有一台Linux服务器使用Kerberos进行用户身份验证,AFS用于用户住宅.当我使用可转发的Kerberos票证登录机器时(我想)PAM也负责我的AFS身份验证,因此我在登录后自动访问我的AFS主页.
假设我登录,然后创建一个屏幕会话并在其中启动一个应用程序.然后我分离我的屏幕会话,并从机器注销.我的Kerberos票证会自动丢弃,因此我在后台运行的屏幕会话以及在其中运行的应用程序无法访问我的AFS主页.这是正常的,它很好.
下次登录机器时,如何使用新的Kerberos票证"提供"我已运行的屏幕会话及其中运行的应用程序(流程本身),并使其能够再次访问我的AFS主页而无需重新启动它?
应该不难吧?对?
我目前正在搜索 OpenAFS 代码库以查找 pioctl 的标头定义。我已经把所有的东西都扔了:检查 ctags,搜索 pioctl 的源代码等。我最接近线索的是,有一个包含定义的文件 pioctl_nt.h,除了它是实际上不是我想要的,因为没有一个用户空间代码直接包含它,而且它是特定于 Windows 的。
现在,我不希望您去下载 OpenAFS 代码库并为我找到头文件。不过,我很好奇:当其他一切都失败时,您有什么技巧可以找到所需的头文件?最坏的情况是什么,可能导致代码库中 pioctl 的 grep 实际上没有提出任何看起来像函数定义的东西?
我还应该注意,我可以访问两个已经正确完成的独立用户空间程序,因此理论上我可以对函数进行 O(n) 搜索。但是没有一个头文件弹出给我,而且 n 很大......
编辑:当前问题已解决:pioctl() 是隐式定义的,如下所示:
AFS.xs:2796: error: implicit declaration of function ‘pioctl’
Run Code Online (Sandbox Code Playgroud) 我在 MacOS Lion 上运行 openAFS 1.6。有时,当我尝试访问 AFS 卷中的文件时,会收到错误消息“操作超时”。这种情况并不总是发生,但有时当我使用无线(较慢的连接)时,我会收到此错误。
此后我无法访问 AFS 中的任何目录或文件,直到重新启动计算机。尝试从“系统偏好设置”重新启动 openAFS 会出现一条可怕的消息,要求我重新启动计算机。
是否有一些选项可以删除此操作超时并重试连接到 AFS,而无需重新启动计算机?刷新缓存什么的?