养成日记15
6.创建和使用逻辑卷
创建名为research卷组
使用lvg模块让设备支持逻辑卷技术
#ansible-doc lvg
#vim lv.yml
---
- name: 创建和使用逻辑卷
hosts: all
tasks:
- name: one
lvg:
vg:research
pvs:/dev/sdb
pesize:150M
lvg创建逻辑卷设备
#ansible-doc lvol
#vim lv.yml
---
- name:创建和使用逻辑卷
hosts:all
tasks:
- name:one
lvg:
vg:research
pvs:/dev/sdb
pesize:150M
- name:two
lovl:
vg:research
lv:data
size:150M
格式化逻辑卷
#ansible-doc filesystem
#vim lv.yml
---
- name:创建和使用逻辑卷
hosts:all
tasks:
- name:one
lvg:
vg:research
pvs:/dev/sdb
pesize:150M
- name:two
lovl:
vg:research
lv:data
size:150M
- name:thtee
filesystem:
fstype:ext4
dev:/dev/research/data
使用类似if条件判断
#ansible-doc block
#ansible-doc rescue
#vim lv.yml
---
- name:创建和使用逻辑卷
hosts:all
tasks:
- block:
- name:one
lvg:
vg:research
pvs:/dev/sdb
pesize:150M
- name:two
lovl:
vg:research
lv:data
size:150M
- name:thtee
filesystem:
fstype:ext4
dev:/dev/research/data
rescue:
- debug:
msg:"Could not create logical volume of that size"
#ansible-playbook lv.yml
查看逻辑卷设备信息
#lvdispaly
7.判断主机组名
任务
a.主机在dev分组中,则修改/etc/issue文件内容为Development;
b.主机在test分组中,则修改/etc/issue文件内容为Test;
c.主机在prod分组中,则修改/etc/issue文件内容为Production.
inventory_hostname:Ansible魔法变量,无法用setup模块查询,可以直接在剧本文件中进行调用
#ansible-doc copy
#vim issue.yml
---
- name:修改文件内容
hosts:all
tasks:
- name:one
copy:
content:'Development'
dest:/etc/issue
- name:two
copy:
content:'Test'
dest:/etc/issue
- name:three
copy:
content:'Production'
dest:/etc/issue
使用when判断语句
#vim issue.yml
---
- name:修改文件内容
hosts:all
tasks:
- name:one
copy:
content:'Development'
dest:/etc/issue
when:"inventory_hostname in groups.dev"
- name:two
copy:
content:'Test'
dest:/etc/issue
when:"inventory_hostname in groups.test"
- name:three
copy:
content:'Production'
dest:/etc/issue
when:"inventory_hostname in groups.prod"
#ansible-playbook issue.yml
8.管理文件属性
#ansible-doc file
任务
a.创建一个名为/linuxprobe的新目录,所有者及所属组均为root管理员身份;
b.设置所有者和所属组用于对文件的完全控制权,而其他人则只有阅读和执行权限
c.给予SGID特殊权限
d.仅在dev主机组上实施
c.创建一个名为/linuxcool的快捷方式文件,指向/linuxprobe
#vim chmod.yml
---
- name:管理文件属性
hosts:dev
tasks:
- name:one
file:
path:/linuxprode #path:定义文件的路径
state:directory #state:定义文件类型
owner:root #owner:定义文件所有者
group:root #group:定义文件所属组
mode:'2775' #mode:定义文件权限,SGID,r+w+x,r+w+x,r+x
- name:two
file:
src:/linuxprode #src:源文件路径
dest:/linuxcool #dest:目标文件路径
state:link
#ansible-playbook chmod.yml
8.管理密码库文件
vault:加密密码、剧本、变量名称、变量值等信息
ansible-vault命令可以实现新建(create)、加密(encrypt)、解密(decrypt)、修改密码(rekey)、查看(view)等功能
第一步创建一个名为locker.yml文件
#vim locker.yml
---
pw_developer:Imadev
pw_manager:Imamgr
第二步新建一个用于保存密码的文本文件,便于ansible-vault调用
#vim /root/secret.txt
password
#chmod 600 /root/secret.txt
修改主配置文件中密码保存路径
#vim /etc/ansible/ansible.cfg
140 vault_password_file = /root/secret.txt
第三步执行加密
#ansible-vault encrypt locker.yml
修改密码
#ansible-vault rekey --ask-vault-pass locker.yml
第四步修改加密文件内容
#ansible-vault edit locker.yml
---
pw_developer:Imadev
pw_manager:Imamgr
pw_production:Imaprod
第五步查看加密文件内容
#ansible-vault view locker.yml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程