我有许多磁盘,其中有一个分区,用ext4预先格式化。有时是空白的新磁盘。我需要能够将它们插入到任何一个ubuntu服务器中,运行一个ansible剧本,该手册:标识(新的)磁盘确保它没有被安装,确保我们不接触rootdisk (如果是新的),创建分区和ext4文件系统。为新磁盘创建挂载点,如"/mnt/{newdiskserial}“将其存储在一个变量中,以便扩展播放本功能,挂载新磁盘
我一直在研究这个古老的答案:items and when conditional to --我认为它可能是有用的,也可能是适应性的。但我的胡说八道还不够强大。我需要一只高级手。
无功能代码
最终结果应该是。放入几个新磁盘或与文件系统一起使用的磁盘。运行剧本并确保它们安装在/mnt/序列号中
发布于 2019-07-31 00:01:19
Ansible的设计是幂等的,因此,如果分区已经分区和/或使用您期望的文件系统进行格式化或格式化,那么采取格式化或挂载分区之类的操作就不会产生任何影响。
您的问题听起来像是在寻找Ansible来表现得更像一种通用语言;如果它有帮助,那么可以将Ansible看作一种工具/语言,使事物看起来像某种特定的方式。系统的哪些部分已经正确(例如,分区1存在,或者格式化为"ext4"),然后Ansible说“很好,这是正确的,让我们继续下一步。”
假设Ansible是(非常)初级的系统管理员,您必须以检查列表的格式向其解释事情。你的情况会是这样的-你的问题是“没有功能代码”,所以我会保持这个高层次:
my_disk_list:
- "sdb"
- "sdc"
- "sdd"with_items: my_disk_list
ext4 with_items和带有force: no的filesystem模块。
with_items
with_items
如果在每个部分中使用register命令,则可以跟踪每个步骤更改或保留了哪些操作。
如果需要使用磁盘序列号挂载,则必须遍历每个磁盘的“安装程序:”模块事实,并使用该事实设置挂载点。
https://stackoverflow.com/questions/57268294
复制相似问题