目录
3.创建一个play, 用来安装软件iptables, 并启动服务,然后停止服务 第一个任务,安装iptables 第二个任务: 启动服务 第三个任务:停止服务
4.创建一个play,完成新建连接并启用 首先,关闭node1, 添加一块网卡 创建任务,在新添加的网卡上新建连接
5.创建一个play,完成LVM的配置 首先,关闭node1, 在node1上添加一块硬盘,2GB
第一个任务:为磁盘设置第一个分区:500MB, flags=lvm
第二个任务:为磁盘设置第二个分区:500MB, flags=lvm
第三个任务:为磁盘设置第三个分区:500MB, flags=lvm
第四个任务:使用上边建立的三个分区,建立PV和VG(使用lvg模块)
第五个任务:使用上面建立的vg建立逻辑卷(lv), lv大小为1.2GB
第七个任务:将上面建立的逻辑卷挂载到/mount_data目录下
第八个任务:在/mount_data下创建文件data.txt
注:playbook里对缩进格式要求严格,可以去vim /etc/vimrc加一句写的更方便
autocmd FileType yaml setlocal ai ts=2 sw=2 et
【在ansible下创建yaml文件,据我观察应该是可以一个yaml文件里根据play的名字的来执行,但是我又不确定,算了还是老实每个yaml写一个play】
【老师说可以根据play名字执行,自学事倍功半,俺就不去查了】
1.创建一个play, 用来创建用户和用户组 第一个任务:创建用户usertest并指定uid为2000,shell类型为/bin/sh 第二个任务:创建用户组grouptest 并指定gid为1999
vim /root/ansible/test1.yaml
---
- name:
hosts: node1
tasks:
- name: userad
user:
name: usertest
uid: 2000
shell: "/bin/sh"
- name: groupad
group:
name: grouptest
gid: 1999
...
【一定注意缩进格式,层次不一样的】
【验证成功】
2.创建一个play,用来创建文件并往文件中写入内容, 并压缩 第一个任务:创建一个data.txt文件, 第二个任务:写入:This file is for archive 第三个任务: 压缩文件 data.txt为data.tar.gz
【我是准备创建在node1的/test下,没文件夹自己创建】
vim /root/ansible/test2.yaml
---
- name:
hosts: node1
tasks:
- name: filecreat
file:
path: /test/data.txt
state: touch
- name: txtinsert
lineinfile:
path: /test/data.txt
line: "This file is for archive"
- name: tar
archive:
path: /test/data.txt
dest: /test/data.tar.gz
format: gz
...
【验证】
3.创建一个play, 用来安装软件iptables, 并启动服务,然后停止服务 第一个任务,安装iptables 第二个任务: 启动服务 第三个任务:停止服务
vim /root/ansible/test3.yaml
---
- name:
hosts: node1
tasks:
- name: yumiptb
yum:
name: iptables-services.x86_64
disable_gpg_check: yes
- name: start
service:
name: iptables
state: started
- name: stop
service:
name: iptables
state: stopped
...
【如果node1已经安装了iptables的话任务1应该会是绿色,黄色表示我之前没有,现在发生了更改】
4.创建一个play,完成新建连接并启用 首先,关闭node1, 添加一块网卡 创建任务,在新添加的网卡上新建连接
vim /root/ansible/test4.yaml 【这个仅供参考】
【看样子是创建成功了,回显失败,但是网卡又确实创建了,而且创建了网卡激活了的话node1就不是node1了,所以暂时就这样把】
---
- name:
hosts: node1
tasks:
- name: ensadd
nmcli:
conn_name: newens
ip4: 192.168.174.222/24
gw4: 192.168.174.2
dns4: 114.114.114.114
state: present
type: ethernet
...
【👇看,确实创建这个网卡成功了】
5.创建一个play,完成LVM的配置 首先,关闭node1, 在node1上添加一块硬盘,2GB
第一个任务:为磁盘设置第一个分区:500MB, flags=lvm
第二个任务:为磁盘设置第二个分区:500MB, flags=lvm
第三个任务:为磁盘设置第三个分区:500MB, flags=lvm
第四个任务:使用上边建立的三个分区,建立PV和VG(使用lvg模块)
第五个任务:使用上面建立的vg建立逻辑卷(lv), lv大小为1.2GB
第六个任务:为上面建立的lv建立文件系统,类型为xfs
第七个任务:将上面建立的逻辑卷挂载到/mount_data目录下
第八个任务:在/mount_data下创建文件data.txt
先把node1关机去添加一块2gb硬盘
vim /root/ansible/test5.yaml
---
- name:
hosts: node1
tasks:
- name: sortpart1
---
- name:
hosts: node1
tasks:
- name: sortpart1
parted:
device: /dev/nvme0n2
label: msdos
part_type: primary
---
- name:
hosts: node1
tasks:
- name: sortpart1
parted:
device: /dev/nvme0n2
label: msdos
part_type: primary
flags: lvm
number: 1
part_start: 1MB
part_end: 500MB
state: present
- name: sortpart2
parted:
device: /dev/nvme0n2
label: msdos
part_type: primary
flags: lvm
number: 2
part_start: 501MB
part_end: 1001MB
state: present
- name: sortpart3
parted:
device: /dev/nvme0n2
label: msdos
part_type: primary
flags: lvm
number: 3
part_start: 1002MB
part_end: 1502MB
state: present
- name: lvg
lvg:
pvs: "/dev/nvme0n2p1,/dev/nvme0n2p2,/dev/nvme0n2p3"
pesize: 4
vg: myvg
state: present
- name: lvjuan
lvol:
vg: myvg
lv: mylv1
size: 1.2G
state: present
- name: fstype
filesystem:
dev: /dev/myvg/mylv1
fstype: xfs
- name: mount
mount:
src: /dev/myvg/mylv1
path: /mount_data
fstype: xfs
state: mounted
- name: creatfile
file:
path: /mount_data/data.txt
state: touch
...
【lv分卷的时候单位错了,应该是1.2G不是1.2GB,所以之前的任务都执行过了回显绿色】
【验证完成,圆满完成任务,那个逻辑卷lv有1.2G一块分区不够所以他自动分配到别的分摊去了】