zoukankan      html  css  js  c++  java
  • ansible 初始化系统分区格式化

    ansible 初始化系统分区格式化

    作者: 张首富
    时间: 2021-05-13
    wx: y18163201
    

    创建分区并进行格式化

      tasks:
      - name: '未分区磁盘'
        parted: device=/dev/{{item.key}} number=1 state=present
        when: not item.value.partitions
        register: status
        with_dict: "{{ ansible_devices }}"
    
      - name: '格式化磁盘'
        filesystem: dev=/dev/{{item.item.key}}1 fstype=xfs
        when: item.changed != false
        with_items: "{{ status.results }}"
    

    首先通过ansible fact检测机器中的磁盘的parttions,如果partitions就是实际磁盘的分区数,分过区的partitions里是有值的,没分过区的磁盘partitions 值未空。依此来判断磁盘是否被分过区。

    如果没有分区我们就把这个磁盘分1个区。并把状态记录下来。

    格式化的时候,如果上面的分区状态是成功的,那么说明,这个盘是刚分过区的,那么我就执行格式化。

    格式化之后我们需要指定挂载操作,挂载操作要调用mount模块来实现

    ansible mount 模块用法

    常用参数

    • path: 挂载点,必须
    • src: 挂载的源分区,必须
    • fstype:磁盘分区格式,必须
    • state:对应的动作是什么

    mounted: 主动将设备挂载,并在 /etc/fstab 里面添加永久挂载信息,如果挂载点不存在,挂载点将会被创建

    present: 只在 /etc/fstab 里面做记录,并不会挂载

    unmounted: 卸载挂载点,但是并不会在 /etc/fstab 里面把永久挂载信息去掉

    absent:取消挂载,并在/etc/fstab 对应的记录也删除

    remounted:指定设备将被重新挂载

    • opts: 挂载的选项。

    挂载

    tasks:
    - name: "mount device"
        mount:
          path: /data
          src: /dev/sdb1
          fstype: ext4
          state: mounted
    

    卸载

    tasks:
    - name: 'umount device'
      mount:
        path: /data
        state: umounted
    
  • 相关阅读:
    Python列表操作
    Python字符串操作
    Python个人项目--豆瓣图书个性化推荐
    Python之禅及释义
    Python文件读写
    Python文件读写
    IDLE3.6.3 Mac版不支持中文输入解决办法
    Linux 下的 Docker 安装与使用
    使用 C# 编写自己的区块链挖矿算法
    在 Docker 当中搭建 docFX 站点
  • 原文地址:https://www.cnblogs.com/shoufu/p/14764639.html
Copyright © 2011-2022 走看看