使用ansible临时命令完成以下操作
使用ansible临时命令完成以下操作
1、对node1主机操作,安装httpd服务,网页存放在/www目录中,能够通过curl http://node1访问到网页内容为welcome to luoqi
2、对node2主机操作,创建一个1000MiB的分区,格式化成ext4的文件系统,并挂载到/testdir目录下。
使用ansible node2 -m shell -a 'df -Th’验证
3、对node3主机操作创建卷组datastorage,逻辑卷database,大小为800M,格式化为xfs的文件系统,并挂载到/lv目录下
使用ansible node3 -m shell -a 'df -Th’验证
1. 在node1上安装httpd服务并配置网页
配置YUM仓库
ansible all -m yum_repository -a 'file=server name=BASE
description="software base"
baseurl=http://ansible.example.com/rhel9/BaseOS
enabled=yes
gpgcheck=no 'ansible all -m yum_repository -a 'file=server name=STREAM
description="software stream"
baseurl=http://ansible.example.com/rhel9/AppStream
enabled=yes
gpgcheck=no '
#安装httpd软件
ansible node1 -m yum -a "name=httpd state=installed"
#创建文件
ansible node1 -m file -a "path=/www state=directory"
#将content内容字符串写入dest路径文件
ansible node1 -m copy -a "content='welcome to luoqi' dest=/www/index.html"
#替换文件中的字符串,backup=yes 设置文件备份:
# 修改DocumentRoot路径
ansible node1 -m replace -a "path=/etc/httpd/conf/httpd.conf regexp='^DocumentRoot \"/var/www/html\"' replace='DocumentRoot \"/www\"' backup=yes"
# 修改Directory路径
ansible node1 -m replace -a "path=/etc/httpd/conf/httpd.conf regexp='<Directory \"/var/www/html\">' replace='<Directory \"/www\">' backup=yes"
#允许 HTTP 流量
ansible all -m firewalld -a 'service=http permanent=yes state=enabled immediate=yes'
#设置 SELinux 上下文
ansible node1 -m sefcontext -a 'target="/www(/.*)?" setype=httpd_sys_content_t state=present'
ansible node1 -m shell -a 'restorecon -Rv /www'
#启动httpd服务并设置开机自启:
ansible node1 -m service -a "name=httpd state=restarted enabled=yes"
通过curl http://node1访问到网页内容
2. 在node2上创建分区、格式化并挂载
ansible node2 -m parted -a "device=/dev/sdb number=1 part_end=1010MiB state=present"
ansible node2 -m filesystem -a "fstype=ext4 dev=/dev/sdb1"
ansible node2 -m file -a "path=/testdir state=directory"
ansible node2 -m mount -a "path=/testdir src=/dev/sdb1 fstype=ext4 state=mounted"
# 验证
ansible node2 -m shell -a 'df -Th'
3. 在node3上创建LVM、格式化并挂载
ansible node3 -m lvg -a "vg=datastorage pvs=/dev/sdb"
ansible node3 -m lvol -a "vg=datastorage lv=database size=800M"
ansible node3 -m filesystem -a "fstype=xfs dev=/dev/datastorage/database"
ansible node3 -m file -a "path=/lv state=directory"
ansible node3 -m mount -a "path=/lv src=/dev/datastorage/database fstype=xfs state=mounted"
# 验证
ansible node3 -m shell -a 'df -Th'