云计算自动化运维——Ansible编写playbook实现磁盘分区挂载(debug模块使用)

本次实验环境是在之前编写playbook时配置过的实验环境,在普通用户devops家目录下的ansible目录中进行实验。已经提前配置好ansible及两台hosts主机的免密及用户授权,三台机子均拥有普通用户devops。具体方法详情见前篇《云计算自动化运维——Ansible详解及inventory文件配置》
附链接:云计算自动化运维——Ansible详解及inventory文件配置

playbook实现磁盘分区挂载实验

实验环境:

虚拟机名称 ip 版本 角色
server1 172.25.1.1 7.5 ansible
server2 172.25.1.2 7.5 远程主机hosts
server3 172.25.1.3 7.5 远程主机hosts

实验
步骤一:编写playbook

vim fdisk.yml

---
- hosts:  localhost  #对localhost组内主机执行
  tasks:
    - shell:  test -b /dev/vda   #1】调用shell模块,判断/dev/vda是否存在
      register: result   #2】result接收调试结果
      ignore_errors: True  #忽略错误信息

    - debug:   #3
        msg:  "/dev/vda not exists"  #调试输出的消息
      when: result.rc != 0 #当调试结果result的值不为0时,执行debug

    - name: create partations   #磁盘分区
      block: 
        - name: create a new primary partition with a size of 2GiB
          parted:
            device: /dev/vda
            number: 1   #分区个数
            state:  present
            part_end: 2GiB
            
        - name: Create a ext4 filesystem on /dev/vda1  #格式化
          filesystem:
            fstype: ext4
            dev:  /dev/vda1

        - name:  Mount up device  #挂载
          mount:
            path:  /media
            src: /dev/vda1
            fstype:  ext4
            opts:  noatime
            state: mounted

      when: result.rc == 0 #当调试结果result的值为0时,执行create partations

【1】test测试文件或设备是否存在,通过返回值判断
用法:
man test #可查看用法
在这里插入图片描述
使用:
在这里插入图片描述
【2】register
用于注册一个变量,保存命令的结果(shell或command模块),这个变量可以在后面的task、when语句或模板文件中使用。此处为使用的是result变量接收结果。
【3】
debug模块在执行期间打印语句,并且可用于调试变量或表达式,而不必停止playbook。

步骤二:在hosts文件中定义localhost组在这里插入图片描述
这里我定义的主机是server1主机

步骤三:给server1主机添加一块磁盘
我的server1虚拟机上没有磁盘/dev/vda
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
server1上fdisk -l 查看:
在这里插入图片描述
步骤四:运行测试在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述步骤五:debug测试
server2虚拟机没有/dev/vda磁盘
在这里插入图片描述
将fdisk.yml文件中的组修改为test,包含主机server2
在这里插入图片描述
运行:
在这里插入图片描述
附ansible官网学习链接:https://docs.ansible.com/ansible/latest/user_guide/

发布了170 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CapejasmineY/article/details/103297734
今日推荐