Ansible playbook初始化配置Linux Centos7(一.DNS)
Ansible playbook初始化配置Linux Centos7(二.YUM)
Ansible playbook初始化配置Linux Centos7(三.时钟同步)
Ansible playbook初始化配置Linux Centos7(四.防火墙)
一.挂载数据盘
1.1.目录结构
├── hosts
├── roles
│ ├── DNS
│ │ ├── handlers
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── yum
│ │ └── tasks
│ │ └── main.yml
│ ├────── time
│ │ └─── handlers
│ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── list
│ │ └── tasks
│ │ └── main.yml
│ ├── disk
│ │ └── tasks.yml
│ │ └── main.yml
│ └── firewall
│ └── tasks
│ └── main.yml
└── site.yml
1.2.list下任务主文件
/roles/list/tasks/main.yml
#新建表storage_device收集信息
- name: initialize empty list for devices
set_fact:
storage_devices: []
#获取未挂载的硬盘(判断条件根据云平台环境自行调整)
- name: get unparted devices
set_fact:
storage_devices: "{{ storage_devices + [item.key] }}"
with_dict: "{{ ansible_devices }}"
when: item.value.partitions == {} and not item.value.vendor is none
#查看获取到的硬盘信息
- name: show all values for selected devices
debug: msg="{{ ansible_devices[item] }}"
loop: "{{ storage_devices }}"
#查看表内容
- name: show devices names
debug: var=storage_devices
1.3.disk下任务主文件
/roles/disk/tasks/main.yml
#安装lvm2服务
- name: install parted
yum:
name: lvm*
state: present
#挂载硬盘
- name: mount disk
parted:
device: /dev/{{item}}
number: 1
state: present
loop: "{{storage_devices}}"
ignore_errors: yes
#创建卷组
- name: create volume group
lvg:
vg: vg{{item}}1
pvs: /dev/{{item}}1
loop: "{{storage_devices}}"
#创建逻辑卷
- name: create lv
lvol:
vg: vg{{item}}1
lv: lv{{item}}1
size: 100%VG
resizefs: true
force: yes
state: present
loop: "{{storage_devices}}"
#格式化硬盘
- name: format disk
filesystem:
fstype: xfs
dev: /dev/vg{{item}}1/lv{{item}}1
loop: "{{storage_devices}}"
ignore_errors: yes
#挂盘
- name: mount lvs
mount:
src: /dev/vg{{item}}1/lv{{item}}1
path: /data_{{item}}
fstype: xfs
state: mounted
loop: "{{storage_devices}}"
ignore_errors: yes