问题标签 [ocfs2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
filesystems - 文件服务器替换集群文件系统
出于各种维护、稳定性和备份原因,我需要用不依赖共享磁盘的东西替换 10 个节点(10 个 Linux 主机)ocfs2 共享文件系统。客户端应用程序是仅 Linux 环境中的 PHP。
现在每个 PHP 客户端都从数据库中请求一个唯一的 ID,并在共享磁盘上创建一个具有该 ID/名称的文件。数据库存储所有文件元数据。以类似的方式访问现有文件。
我想用 putfile(id, '/tmp/path') 和 getfile(id, '/tmp/path') 通过网络调用文件服务器来替换共享磁盘解决方案。客户端我可以使用 tmpfs 中的文件。服务器应该处理压缩等。这也将使我摆脱 PHP 客户端依赖项,我可以直接从其他一些应用程序以及 Windows Delphi 应用程序中使用文件服务器。
理论上,基于 FTP 的解决方案甚至可以工作,尽管它可能表现不佳。还是我不信任旧的 FTP 协议是错误的?
我目前有超过 3000 万个文件 ID,其中大多数只有几 KB,但最大的例外是 300MB,总共只有 320GB。PHP 客户端还使用 gzip 和 tar 进行一些压缩和分组,这一切都非常笨拙。
我希望找到像 memcachedb 这样快速简单的东西,但对于文件。我发现的最接近的是 hadoop 的 hdfs,但我认为这不是正确的解决方案。
有什么建议吗?我错过了什么明显的东西?
c - 从文件中读取() - 阻塞与非阻塞行为
假设我们使用fopen()
和从收到的文件指针打开一个文件,使用fileno()
. 然后我们从这个文件中做很多(>10^8)随机read()
的相对小的块,大小在 4Bytes 到 10KBytes 之间:
如果read()
文件errno
系统是
ext3
NFS
OCFS2
2 和 3 的组合(
OCFS2
通过NFS
)
?
我的读数给了我一个结论,它不应该是 1. (如果文件没有O_NONBLOCK
设置,如果ext3
有可能设置它)但对于其他三个(2., 3., 4.)我不确定.
(顺便说一句:我可以假设O_NONBLOCK
在任何情况下都没有设置为默认值吗?)
之所以出现这个问题,是因为我观察到read()
s 返回的字节数少于errno
案例 4 中未设置的请求。
通过测试深入研究的问题是这种行为发生在 <1/1000000000 的情况下...... - 这仍然太频繁了:-}
更新:平均文件大小在几 TBytes 和大约 1GByte 之间。
php - OCFS2 PHP(CGI/FPM)
在 ocfs2 文件系统上运行 PHP 网站时,解析时间是使用 ext4 之前的 10 倍。ocfs2 是否配置为在主要/主要或主要/次要使用中运行并不重要。结果还是一样。
正常的页面加载时间(使用 ext4)大约是 250 毫秒,使用 ocfs2 现在需要 1.5 - 2.8 秒才能获得第一个 html 响应。(没有其他应用程序在服务器上运行,php 是在 ocfs2 系统上运行的单个进程)
我有 testet 用 noatime 安装它,但看不出有什么区别。与 ext4 一样,PHP 也消耗更多的 cpu 时间。
正常的 .html 访问在 < 5ms 内完成,因此读取速度具有低延迟,并且简单的复制也很快完成。
cluster size 和 blocksize 是默认的,也可以使用 -T mail 重新格式化光盘;没有改变。希望有人可以提供一些提示;)
fedora - 在 Fedora 上安装 ocfs
我无法在 Fedora 操作系统上安装 ocfs2-tools。根据谷歌这应该足够了:yum install -y ocfs2-tools(它说:找不到包)。我试过:yum install ocfs2-tools.x86_64。我试过:yum list available | grep -l 'ocfs' (没有这样的包)。在 ubuntu 上应该是:apt-get install ocfs2tools。如何在 Fedora 发行版上安装 ocf2 工具?
编辑:我从 fedora git 下载了 ocfs2-tools-e797cf5f27e9d4238efe27fa2203b102e44246f6.tar.gz。安装“开发工具”。我尝试运行 ./configure 脚本,但收到消息:“无法找到 com_err 库”,所以我安装了 e2fsprogs-devel,在尝试运行配置脚本后,我收到消息:“无法找到 uuid 库”,所以我安装了 libuuid和 libblkid-devel,我收到消息:“无法找到 ncurses 库”...帮助 :)
linux - oracle linux上的ocfs2
我试过Fedora,卡住了。下载了oracle linux。
- 3 台虚拟机:ocfs2-1、ocfs2-2、ocfs2-3(全部:2x NIC、1xbridge、1xinternal 网络 - 用于 ocfs2)
- 在 ocfs2-1 上,我为存储创建了额外的磁盘(固定大小),并且我已经
VboxManage modifyhd UUID -type shareable
为这个磁盘完成了“”-在其他机器上,我也创建了磁盘,但使用“选择现有磁盘”选项 - 我已将每台机器上的每个“内部网络”接口配置为静态
/etc/sysconfig/network-scripts/
: -ocfs2-1 10.0.0.1
;ocfs2-2 10.0.0.2
;ocfs2-3 10.0.0.3
- 我已经用“
yum install ocfs2-tools.x86_64
”安装了 ocfs2 工具 - 在我做过的每台机器上:
:
当我尝试使用“ o2cb register-cluster ocfs2demo
”注册集群时,出现错误:“ 02cb:尝试初始化集群时无法访问集群服务”当在“/etc/init.d/
我运行”./o2cb load
时,我能够进行注册集群声明,但在那之后,当我尝试:“ sudo o2cb start-heartbeat ocfs2demo
”我得到一个错误:“ o2cb:集群'ocfs2demo'未注册”-/etc/ocfs2/cluster.conf
在所有节点上都是相同的-ocfs2的内核模块在好目录中:-“ find / -name "*ocfs2_nodemanager*" -print
”在/lib/modules uname-r
//kernel /fs/ocfs2 - 也许安装的驱动程序与我的内核版本不匹配?:内核(uname -r):3.8.13-55.1.6 驱动程序(rpm -qa|grep ocfs2):ocfs2-tools-1.8.0 -16 - 服务 o2cb 状态:
- 我运行“
sudo systemctl enable o2cb.service
” - 启用 o2cb - 在最后一个命令之后,集群仍然是“离线”
- 我试过:“
/etc/init.d/o2cb force-reload
” - 没有任何改变
我不知道我还能尝试什么来开始这件事。我将不胜感激。
linux - 如何结合 DRBD、OCFs2 和 LUKS?
我在网上搜索了以下问题的明确答案,但找不到明确的“是”或“否”,或有关如何启用此方法的明确程序!
在两节点设置中,使用 DRBD 作为块设备复制技术,使用 OCFs2 作为集群文件系统(需要主动/主动 DRBD 模式),是否可以使用 LUKS 加密底层块设备,使其可以从集群中的任何节点?内核在启动时是否需要每个节点上的密码?如果没有,它是如何工作的?
提前感谢您的回复。
D.
ubuntu - 尝试在 Ubuntu 16.04 上安装 OCFS2:找不到 o2cb 命令
到目前为止我做了什么:
安装了所有与 ocfs2 相关的软件包(ocfs2-tools、ocfs2-tools-dev 和 ocfs2console)。
我尝试使用 o2cb 集群注册实用程序设置 OCFS2 文件系统,以便使用类似的命令
这是推荐的方式(而不是手动编辑配置文件)。
问题是我在安装上述软件包后在我的机器上找不到 o2cb 命令。还使用 updatedb/locate o2cb 在系统范围内搜索了我的路径中缺少的 o2cb 二进制文件,但我没有找到可执行文件。有初始化脚本和 /sbin/o2cb_ctl 控制程序,但仅此而已......
我是否需要安装其他任何东西才能执行 o2cb 命令来填充配置文件?
提前致谢!
ceph - 搜索最新且在 FreeBSD 和 Linux 上运行良好的集群文件系统(文件存储)
我有一个 FreeBSD 12.1-RELEASE 服务器和一个 CentOS 7 服务器。两者都在 amd64 上运行。
我想建立一个在两个平台上都运行良好的集群文件系统。它应该有 CentOS 7 包和 FreeBSD 包。解决方案应该是开源软件并且“免费使用”。
经过一番研究,我发现了以下内容,但我总是遇到缺点:
MooseFS3:适用于 FreeBSD 和 CentOS,两者都有软件包,但只有商业版 MooseFS3 Pro 具有真正的集群功能,例如可以从多个节点挂载文件系统。当我从文件系统运行 dovecot 时,我的 dovecot imap 服务器守护程序访问的文件也有锁定问题。
GlusterFS:似乎运行良好,但没有适用于 FreeBSD 的最新版本 8.x 的软件包。截至今天,FreeBSD 只为 GlusterFS 3.x 提供了一个端口。不同版本的 GlusterFS 不能一起运行。
Ceph:配置起来非常复杂,我无法执行 FreeBSD 官方文档中的所有步骤,因为 ceph-disk 工具已被弃用,取而代之的是 ceph-volume。但是,使用 Ceph-volume,我无法在 FreeBSD 上使用我的 zfs 池运行它,因为用于 ceph-volume 的 zfs 插件在移植到 FreeBSD 或类似软件时似乎有一些 Linux 代码,所以它可能只在 Linux 本身上使用 ZFSOnLinux 运行。
OCFS2:我对那个没有太多经验,但它的版本似乎有点过时了。
Lustre:没有适用于 FreeBSD 的软件包,也没有关于如何在最近的 FreeBSD 系统上进行设置的准确和最新文档
BeeGFS (Fraunhofer):没有适用于 FreeBSD 的软件包,仅适用于 Linux
Hadoop MapR 文件系统:BigData 存储的用例比 UNIX 集群文件系统更多,我不知道它是否有 FreeBSD 包。
因此,对于在 FreeBSD 和 CentOS Linux 上运行的集群文件系统,我没有找到好的解决方案。即使我打算将 CentOS 服务器迁移到 Fedora 服务器,所以它也应该在那里运行。
谁能向我推荐一个最新的兼容集群文件系统,我可以在 FreeBSD 和 CentOS/Fedora 服务器上使用它并且允许真正的集群文件系统功能,如复制和 HA?
还是目前没有满足我需求的集群文件系统,我必须迁移运行相同操作系统的两台机器?
先感谢您。
最好的问候, rforberger