Ansible自动化运维之磁盘的分区及挂载的实现

1.磁盘分区并格式化挂载的实现

(1)首先给目标主机server2添加一块新的20G的虚拟硬盘/dev/vdc

在这里插入图片描述

(2)查看分区的帮助文档;编辑yml文件
  • 磁盘分区(parted模块)
---
- hosts: web
  tasks:
    - name: Create a new primary partition with a size of 1GiB  ##磁盘分区
      parted:
        device: /dev/vdc
        number: 1
        state: present
        part_end: 1GiB
  • 磁盘格式化(filesystem模块)
    - name: Create a ext4 filesystem on /dev/sda1
      filesystem:
        fstype: ext4
        dev: /dev/vdc1
  • 文件系统的挂载(mount模块)
 - name: Mount up device
   mount:
     path: /media
     src: /dev/vdc
     fstype: ext4
(3)执行playbook

在这里插入图片描述

  • 目标主机查看
[root@server2 ~]# fdisk -l

在这里插入图片描述

2.判断磁盘设备是否存在,存在时创建分区,不存在时报错(debug块的应用)

block:正常的时候执行
rescure: 不正常的时候执行
always:无论如何都会执行

  • 编写yml 文件
[devops@server1 ansible]$ cat part.yml 
---
- hosts: web
  tasks:
    - shell: test -b /dev/sda  ##shell模块判断磁盘设备是否存在
      register: result
      ignore_errors: True

    - debug:
        msg: "/dev/sda not exists"   ##不存在报错
      when: result.rc != 0

    - name: create partations
      block:  
        - name: Create a new primary partition with a size of 1GiB
          parted:
            device: /dev/sda
            number: 1
            state: present
            part_end: 1GiB

        - name: Create a ext4 filesystem on /dev/sda1 
          filesystem:
            fstype: ext4
            dev: /dev/sda1

        - name: Mount up device
          mount:
            path: /media
            src: /dev/sda1
            fstype: ext4
            opts: noatime
            state: mounted

      when: result.rc == 0  ##存在创建

  • 执行playbook
    在这里插入图片描述在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值