NFS 服务器
挂载共享网络驱动器
概述
对于某些有状态的服务,如 Jenkins,可以方便地将共享网络驱动器挂载到每个节点。如果使用中的节点不可用,则共享网络驱动器可以在新节点上启动任务。
注意:此示例使用 CoreOS 和 systemd
,且尚未在其他环境中进行测试。
注意
- 这些说明是 CorEos 特定的。
- 这不是 HA NFS 服务器。它在单个主节点上运行,只能用作概念证明。
- 如果您有权访问预先存在的 NFS 或其他网络存储,请跳转到配置代理程序以挂载驱动器 。
使用文件共享配置主节点
使用 DC/OS 命令行界面登录主节点:
dcos node ssh --master-proxy --leader
为 NFS 运行时信息设置文件夹:
sudo mkdir /var/lib/nfs
写一个
/etc/exports
文件以描述要导出的文件夹。将路径/data
替换为导出文件夹的绝对路径,将 CIDR 范围10.0.1.0/24
替换为您的子网的适当范围:cat /etc/exports
/data 10.0.1.0/24(rw,async,no_subtree_check,no_root_squash,fsid=0)
启动
rpc-mountd
和nfsd
:sudo systemctl start rpc-mountd
sudo systemctl start nfsd
启用
rpc-mountd
和nfsd
进行自动启动:sudo systemctl enable rpc-mountd
sudo systemctl enable nfsd
配置代理程序以挂载驱动器
列出群集中的节点:
dcos node
HOSTNAME IP ID
10.0.1.251 10.0.1.251 68ded4c8-8808-4a41-b460-7171355b2037-S1
10.0.1.252 10.0.1.252 68ded4c8-8808-4a41-b460-7171355b2037-S0
通过 SSH 连接到节点:
dcos node ssh --master-proxy --mesos-id=68ded4c8-8808-4a41-b460-7171355b2037-S0
使新文件夹挂载如:
sudo mkdir /mnt/data
为 NFS 运行时信息设置文件夹:
sudo mkdir /var/lib/nfs
创建新的
systemd
挂载单元以描述挂载。.mount
文件的名称与挂载点的路径相同,删除了前面的斜杠,其他斜杠转换为破折号。使用/mnt/data
作为示例,文件命名为mnt-data.mount
. 另外,将10.0.7.181
替换为 NFS 主机的 IP。更多信息可在 CoreOS 文档中找到:cat /etc/systemd/system/mnt-data.mount
[Mount]
What=10.0.7.181:/data
Where=/mnt/data
Type=nfs
通过使用
touch
来测试新挂载,以创建文件:touch /mnt/data/test.txt