- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - 使用 Git 作为文件服务器
- 使用 MinionFS 作为文件服务器
- SaltStack - 使用 Salt 与 Cron
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 使用 Salt
- Salt 用于云基础设施
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - 使用 MinionFS 作为文件服务器
MinionFS 是 Salt 为 Minion 提供的一种特殊文件服务器,用于 Minion 之间交换文件。MinionFS 提供的文件是由 Minion 故意共享的文件。要共享文件,Minion 必须按照以下步骤操作。
源 Minion 必须使用 cp.push 函数将文件推送到 Salt Master。
源 Minion 推送文件后,任何其他 Minion 都可以使用 MinionFS 文件服务器访问已部署的文件。
启用推送
默认情况下,Minion 向 Master 推送文件的功能是禁用的。要接受来自 Minion 的文件,Master 的配置文件中需要设置“file_recv”选项,其值必须设置为True。默认情况下,“file_recv”的值为false。
file_recv: True
启用该选项后,重新启动 Master 服务。
推送文件
Minion 可以将文件推送到 Master。这是通过cp.push 函数执行的。此 cp.push 函数提供了一种简单的机制,可以使用 Minion ID 由 Minion 推送文件。
salt 'minion-id' cp.push /path/to/the/file
这里,minion-id 用于标识哪个 Minion 正在推送文件。此命令会将文件存储在 Master 的 cachedir 下名为minions 的子目录中。通常,路径为 – /var/cache/salt/master/minions。
对于 Minion m1 和文件 – /var/log/mylog.txt,文件将存储在 – /var/cache/salt/master/minions/m1/var/log/mylog.txt。
启用 MinionFS
要启用 MinionFS,只需在 fileserver 后端设置中添加minion,如下面的代码块所示。
fileserver_backend: - roots - minion
启用 MinionFS 后,Minion 推送的文件将可用为:
salt://<minion-id>/path/to/pushed/file
对于 Minion m1 和推送的文件 – /var/log/mylog.txt,推送的文件将从 salt://m1/var/log/mylog.txt 提供。
可以使用以下配置将此 minionFS 挂载到专用目录。这将使 minionFS 文件与其他文件分开,并有助于组织 minion 文件。
minionfs_mountpoint: salt://minionfs
对于上述配置,该文件将在minionfs 目录下可用,为 – salt://minionfs/m1/var/log/mylog.txt
MinionFS 高级选项
MinionFS 还提供了一个选项,用于启用/禁用来自特定 Minion 的推送文件的可用性。这些选项是minionfs_whitelist(启用 Minion)和minionfs_blacklist(禁用 Minion)。
minionfs_whitelist: - webserver - develop* - ‘mail\d+.mysite.com' minionfs_blacklist: - testing
在上述配置中,除了testing 之外的所有 Minion 都允许使用 minionFS 共享文件。
Webserver1
ID 匹配正则表达式 develop * 的 Minion
ID 匹配正则表达式 mail\d+.mysite.com 的 Minion。
Testing
在下一章中,我们将学习如何使用 Salt 与 Cron。