Ansible任務執行控制的traning

2021-10-21 18:07:43 字數 2814 閱讀 9389

需求:

建立playbook  ~/westos.yml要求如下:

建立大小為1500m名為/dev/vdb1的裝置

如果/dev/vdb不存在請輸入:

/dev/vdb is not exist

如果/dev/vdb大小不足2g請輸出:

/dev/vdb is less then 2g

並建立800m大小的/dev/vdb1

此裝置掛載到/westos上

---

-name

: create /dev/vdb1

hosts

: all

tasks:-

block:-

parted

:device

: /dev/vdb

number:1

state

: present

part_end

: 2000mib

-parted

:device

: /dev/vdb

number:1

state

: absent

-parted

:device

: /dev/vdb

number:1

state

: present

part_end

: 1500mib

when

: ansible_facts[

'devices'][

'vdb'

] is defined

rescue:-

debug

:msg

: /dev/vdb is less then 2g

-parted

:device

: /dev/vdb

number:1

state

: present

part_end

: 800mib

always:-

filesystem

:fstype

: xfs

dev: /dev/vdb1

force

: yes

-mount

:path

: /westos

src: /dev/vdb1

fstype

: xfs

state

: mounted

-name

: check /dev/vdb

debug

:msg

:"vdb is not exist"

when

: ansible_facts[

'devices'][

'vdb'

] is not defined

-

name

: check sdb

hosts

: all

tasks:-

name

: check

debug

:msg:";

} is not exist with /dev/sdb";

when

: ansible_facts.devices.sdb is not defined

-name

: create sdb1

block:-

name

: create 1500m sdb1

parted

:device

: /dev/sdb

number:1

state

: present

part_end

: 1500 mib

when

: ansible_facts.devices.sdb is defined

notify

:- filesystem

- mounted

rescue:-

name

: check /dev/sdb

debug

:msg:";

}'s /dev/sdb is less than 1500m; ## 注意:不同版本的虛擬機器所列出的資訊不一致,先使用 ansible ip -m setup 列出資訊

when

: ansible_facts.devices.sdb is defined

-name

: create /dev/sdb

parted

:device

: /dev/sdb

number:1

state

: present

part_end

: 800mib

when

: ansible_facts.devices.sdb is defined

notify

:- filesystem

- mounted

handlers:-

name

: filesystem

filesystem

:dev

: /dev/sdb1

fstype

: xfs

-name

: mounted

mount

:path

: /westos

src: /dev/sdb1

fstype

: xfs

state

: mounted

Ansible執行任務的方式

一是 ad hoc 命令,一是寫 ansible playbook.前者可以解決一些簡單的任務,後者解決較複雜的任務.usr bin ansible usr bin ansible playbook例子 使用 ansible 的命令列工具來重啟 atlanta 組中所有的 web 伺服器,每次重啟1...

Ansible 處理失敗的任務

1 管理play中任務錯誤 1 ansible評估任務的返回 從而確定任務是成功還是失敗 2 通常而言,當任務失敗時,ansible將立即在該主機上中止play的其餘部分並且跳過所有後續任務,但有些時候,可能希望即使在任務失敗時也繼續執行play 2 忽略任務失敗 1 預設情況下,任務失敗時play...

Hadoop MapReduce任務的執行過程

注 本文注重原理介紹,較少涉及程式設計實現,有錯誤請指正,感謝 在進入正文之前需要了解這幾個概念 hdfs 可以先簡單理解為它是乙個大型分布式的檔案系統,裡面存放了大量檔案,也可以理解為放著俗稱的大資料。資料塊 hdfs中的資料以資料塊為單位存放,預設是64mb,hdfs中的檔案可能遠遠大於64mb...