gpt4 book ai didi

ruby - 如何使用 Chef 以幂等方式添加 NFS 共享?

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:05 24 4
gpt4 key购买 nike

我想使用 Chef 在 Linux 中使用 NFS 共享文件夹。到目前为止,我得到了这个:

#share the path using NFS
File.open("/etc/exports", 'a') do |file|
file.puts FS_BASE_PATH+" *(rw)"
end

一次有效。后续配置会重复此行。

我是否继续沿着这条路走下去,检查文件内容以查看它是否已经包含 Ruby 中的行?或者,是否有一个命令来配置 NFS 共享而不必直接编辑导出文件,这代表我解决了这个问题?在 Windows 中,我会使用 NET SHARE。

Linux和NFS的flavor是:Ubuntu 12.04, nfs-kernel-server

最佳答案

一般建议由Chef来管理整个文件。在这种情况下,我将使用“nfs”说明书(或任何您命名的名称)中导出共享的属性,然后使用"template"资源来管理文件的内容。 Recipe 的属性文件中的类似内容,或通过角色应用:

default['nfs']['exports'] = ["/srv/export 10.0.0.0/8(ro,sync,no_root_squash)"]

Recipe 中的模板:

template "/etc/exports" do
source "exports.erb"
mode 00644
end

然后是模板本身:

<%- node['nfs']['exports'].each do |line| %>
<%= line %>
<%- end %>

当然,已经有一本非常好的 NFS Recipe ,由一位优秀的 Recipe 作者在 Chef Community Site (nfs cookbook) 上发布.它非常完整,包括测试。

关于ruby - 如何使用 Chef 以幂等方式添加 NFS 共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13491373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com