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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM