在完全免责声明中,我有点像Ansible的新手,我可能会咬得比我咀嚼的多,但我需要能够配置IO服务器。将它们视为Gluster或Lustre OSS服务器等的前端服务器......这些服务器中的每一个都有10个驱动器。我可以使用
配置单个驱动器 - name: VGCreate vg_gluster1
lvg: vg={{ "vg_gluster1" }} pvs={{ "/dev/sdb" }} state=present
- name: LVCreate vg_gluster1
lvol: vg={{ "vg_gluster1" }} lv={{ "brick1" }} size={{ "1000m" }}
- name: Create Filesystem vg_gluster1
filesystem: fstype={{ "xfs" }} dev={{ "/dev/vg_gluster1/brick1" }}
- name: Create Mount Points vg_gluster1
file: path={{ "/brick1" }} state=directory mode=0777 recurse=yes
- name: Mount Filesystem vg_gluster1
mount: name={{ "/brick1" }} src={{ "/dev/vg_gluster1/brick1" }} state=mounted fstype=xfs
我想了解如何遍历所有10个驱动器,请记住vg_gluster1与/ dev / sdb,vg_gluster2与sdc等相关联......有没有人有任何帮助?
谢谢!
答案 0 :(得分:0)
定义驱动器列表:
mydrives:
- /dev/sdb
- /dev/sdc
制作任务档案lvm.yml
:
- name: VGCreate vg_gluster1
lvg: vg={{ "vg_gluster"+myindex }} pvs={{ mydrive }} state=present
- name: LVCreate vg_gluster1
lvol: vg={{ "vg_gluster"+myindex }} lv={{ "brick"+myindex }} size={{ "1000m" }}
... etc ...
然后制作循环包括:
- include: lvm.yml
vars:
myindex: "{{ item.0 }}"
mydrive: "{{ item.1 }}"
with_indexed_items: "{{ mydrives }}"
这将包括来自lvm.yml
列表的每个驱动器的mydrives
。
如果您希望每个卷都有不同的名称(不是vg_gluster<index>
),则可以像这样定义mydrives
列表:
mydrives:
- vg: vg_name
dev: /dev/sdb
size: 1000m
- vg: vg_other
dev: /dev/sdc
size: 500m
并相应地修改lvm.yml
。