ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ืฉืœื•ื ืœื›ื•ืœื. ืื ื™ ืขื•ื‘ื“ ื›ืžื ื”ืœ ืžืขืจื›ืช ืžื•ื‘ื™ืœ ื‘-OK ื•ืื—ืจืื™ ืœืชืคืขื•ืœ ื™ืฆื™ื‘ ืฉืœ ื”ืคื•ืจื˜ืœ. ืื ื™ ืจื•ืฆื” ืœื“ื‘ืจ ืขืœ ืื™ืš ื‘ื ื™ื ื• ืชื”ืœื™ืš ืœื”ื—ืœืคื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ื“ื™ืกืงื™ื, ื•ืื– ืื™ืš ื”ืกืจื ื• ืืช ื”ืžื ื”ืœ ืžื”ืชื”ืœื™ืš ื”ื–ื” ื•ื”ื—ืœืคื ื• ืื•ืชื• ื‘ื‘ื•ื˜.

ืžืืžืจ ื–ื” ื”ื•ื ืกื•ื’ ืฉืœ ืชืขืชื™ืง ื”ื•ืคืขื•ืช ื‘- HighLoad+ 2018

ื‘ื ื™ื™ืช ืชื”ืœื™ืš ื”ื—ืœืคืช ื“ื™ืกืง

ืงื•ื“ื ื›ืžื” ืžืกืคืจื™ื

OK ื”ื•ื ืฉื™ืจื•ืช ืขื ืง ื”ืžืฉืžืฉ ืžื™ืœื™ื•ื ื™ ืื ืฉื™ื. ืžืฉืจืชื™ื ืื•ืชื• ืขืœ ื™ื“ื™ ื›-7 ืฉืจืชื™ื, ื”ืžืžื•ืงืžื™ื ื‘-4 ืžืจื›ื–ื™ ื ืชื•ื ื™ื ืฉื•ื ื™ื. ื”ืฉืจืชื™ื ืžื›ื™ืœื™ื ื™ื•ืชืจ ืž-70 ืืœืฃ ื“ื™ืกืงื™ื. ืื ืขื•ืจืžื™ื ืื•ืชื ื–ื” ืขืœ ื’ื‘ื™ ื–ื”, ืžืงื‘ืœื™ื ืžื’ื“ืœ ื‘ื’ื•ื‘ื” ืฉืœ ื™ื•ืชืจ ืžืงื™ืœื•ืžื˜ืจ ืื—ื“.

ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื ื”ื ืจื›ื™ื‘ ื”ืฉืจืช ืฉื ื›ืฉืœ ืœืจื•ื‘. ืขื ื ืคื—ื™ื ื›ืืœื”, ืขืœื™ื ื• ืœื”ื—ืœื™ืฃ ื›-30 ื“ื™ืกืงื™ื ื‘ืฉื‘ื•ืข, ื•ื”ืœื™ืš ื–ื” ื”ืคืš ืœืฉื’ืจื” ืœื ื ืขื™ืžื” ื‘ืžื™ื•ื—ื“.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ืชืงืจื™ื•ืช

ื”ื—ื‘ืจื” ืฉืœื ื• ื”ืฆื™ื’ื” ื ื™ื”ื•ืœ ืื™ืจื•ืขื™ื ืžืœื. ืื ื—ื ื• ืžืชืขื“ื™ื ื›ืœ ืชืงืจื™ืช ื‘ื’'ื™ืจื”, ื•ืื– ืคื•ืชืจื™ื ื•ืžืกื“ืจื™ื ืื•ืชื•. ืื ืœืื™ืจื•ืข ื”ื™ื™ืชื” ื”ืฉืคืขื” ืขืœ ื”ืžืฉืชืžืฉื™ื, ืื– ืื ื—ื ื• ื‘ื”ื—ืœื˜ ืžืชื›ื ืกื™ื ื•ื—ื•ืฉื‘ื™ื ืื™ืš ืœื”ื’ื™ื‘ ืžื”ืจ ื™ื•ืชืจ ื‘ืžืงืจื™ื ื›ืืœื”, ืื™ืš ืœื”ืคื—ื™ืช ืืช ื”ื”ืฉืคืขื” ื•ื›ืžื•ื‘ืŸ ืื™ืš ืœืžื ื•ืข ื”ื™ืฉื ื•ืช.

ื”ืชืงื ื™ ืื—ืกื•ืŸ ืื™ื ื ื™ื•ืฆืื™ ื“ื•ืคืŸ. ืžืฆื‘ื ืžืคื•ืงื— ืขืœ ื™ื“ื™ Zabbix. ืื ื• ืขื•ืงื‘ื™ื ืื—ืจ ื”ื•ื“ืขื•ืช ื‘-Syslog ืœืื™ืชื•ืจ ืฉื’ื™ืื•ืช ื›ืชื™ื‘ื”/ืงืจื™ืื”, ืžื ืชื—ื™ื ืืช ื”ืžืฆื‘ ืฉืœ ืคืฉื™ื˜ื•ืช HW/SW, ืขื•ืงื‘ื™ื ืื—ืจ SMART ื•ืžื—ืฉื‘ื™ื ื‘ืœืื™ ืขื‘ื•ืจ ื›ื•ื ื ื™ SSD.

ื›ื™ืฆื“ ื”ื•ื—ืœืคื• ื“ื™ืกืงื™ื ืœืคื ื™ ื›ืŸ

ื›ืืฉืจ ืžืชืจื—ืฉ ื˜ืจื™ื’ืจ ื‘-Zabix, ื ื•ืฆืจ ืื™ืจื•ืข ื‘ื’'ื™ืจื” ื•ืžื•ืงืฆื” ืื•ื˜ื•ืžื˜ื™ืช ืœืžื”ื ื“ืกื™ื ื”ืžืชืื™ืžื™ื ื‘ืžืจื›ื–ื™ ื”ื ืชื•ื ื™ื. ืื ื—ื ื• ืขื•ืฉื™ื ืืช ื–ื” ืขื ื›ืœ ืชืงืจื™ื•ืช ื”-HW, ื›ืœื•ืžืจ, ื›ืืœื• ืฉื“ื•ืจืฉื•ืช ื›ืœ ืขื‘ื•ื“ื” ืคื™ื–ื™ืช ืขื ืฆื™ื•ื“ ื‘ืžืจื›ื– ื”ื ืชื•ื ื™ื.
ืžื”ื ื“ืก ืžืจื›ื– ื ืชื•ื ื™ื ื”ื•ื ืื“ื ืฉืคื•ืชืจ ื‘ืขื™ื•ืช ื”ืงืฉื•ืจื•ืช ืœื—ื•ืžืจื” ื•ืื—ืจืื™ ืขืœ ื”ืชืงื ื”, ืชื—ื–ื•ืงื” ื•ืคื™ืจื•ืง ืฉืจืชื™ื. ืœืื—ืจ ืฉืงื™ื‘ืœ ืืช ื”ื›ืจื˜ื™ืก, ื”ืžื”ื ื“ืก ืžืชื—ื™ืœ ืœืขื‘ื•ื“ื”. ื‘ืžื“ืคื™ ื“ื™ืกืงื™ื ื”ื•ื ืžื—ืœื™ืฃ ื“ื™ืกืงื™ื ื‘ืื•ืคืŸ ืขืฆืžืื™. ืืš ืื ืื™ืŸ ืœื• ื’ื™ืฉื” ืœืžื›ืฉื™ืจ ื”ื ื“ืจืฉ, ื”ืžื”ื ื“ืก ืคื•ื ื” ืœืžื ื”ืœื™ ื”ืžืขืจื›ืช ื”ืชื•ืจื ื™ื ืœืขื–ืจื”. ืงื•ื“ื ื›ืœ, ืืชื” ืฆืจื™ืš ืœื”ืกื™ืจ ืืช ื”ื“ื™ืกืง ืžืกื™ื‘ื•ื‘. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ืขืœื™ืš ืœื‘ืฆืข ืืช ื”ืฉื™ื ื•ื™ื™ื ื”ื“ืจื•ืฉื™ื ื‘ืฉืจืช, ืœืขืฆื•ืจ ื™ื™ืฉื•ืžื™ื ื•ืœื‘ื˜ืœ ืืช ื˜ืขื™ื ืช ื”ื“ื™ืกืง.

ืžื ื”ืœ ื”ืžืขืจื›ืช ื”ืชื•ืจืŸ ืื—ืจืื™ ืขืœ ืชืคืขื•ืœ ื”ืคื•ืจื˜ืœ ื›ื•ืœื• ื‘ืžื”ืœืš ืžืฉืžืจืช ื”ืขื‘ื•ื“ื”. ื”ื•ื ื—ื•ืงืจ ืชืงืจื™ื•ืช, ืžื‘ืฆืข ืชื™ืงื•ื ื™ื ื•ืขื•ื–ืจ ืœืžืคืชื—ื™ื ืœื‘ืฆืข ืžืฉื™ืžื•ืช ืงื˜ื ื•ืช. ื”ื•ื ืœื ืžืชืขืกืง ืจืง ื‘ื›ื•ื ื ื™ื ืงืฉื™ื—ื™ื.

ื‘ืขื‘ืจ, ืžื”ื ื“ืกื™ ืžืจื›ื– ื”ื ืชื•ื ื™ื ืชืงืฉืจื• ืขื ืžื ื”ืœ ื”ืžืขืจื›ืช ื‘ืืžืฆืขื•ืช ืฆ'ืื˜. ืžื”ื ื“ืกื™ื ืฉืœื—ื• ืงื™ืฉื•ืจื™ื ืœื›ืจื˜ื™ืกื™ Jira, ื”ืžื ื”ืœ ืขืงื‘ ืื—ืจื™ื”ื, ืขืจืš ื™ื•ืžืŸ ืขื‘ื•ื“ื” ื‘ืื™ื–ื” ืคื ืงืก. ืื‘ืœ ืฆ'ืื˜ื™ื ืœื ื ื•ื—ื™ื ืœืžืฉื™ืžื•ืช ื›ืืœื”: ื”ืžื™ื“ืข ืฉื ืื™ื ื• ืžื•ื‘ื ื” ื•ืื•ื‘ื“ ื‘ืžื”ื™ืจื•ืช. ื•ื”ืžื ื”ืœ ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ืชืจื—ืง ืžื”ืžื—ืฉื‘ ื•ืœื ืœื”ื’ื™ื‘ ืœื‘ืงืฉื•ืช ื‘ืžืฉืš ื–ืžืŸ ืžื”, ื‘ื–ืžืŸ ืฉื”ืžื”ื ื“ืก ืขืžื“ ื‘ืฉืจืช ืขื ืขืจื™ืžืช ื“ื™ืกืงื™ื ื•ื—ื™ื›ื”.

ืื‘ืœ ื”ื“ื‘ืจ ื”ื’ืจื•ืข ื‘ื™ื•ืชืจ ื”ื™ื” ืฉื”ืžื ื”ืœื™ื ืœื ืจืื• ืืช ื›ืœ ื”ืชืžื•ื ื”: ืื™ืœื• ืชืงืจื™ื•ืช ื“ื™ืกืง ืงื™ื™ืžื•ืช, ื”ื™ื›ืŸ ืขืœื•ืœื” ืœื”ื™ื•ื•ืฆืจ ื‘ืขื™ื”. ื–ืืช ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉืื ื• ืžืืฆื™ืœื™ื ืืช ื›ืœ ืชืงืจื™ื•ืช ื”-HW ืœืžื”ื ื“ืกื™ื. ื›ืŸ, ื ื™ืชืŸ ื”ื™ื” ืœื”ืฆื™ื’ ืืช ื›ืœ ื”ืชืงืจื™ื•ืช ื‘ืœื•ื— ื”ืžื—ื•ื•ื ื™ื ืฉืœ ื”ืžื ื”ืœ. ืื‘ืœ ื™ืฉ ื”ืจื‘ื” ื›ืืœื”, ื•ื”ืžื ื”ืœ ื”ื™ื” ืžืขื•ืจื‘ ืจืง ื‘ื—ืœืงื.

ื‘ื ื•ืกืฃ, ื”ืžื”ื ื“ืก ืœื ื™ื›ื•ืœ ื”ื™ื” ืœืงื‘ื•ืข ืกื“ืจื™ ืขื“ื™ืคื•ื™ื•ืช ื ื›ื•ืŸ, ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ืœื ื™ื•ื“ืข ื“ื‘ืจ ืขืœ ืžื˜ืจืช ืฉืจืชื™ื ืกืคืฆื™ืคื™ื™ื ืื• ืขืœ ื”ืคืฆืช ืžื™ื“ืข ื‘ื™ืŸ ื›ื•ื ื ื™ื.

ื ื•ื”ืœ ื”ื—ืœืคื” ื—ื“ืฉ

ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืขืฉื™ื ื• ื”ื™ื” ืœื”ืขื‘ื™ืจ ืืช ื›ืœ ืชืงืจื™ื•ืช ื”ื“ื™ืกืง ืœืกื•ื’ ื ืคืจื“ "ื“ื™ืกืง HW" ื•ื”ื•ืกืคื ื• ืœื• ืืช ื”ืฉื“ื•ืช "ืฉื ืžื›ืฉื™ืจ ื—ืกื•ื", "ื’ื•ื“ืœ" ื•"ืกื•ื’ ื“ื™ืกืง" ื›ืš ืฉื”ืžื™ื“ืข ื”ื–ื” ื™ื™ืฉืžืจ ื‘ื›ืจื˜ื™ืก ื•ื™ื”ื™ื” ืœื ืฆืจื™ืš ืœื”ื—ืœื™ืฃ ื›ืœ ื”ื–ืžืŸ ื‘ืฆ'ืื˜.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ืกื™ื›ืžื ื• ื’ื ืฉื‘ืžืงืจื” ืื—ื“ ื ื—ืœื™ืฃ ืจืง ื“ื™ืกืง ืื—ื“. ื–ื” ืคืฉื˜ ืžืฉืžืขื•ืชื™ืช ืืช ืชื”ืœื™ืš ื”ืื•ื˜ื•ืžืฆื™ื”, ืื™ืกื•ืฃ ื”ืกื˜ื˜ื™ืกื˜ื™ืงื” ื•ื”ืขื‘ื•ื“ื” ื‘ืขืชื™ื“.

ื‘ื ื•ืกืฃ, ื”ื•ืกืคื ื• ืืช ื”ืฉื“ื” "ืžื ื”ืœ ืื—ืจืื™". ืžื ื”ืœ ื”ืžืขืจื›ืช ื”ืชื•ืจืŸ ืžื•ื›ื ืก ืœืฉื ืื•ื˜ื•ืžื˜ื™ืช. ื–ื” ืžืื•ื“ ื ื•ื—, ื›ื™ ืขื›ืฉื™ื• ื”ืžื”ื ื“ืก ืชืžื™ื“ ืจื•ืื” ืžื™ ืื—ืจืื™. ืื™ืŸ ืฆื•ืจืš ืœื”ื™ื›ื ืก ืœืœื•ื— ื”ืฉื ื” ื•ืœื—ืคืฉ. ื”ืฉื“ื” ื”ื–ื” ื”ื•ื ืฉืื™ืคืฉืจ ืœื”ืฆื™ื’ ื›ืจื˜ื™ืกื™ื ื‘ืœื•ื— ื”ืžื—ื•ื•ื ื™ื ืฉืœ ื”ืžื ื”ืœ ืฉืขืฉื•ื™ ืœื“ืจื•ืฉ ืืช ืขื–ืจืชื•.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืฉื›ืœ ื”ืžืฉืชืชืคื™ื ื™ืงื‘ืœื• ืžืงืกื™ืžื•ื ืชื•ืขืœืช ืžื—ื™ื“ื•ืฉื™ื, ื™ืฆืจื ื• ืžืกื ื ื™ื ื•ื“ืฉื‘ื•ืจื“ื™ื ื•ืกื™ืคืจื ื• ืขืœื™ื”ื ืœื—ื‘ืจ'ื”. ื›ืฉืื ืฉื™ื ืžื‘ื™ื ื™ื ืฉื™ื ื•ื™ื™ื, ื”ื ืœื ืžืชืจื—ืงื™ื ืžื”ื ื›ืžืฉื”ื• ืžื™ื•ืชืจ. ืœืžื”ื ื“ืก ื—ืฉื•ื‘ ืœื“ืขืช ืืช ืžืกืคืจ ื”-rack ืฉื‘ื• ื ืžืฆื ื”ืฉืจืช, ืืช ื’ื•ื“ืœ ื•ืกื•ื’ ื”ื“ื™ืกืง. ื”ืžื ื”ืœ ืฆืจื™ืš, ืงื•ื“ื ื›ืœ, ืœื”ื‘ื™ืŸ ื‘ืื™ื–ื” ืกื•ื’ ืฉืœ ืงื‘ื•ืฆืช ืฉืจืชื™ื ืžื“ื•ื‘ืจ ื•ืžื” ื”ื”ืฉืคืขื” ืขืœื•ืœื” ืœื”ื™ื•ืช ื‘ืขืช ื”ื—ืœืคืช ื“ื™ืกืง.

ื”ื ื•ื›ื—ื•ืช ืฉืœ ื”ืฉื“ื•ืช ื•ื”ืชืฆื•ื’ื” ืฉืœื”ื ื ื•ื—ื”, ืื‘ืœ ื–ื” ืœื ื”ืฆื™ืœ ืื•ืชื ื• ืžื”ืฆื•ืจืš ืœื”ืฉืชืžืฉ ื‘ืฆ'ืื˜ื™ื. ืœืฉื ื›ืš, ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœืฉื ื•ืช ืืช ื–ืจื™ืžืช ื”ืขื‘ื•ื“ื”.

ื‘ืขื‘ืจ ื–ื” ื”ื™ื” ื›ื›ื”:

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ื›ืš ืžืžืฉื™ื›ื™ื ื”ืžื”ื ื“ืกื™ื ืœืขื‘ื•ื“ ื”ื™ื•ื ื›ืฉื”ื ืื™ื ื ื–ืงื•ืงื™ื ืœืขื–ืจืช ืžื ื”ืœ.

ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืขืฉื™ื ื• ื”ื™ื” ืœื”ืฆื™ื’ ืกื˜ื˜ื•ืก ื—ื“ืฉ ืœื—ืงื•ืจ. ื”ื›ืจื˜ื™ืก ื ืžืฆื ื‘ืžืฆื‘ ื–ื” ื›ืืฉืจ ื”ืžื”ื ื“ืก ื˜ืจื ื”ื—ืœื™ื˜ ื”ืื ื™ื–ื“ืงืง ืœืžื ื”ืœ ืื• ืœื. ื‘ืืžืฆืขื•ืช ืกื˜ื˜ื•ืก ื–ื”, ื”ืžื”ื ื“ืก ื™ื›ื•ืœ ืœื”ืขื‘ื™ืจ ืืช ื”ื›ืจื˜ื™ืก ืœืžื ื”ืœ. ื‘ื ื•ืกืฃ, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืกื˜ื˜ื•ืก ื–ื” ื›ื“ื™ ืœืกืžืŸ ื›ืจื˜ื™ืกื™ื ื›ืืฉืจ ื™ืฉ ืฆื•ืจืš ืœื”ื—ืœื™ืฃ ื“ื™ืกืง, ืืš ื”ื“ื™ืกืง ืขืฆืžื• ืื™ื ื• ื‘ืืชืจ. ื–ื” ืงื•ืจื” ื‘ืžืงืจื” ืฉืœ CDNs ื•ืืชืจื™ื ืžืจื•ื—ืงื™ื.

ื”ื•ืกืคื ื• ื’ื ืกื˜ื˜ื•ืก ืžื•ื›ืŸ. ื”ื›ืจื˜ื™ืก ืžื•ืขื‘ืจ ืืœื™ื• ืœืื—ืจ ื”ื—ืœืคืช ื”ื“ื™ืกืง. ื›ืœื•ืžืจ, ื”ื›ืœ ื›ื‘ืจ ื ืขืฉื”, ืื‘ืœ ื”-HW/SW RAID ืžืกื•ื ื›ืจืŸ ื‘ืฉืจืช. ื–ื” ื™ื›ื•ืœ ืœืงื—ืช ื“ื™ ื”ืจื‘ื” ื–ืžืŸ.

ืื ืžื ื”ืœ ืžืขื•ืจื‘ ื‘ืขื‘ื•ื“ื”, ื”ืชื•ื›ื ื™ืช ื”ื•ืคื›ืช ืงืฆืช ื™ื•ืชืจ ืžืกื•ื‘ื›ืช.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ืžืชื•ืš ืกื˜ื˜ื•ืก ืœื”ืจื—ื™ื‘ ื ื™ืชืŸ ืœืชืจื’ื ืืช ื”ื›ืจื˜ื™ืก ื”ืŸ ืขืœ ื™ื“ื™ ืžื ื”ืœ ื”ืžืขืจื›ืช ื•ื”ืŸ ืขืœ ื™ื“ื™ ื”ืžื”ื ื“ืก. ื‘ืกื˜ื˜ื•ืก ื‘ืชื”ืœื™ืš ื”ืžื ื”ืœ ืžืกื™ืจ ืืช ื”ื“ื™ืกืง ืžืกื™ื‘ื•ื‘ ื›ืš ืฉื”ืžื”ื ื“ืก ื™ื•ื›ืœ ืคืฉื•ื˜ ืœืฉืœื•ืฃ ืื•ืชื• ื”ื—ื•ืฆื”: ืžื“ืœื™ืง ืืช ื”ืชืื•ืจื” ื”ืื—ื•ืจื™ืช, ืžื‘ื˜ืœ ืืช ื”ื˜ืขื™ื ื” ืฉืœ ื”ื“ื™ืกืง, ืขื•ืฆืจ ื™ื™ืฉื•ืžื™ื, ื‘ื”ืชืื ืœืงื‘ื•ืฆืช ื”ืฉืจืชื™ื ื”ืกืคืฆื™ืคื™ืช.

ืœืื—ืจ ืžื›ืŸ ื”ื›ืจื˜ื™ืก ืžื•ืขื‘ืจ ืืœ ืžื•ื›ืŸ ืœืฉื™ื ื•ื™: ื–ื”ื• ืื•ืช ืœืžื”ื ื“ืก ืฉื ื™ืชืŸ ืœืฉืœื•ืฃ ืืช ื”ื“ื™ืกืง. ื›ืœ ื”ืฉื“ื•ืช ื‘ื’'ื™ืจื” ื›ื‘ืจ ืžืžื•ืœืื™ื, ื”ืžื”ื ื“ืก ื™ื•ื“ืข ืื™ื–ื” ืกื•ื’ ื•ื’ื•ื“ืœ ืฉืœ ื”ื“ื™ืกืง. ื ืชื•ื ื™ื ืืœื” ืžื•ื–ื ื™ื ืื•ื˜ื•ืžื˜ื™ืช ื‘ืกื˜ื˜ื•ืก ื”ืงื•ื“ื ืื• ืขืœ ื™ื“ื™ ืžื ื”ืœ ื”ืžืขืจื›ืช.

ืœืื—ืจ ื”ื—ืœืคืช ื”ื“ื™ืกืง, ืžืฆื‘ ื”ื›ืจื˜ื™ืก ืžืฉืชื ื” ืœ ื”ืฉืชื ื”. ื”ื•ื ื‘ื•ื“ืง ืฉื”ื“ื™ืกืง ื”ื ื›ื•ืŸ ื”ื•ื›ื ืก, ื”ื—ืœื•ืงื” ืžืชื‘ืฆืขืช, ื”ืืคืœื™ืงืฆื™ื” ืžื•ืคืขืœืช ื•ื›ืžื” ืžืฉื™ืžื•ืช ืฉื—ื–ื•ืจ ื ืชื•ื ื™ื ืžื•ืคืขืœื•ืช. ื ื™ืชืŸ ื’ื ืœื”ืขื‘ื™ืจ ืืช ื”ื›ืจื˜ื™ืก ืœืกื˜ื˜ื•ืก ืžื•ื›ืŸ, ื‘ืžืงืจื” ื–ื” ื”ืžื ื”ืœ ื™ื™ืฉืืจ ืื—ืจืื™, ื›ื™ ื”ื•ื ื”ื›ื ื™ืก ืืช ื”ื“ื™ืกืง ืœืกื™ื‘ื•ื‘. ื”ืชืจืฉื™ื ื”ืžืœื ื ืจืื” ื›ืš.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ื”ื•ืกืคืช ืชื—ื•ืžื™ื ื—ื“ืฉื™ื ื”ืคื›ื” ืืช ื—ื™ื™ื ื• ืœืงืœื™ื ื”ืจื‘ื” ื™ื•ืชืจ. ื”ื—ื‘ืจ'ื” ื”ืชื—ื™ืœื• ืœืขื‘ื•ื“ ืขื ืžื™ื“ืข ืžื•ื‘ื ื”, ื”ืชื‘ืจืจ ืžื” ืฆืจื™ืš ืœืขืฉื•ืช ื•ื‘ืื™ื–ื” ืฉืœื‘. ืกื“ืจื™ ื”ืขื“ื™ืคื•ื™ื•ืช ื”ืคื›ื• ืœื”ืจื‘ื” ื™ื•ืชืจ ืจืœื•ื•ื ื˜ื™ื™ื, ืžื›ื™ื•ื•ืŸ ืฉื”ื ื ืงื‘ืขื™ื ื›ืขืช ืขืœ ื™ื“ื™ ื”ืžื ื”ืœ.

ืื™ืŸ ืฆื•ืจืš ื‘ืฆ'ืื˜ื™ื. ื›ืžื•ื‘ืŸ, ื”ืžื ื”ืœ ื™ื›ื•ืœ ืœื›ืชื•ื‘ ืœืžื”ื ื“ืก "ืฆืจื™ืš ืœื”ื—ืœื™ืฃ ืืช ื–ื” ืžื”ืจ ื™ื•ืชืจ", ืื• "ื›ื‘ืจ ืขืจื‘, ื”ืื ื™ื”ื™ื” ืœืš ื–ืžืŸ ืœื”ื—ืœื™ืฃ ืื•ืชื•?" ืื‘ืœ ืื ื—ื ื• ื›ื‘ืจ ืœื ืžืชืงืฉืจื™ื ืžื“ื™ ื™ื•ื ื‘ืฆ'ืื˜ื™ื ื‘ื ื•ืฉืื™ื ื”ืืœื”.

ื”ื—ืœื• ืœื”ื—ืœื™ืฃ ื“ื™ืกืงื™ื ื‘ืงื‘ื•ืฆื•ืช. ืื ื”ืžื ื”ืœ ื”ื’ื™ืข ืœืขื‘ื•ื“ื” ืงืฆืช ืžื•ืงื“ื, ื™ืฉ ืœื• ื–ืžืŸ ืคื ื•ื™, ื•ืขื“ื™ื™ืŸ ืœื ืงืจื” ื›ืœื•ื, ื”ื•ื ื™ื›ื•ืœ ืœื”ื›ื™ืŸ ืžืกืคืจ ืฉืจืชื™ื ืœื”ื—ืœืคื”: ืœืžืœื ืืช ื”ืฉื“ื•ืช, ืœื”ื•ืฆื™ื ืืช ื”ื“ื™ืกืงื™ื ืžื”ืกื™ื‘ื•ื‘ ื•ืœื”ืขื‘ื™ืจ ืืช ื”ืžืฉื™ืžื” ืœืžื”ื ื“ืก. ื”ืžื”ื ื“ืก ืžื’ื™ืข ืœืžืจื›ื– ื”ื ืชื•ื ื™ื ืžืขื˜ ืžืื•ื—ืจ ื™ื•ืชืจ, ืจื•ืื” ืืช ื”ืžืฉื™ืžื”, ืœื•ืงื— ืืช ื”ื›ื•ื ื ื™ื ื”ื“ืจื•ืฉื™ื ืžื”ืžื—ืกืŸ ื•ืžื™ื“ ืžื—ืœื™ืฃ ืื•ืชื. ื›ืชื•ืฆืื” ืžื›ืš, ืฉื™ืขื•ืจ ื”ื”ื—ืœืคื” ื’ื“ืœ.

ืœืงื—ื™ื ืฉื ืœืžื“ื• ื‘ืขืช ื‘ื ื™ื™ืช ื–ืจื™ืžืช ืขื‘ื•ื“ื”

  • ื‘ืขืช ื‘ื ื™ื™ืช ื”ืœื™ืš, ืขืœื™ืš ืœืืกื•ืฃ ืžื™ื“ืข ืžืžืงื•ืจื•ืช ืฉื•ื ื™ื.
    ื—ืœืง ืžื”ืžื ื”ืœื™ื ืฉืœื ื• ืœื ื™ื“ืขื• ืฉื”ืžื”ื ื“ืก ืžืฉื ื” ืืช ื”ื“ื™ืกืงื™ื ื‘ืขืฆืžื•. ื—ืœืง ืžื”ืื ืฉื™ื ื—ืฉื‘ื• ืฉืกื ื›ืจื•ืŸ MD RAID ืžื˜ื•ืคืœ ืขืœ ื™ื“ื™ ืžื”ื ื“ืกื™ื, ืœืžืจื•ืช ืฉืœื—ืœืงื ืืคื™ืœื• ืœื ื”ื™ื™ืชื” ื’ื™ืฉื” ืœืขืฉื•ืช ื–ืืช. ื›ืžื” ืžื”ื ื“ืกื™ื ืžื•ื‘ื™ืœื™ื ืขืฉื• ื–ืืช, ืื‘ืœ ืœื ืชืžื™ื“ ื›ื™ ื”ืชื”ืœื™ืš ืœื ืชื•ืืจ ื‘ืฉื•ื ืžืงื•ื.
  • ื”ื”ืœื™ืš ืฆืจื™ืš ืœื”ื™ื•ืช ืคืฉื•ื˜ ื•ืžื•ื‘ืŸ.
    ืงืฉื” ืœืื“ื ืœื–ื›ื•ืจ ืฉืœื‘ื™ื ืจื‘ื™ื. ื™ืฉ ืœืžืงื ืืช ื”ืกื˜ื˜ื•ืกื™ื ื”ืฉื›ื ื™ื ื”ื—ืฉื•ื‘ื™ื ื‘ื™ื•ืชืจ ื‘ื’'ื™ืจื” ื‘ืžืกืš ื”ืจืืฉื™. ืืชื” ื™ื›ื•ืœ ืœืฉื ื•ืช ืืช ืฉืžื, ืœื“ื•ื’ืžื”, ืื ื• ืงื•ืจืื™ื ืœื‘ืขื™ื” ืžื•ื›ื ื” ืœืฉื™ื ื•ื™. ื•ื ื™ืชืŸ ืœื”ืกืชื™ืจ ืกื˜ื˜ื•ืกื™ื ืื—ืจื™ื ื‘ืชืคืจื™ื˜ ื ืคืชื— ื›ืš ืฉื”ื ืœื ื™ืคื’ืขื• ื‘ืขื™ืŸ. ืื‘ืœ ืขื“ื™ืฃ ืœื ืœื”ื’ื‘ื™ืœ ืื ืฉื™ื, ืœืชืช ืœื”ื ืืช ื”ื”ื–ื“ืžื ื•ืช ืœืขืฉื•ืช ืืช ื”ืžืขื‘ืจ.
    ื”ืกื‘ืจ ืืช ื”ืขืจืš ืฉืœ ื—ื“ืฉื ื•ืช. ื›ืฉืื ืฉื™ื ืžื‘ื™ื ื™ื, ื”ื ืžืงื‘ืœื™ื ื™ื•ืชืจ ืืช ื”ื ื•ื”ืœ ื”ื—ื“ืฉ. ื”ื™ื” ืœื ื• ืžืื•ื“ ื—ืฉื•ื‘ ืฉืื ืฉื™ื ืœื ื™ืœื—ืฆื• ืขืœ ื›ืœ ื”ืชื”ืœื™ืš, ืืœื ื™ืขืงื‘ื• ืื—ืจื™ื•. ื•ืื– ื‘ื ื™ื ื• ืขืœ ื–ื” ืื•ื˜ื•ืžืฆื™ื”.
  • ื—ื›ื”, ื ืชื—, ืชื‘ื™ืŸ.
    ืœืงื— ืœื ื• ื›ื—ื•ื“ืฉ ืœื‘ื ื•ืช ืืช ื”ื ื•ื”ืœ, ื”ื™ื™ืฉื•ื ื”ื˜ื›ื ื™, ื”ืคื’ื™ืฉื•ืช ื•ื”ื“ื™ื•ื ื™ื. ื•ื”ื™ื™ืฉื•ื ืœื•ืงื— ื™ื•ืชืจ ืžืฉืœื•ืฉื” ื—ื•ื“ืฉื™ื. ืจืื™ืชื™ ืื™ืš ืื ืฉื™ื ืžืชื—ื™ืœื™ื ืœืื˜ ืœืื˜ ืœื”ืฉืชืžืฉ ื‘ื—ื“ืฉื ื•ืช. ื”ื™ื™ืชื” ื”ืจื‘ื” ืฉืœื™ืœื™ื•ืช ื‘ืฉืœื‘ื™ื ื”ืจืืฉื•ื ื™ื. ืื‘ืœ ื–ื” ื”ื™ื” ื‘ืœืชื™ ืชืœื•ื™ ืœื—ืœื•ื˜ื™ืŸ ื‘ื”ืœื™ืš ืขืฆืžื• ื•ื‘ื™ื™ืฉื•ื ื”ื˜ื›ื ื™ ืฉืœื•. ืœื“ื•ื’ืžื”, ืžื ื”ืœ ืื—ื“ ืœื ื”ืฉืชืžืฉ ื‘-Jira, ืืœื ื‘ืชื•ืกืฃ Jira ื‘-Confluence, ื•ื—ืœืง ืžื”ื“ื‘ืจื™ื ืœื ื”ื™ื• ื–ืžื™ื ื™ื ืœื•. ื”ืจืื™ื ื• ืœื• ืืช Jira, ื•ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ืฉืœ ื”ืžื ื”ืœ ื’ื“ืœื” ื”ืŸ ืขื‘ื•ืจ ืžืฉื™ืžื•ืช ื›ืœืœื™ื•ืช ื•ื”ืŸ ืขื‘ื•ืจ ื”ื—ืœืคืช ื“ื™ืกืงื™ื.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืงื™ื

ื ื™ื’ืฉื ื• ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืงื™ื ืžืกืคืจ ืคืขืžื™ื. ื›ื‘ืจ ื”ื™ื• ืœื ื• ืคื™ืชื•ื—ื™ื ื•ืชืกืจื™ื˜ื™ื, ืื‘ืœ ื›ื•ืœื ืขื‘ื“ื• ื‘ืื•ืคืŸ ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ ืื• ื™ื“ื ื™ ื•ื”ืฆืจื™ื›ื• ื”ืคืขืœื”. ื•ืจืง ืœืื—ืจ ื”ื›ื ืกืช ื”ื ื•ื”ืœ ื”ื—ื“ืฉ ื”ื‘ื ื• ืฉื–ื” ื‘ื“ื™ื•ืง ืžื” ืฉื—ืกืจ ืœื ื•.

ืžื›ื™ื•ื•ืŸ ืฉื›ืขืช ืชื”ืœื™ืš ื”ื”ื—ืœืคื” ืฉืœื ื• ืžื—ื•ืœืง ืœืฉืœื‘ื™ื ืฉืœื›ืœ ืื—ื“ ืžื”ื ื™ืฉ ืžื‘ืฆืข ืกืคืฆื™ืคื™ ื•ืจืฉื™ืžืช ืคืขื•ืœื•ืช, ื ื•ื›ืœ ืœืืคืฉืจ ืื•ื˜ื•ืžืฆื™ื” ื‘ืฉืœื‘ื™ื, ื•ืœื ื‘ื‘ืช ืื—ืช. ืœื“ื•ื’ืžื”, ืืช ื”ืฉืœื‘ ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ - Ready (ื‘ื“ื™ืงืช ืกื ื›ืจื•ืŸ RAID/ื ืชื•ื ื™ื) ื ื™ืชืŸ ืœื”ืืฆื™ืœ ื‘ืงืœื•ืช ืœื‘ื•ื˜. ื›ืฉื”ื‘ื•ื˜ ืœืžื“ ืงืฆืช, ืืคืฉืจ ืœืชืช ืœื• ืžืฉื™ืžื” ื—ืฉื•ื‘ื” ื™ื•ืชืจ - ื”ื›ื ืกืช ื”ื“ื™ืกืง ืœืกื™ื‘ื•ื‘ ื•ื›ื•'.

ื”ื’ื“ืจื•ืช ื’ืŸ ื”ื—ื™ื•ืช

ืœืคื ื™ ืฉื ื“ื‘ืจ ืขืœ ื”ื‘ื•ื˜, ื‘ื•ืื• ื ืฆื ืœืกื™ื•ืจ ืงืฆืจ ืืœ ื’ืŸ ื”ื—ื™ื•ืช ืฉืœ ื”ืžืชืงื ื™ื ืฉืœื ื•. ืงื•ื“ื ื›ืœ, ื–ื” ื ื•ื‘ืข ืžื”ื’ื•ื“ืœ ื”ืขืฆื•ื ืฉืœ ื”ืชืฉืชื™ืช ืฉืœื ื•. ืฉื ื™ืช, ืื ื• ืžื ืกื™ื ืœื‘ื—ื•ืจ ืืช ืชืฆื•ืจืช ื”ื—ื•ืžืจื” ื”ืื•ืคื˜ื™ืžืœื™ืช ืขื‘ื•ืจ ื›ืœ ืฉื™ืจื•ืช. ื™ืฉ ืœื ื• ื›-20 ื“ื’ืžื™ ื—ื•ืžืจื” RAID, ื‘ืขื™ืงืจ LSI ื•-Adaptec, ืื‘ืœ ื™ืฉ ื’ื HP ื•-DELL ืฉืœ ื’ืจืกืื•ืช ืฉื•ื ื•ืช. ืœื›ืœ ื‘ืงืจ RAID ื™ืฉ ื›ืœื™ ื ื™ื”ื•ืœ ืžืฉืœื•. ืขืจื›ืช ื”ืคืงื•ื“ื•ืช ื•ื”ื ืคืงืชืŸ ืขืฉื•ื™ื•ืช ืœื”ื™ื•ืช ืฉื•ื ื•ืช ืžื’ืจืกื” ืœื’ืจืกื” ืขื‘ื•ืจ ื›ืœ ื‘ืงืจ RAID. ื”ื™ื›ืŸ ืฉืœื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-HW-RAID, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘-mdraid.

ืื ื• ืžื‘ืฆืขื™ื ื›ืžืขื˜ ืืช ื›ืœ ื”ื”ืชืงื ื•ืช ื”ื—ื“ืฉื•ืช ืœืœื ื’ื™ื‘ื•ื™ ื“ื™ืกืง. ืื ื• ืžื ืกื™ื ืœื ืœื”ืฉืชืžืฉ ื™ื•ืชืจ ื‘ื—ื•ืžืจื” ื•ืชื•ื›ื ื” RAID, ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืžื’ื‘ื™ื ืืช ื”ืžืขืจื›ื•ืช ืฉืœื ื• ื‘ืจืžืช ืžืจื›ื– ื”ื ืชื•ื ื™ื, ืœื ื‘ืฉืจืชื™ื. ืื‘ืœ ื›ืžื•ื‘ืŸ ืฉื™ืฉ ื”ืจื‘ื” ืฉืจืชื™ื ืžื“ื•ืจ ืงื•ื“ื ืฉืฆืจื™ืš ืœืชืžื•ืš ื‘ื”ื.

ืื™ืคืฉื”ื• ื“ื™ืกืงื™ื ื‘ื‘ืงืจื™ RAID ืžื•ืขื‘ืจื™ื ืœื”ืชืงื ื™ื ื’ื•ืœืžื™ื™ื, ืื™ืคืฉื”ื• ืžืฉืชืžืฉื™ื ื‘-JBOD. ื™ืฉ ืชืฆื•ืจื•ืช ืขื ื“ื™ืกืง ืžืขืจื›ืช ืื—ื“ ื‘ืฉืจืช, ื•ืื ืฆืจื™ืš ืœื”ื—ืœื™ืฃ ืื•ืชื• ืื– ืฆืจื™ืš ืœื”ืชืงื™ืŸ ืžื—ื“ืฉ ืืช ื”ืฉืจืช ืขื ื”ืชืงื ืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ื”ืืคืœื™ืงืฆื™ื•ืช ืฉืœ ืื•ืชืŸ ื’ืจืกืื•ืช ื•ืื– ืœื”ื•ืกื™ืฃ ืงื‘ืฆื™ ืงื•ื ืคื™ื’ื•ืจืฆื™ื”, ืœื”ืคืขื™ืœ ืืคืœื™ืงืฆื™ื•ืช. ื™ืฉ ื’ื ื”ืจื‘ื” ืงื‘ื•ืฆื•ืช ืฉืจืชื™ื ืฉื‘ื”ืŸ ื”ื’ื™ื‘ื•ื™ ืžืชื‘ืฆืข ืœื ื‘ืจืžืช ืชืช-ืžืขืจื›ืช ื”ื“ื™ืกืง, ืืœื ื™ืฉื™ืจื•ืช ื‘ื™ื™ืฉื•ืžื™ื ืขืฆืžื.

ื‘ืกืš ื”ื›ืœ, ื™ืฉ ืœื ื• ืœืžืขืœื” ืž-400 ืงื‘ื•ืฆื•ืช ืฉืจืชื™ื ื™ื™ื—ื•ื“ื™ื•ืช ืฉืžืจื™ืฆื•ืช ื›ืžืขื˜ 100 ื™ื™ืฉื•ืžื™ื ืฉื•ื ื™ื. ื›ื“ื™ ืœื›ืกื•ืช ืžืกืคืจ ืขืฆื•ื ื›ื–ื” ืฉืœ ืืคืฉืจื•ื™ื•ืช, ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ื›ืœื™ ืื•ื˜ื•ืžืฆื™ื” ืจื‘ ืชื›ืœื™ืชื™. ืจืฆื•ื™ ืขื DSL ืคืฉื•ื˜, ื›ื“ื™ ืฉืœื ืจืง ืžื™ ืฉื›ืชื‘ ืื•ืชื• ื™ื•ื›ืœ ืœืชืžื•ืš ื‘ื•.

ื‘ื—ืจื ื• ื‘-Ansible ื›ื™ ื”ื™ื ืœืœื ืกื•ื›ื ื™ื: ืœื ื”ื™ื” ืฆื•ืจืš ืœื”ื›ื™ืŸ ืชืฉืชื™ืช, ื”ืชื—ืœื” ืžื”ื™ืจื”. ื‘ื ื•ืกืฃ, ื”ื•ื ื›ืชื•ื‘ ื‘-Python, ืฉืžืงื•ื‘ืœ ื›ืกื˜ื ื“ืจื˜ ื‘ืชื•ืš ื”ืฆื•ื•ืช.

ืชื›ื ื™ืช ื›ืœืœื™ืช

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ืกื›ื™ืžืช ื”ืื•ื˜ื•ืžืฆื™ื” ื”ื›ืœืœื™ืช ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืื™ืจื•ืข ืื—ื“ ื›ื“ื•ื’ืžื”. Zabbix ืžื–ื”ื” ืฉื“ื™ืกืง ื”-sdb ื›ืฉืœ, ื”ื”ื“ืง ื ื“ืœืง, ื•ื ื•ืฆืจ ื›ืจื˜ื™ืก ื‘ื’'ื™ืจื”. ื”ืžื ื”ืœ ื”ืกืชื›ืœ ืขืœ ื–ื”, ื”ื‘ื™ืŸ ืฉืœื ืžื“ื•ื‘ืจ ื‘ืฉื›ืคื•ืœ ื•ืœื ื‘-false positive, ื›ืœื•ืžืจ ืฆืจื™ืš ืœืฉื ื•ืช ืืช ื”ื“ื™ืกืง, ื•ื”ืขื‘ื™ืจ ืืช ื”ื›ืจื˜ื™ืก ืœ-In progress.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ืืคืœื™ืงืฆื™ื™ืช DiskoBot, ืฉื ื›ืชื‘ื” ื‘- Python, ื‘ื•ื“ืงืช ืžื“ื™ ืคืขื ืืช Jira ื‘ื—ื™ืคื•ืฉ ืื—ืจ ื›ืจื˜ื™ืกื™ื ื—ื“ืฉื™ื. ื”ื•ื ืžื‘ื—ื™ืŸ ืฉื”ื•ืคื™ืข ื›ืจื˜ื™ืก In progress ื—ื“ืฉ, ื”ืฉืจืฉื•ืจ ื”ืžืชืื™ื ืžื•ืคืขืœ, ืžื” ืฉืžืคืขื™ืœ ืืช ืกืคืจ ื”ืžืฉื—ืงื™ื ื‘-Ansible (ื–ื” ื ืขืฉื” ืขื‘ื•ืจ ื›ืœ ืกื˜ื˜ื•ืก ื‘-Jira). ื‘ืžืงืจื” ื–ื”, Prepare2change ืžื•ืคืขืœ.

Ansible ื ืฉืœื— ืœืžืืจื—, ืžืกื™ืจ ืืช ื”ื“ื™ืกืง ืžืกื™ื‘ื•ื‘ ื•ืžื“ื•ื•ื— ืขืœ ื”ืกื˜ื˜ื•ืก ืœืืคืœื™ืงืฆื™ื” ื‘ืืžืฆืขื•ืช Callbacks.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ื‘ื”ืชื‘ืกืก ืขืœ ื”ืชื•ืฆืื•ืช, ื”ื‘ื•ื˜ ืžืขื‘ื™ืจ ืื•ื˜ื•ืžื˜ื™ืช ืืช ื”ื›ืจื˜ื™ืก ืœ'ืžื•ื›ืŸ ืœืฉื™ื ื•ื™'. ื”ืžื”ื ื“ืก ืžืงื‘ืœ ื”ื•ื“ืขื” ื•ื ื™ื’ืฉ ืœื”ื—ืœื™ืฃ ืืช ื”ื“ื™ืกืง, ื•ืœืื—ืจ ืžื›ืŸ ื”ื•ื ืžืขื‘ื™ืจ ืืช ื”ื›ืจื˜ื™ืก ืœ-Changed.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ืขืœ ืคื™ ื”ืชื•ื›ื ื™ืช ืฉืชื•ืืจื” ืœืขื™ืœ, ื”ื›ืจื˜ื™ืก ื—ื•ื–ืจ ืœื‘ื•ื˜, ืืฉืจ ืžืฉื™ืง ืกืคืจ ืžืฉื—ืง ื ื•ืกืฃ, ืขื•ื‘ืจ ืœืžืืจื— ื•ืžื›ื ื™ืก ืืช ื”ื“ื™ืกืง ืœืกื™ื‘ื•ื‘. ื”ื‘ื•ื˜ ืกื•ื’ืจ ืืช ื”ื›ืจื˜ื™ืก. ื”ื™ื“ื“!

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible
ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื›ืžื” ืžืจื›ื™ื‘ื™ื ืฉืœ ื”ืžืขืจื›ืช.

ื“ื™ืกืงื•ื‘ื•ื˜

ื™ื™ืฉื•ื ื–ื” ื›ืชื•ื‘ ื‘ืคื™ื™ืชื•ืŸ. ื”ื•ื ื‘ื•ื—ืจ ื›ืจื˜ื™ืกื™ื ืžื’'ื™ืจื” ืœืคื™ JQL. ื‘ื”ืชืื ืœืžืฆื‘ ื”ื›ืจื˜ื™ืก, ื”ืื—ืจื•ืŸ ืขื•ื‘ืจ ืœืžื˜ืคืœ ื”ืžืงื‘ื™ืœ, ืืฉืจ ื‘ืชื•ืจื• ืžืฉื™ืง ืืช ืกืคืจ ื”ืžืฉื—ืงื™ื ืฉืœ Ansible ื”ืžืชืื™ื ืœืกื˜ื˜ื•ืก.

ืžืจื•ื•ื—ื™ JQL ื•ืžืจื•ื•ื—ื™ ืกืงืจ ืžื•ื’ื“ืจื™ื ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืฉืœ ื”ื™ื™ืฉื•ื.

jira_states:
  investigate:
    jql: 'โ€ฆ status = Open and "Disk Size" is EMPTY'
    interval: 180

  inprogress:
    jql: 'โ€ฆ  and "Disk Size" is not EMPTY and "Device Name" is not EMPTY'
 
  ready:
    jql: 'โ€ฆ and (labels not in ("dbot_ignore") or labels is EMPTY)'
    interval: 7200

ืœื“ื•ื’ืžื”, ื‘ื™ืŸ ื›ืจื˜ื™ืกื™ื ื‘ืกื˜ื˜ื•ืก ื‘ืชื”ืœื™ืš, ื ื‘ื—ืจื™ื ืจืง ืืœื” ืขื ื”ืฉื“ื•ืช ื’ื•ื“ืœ ื“ื™ืกืง ื•ืฉื“ื•ืช ื”ืชืงืŸ ืฉืžื•ืœืื•. ืฉื ื”ืชืงืŸ ื”ื•ื ื”ืฉื ืฉืœ ืžื›ืฉื™ืจ ื”ื—ืกื™ืžื” ื”ื“ืจื•ืฉ ืœื”ืคืขืœืช ืกืคืจ ื”ืžืฉื—ืง. ื™ืฉ ืฆื•ืจืš ื‘ื’ื•ื“ืœ ื”ื“ื™ืกืง ื›ื“ื™ ืฉื”ืžื”ื ื“ืก ื™ื™ื“ืข ืžื” ื’ื•ื“ืœ ื”ื“ื™ืกืง ื”ื“ืจื•ืฉ.

ื•ื‘ื™ืŸ ื›ืจื˜ื™ืกื™ื ืขื ืกื˜ื˜ื•ืก ืžื•ื›ืŸ, ื›ืจื˜ื™ืกื™ื ืขื ื”ืชื•ื•ื™ืช dbot_ignore ืžืกื•ื ื ื™ื. ืื’ื‘, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืชื•ื•ื™ื•ืช Jira ื”ืŸ ืขื‘ื•ืจ ืกื™ื ื•ืŸ ื›ื–ื” ื•ื”ืŸ ืขื‘ื•ืจ ืกื™ืžื•ืŸ ื›ืจื˜ื™ืกื™ื ื›ืคื•ืœื™ื ื•ืื™ืกื•ืฃ ื ืชื•ื ื™ื ืกื˜ื˜ื™ืกื˜ื™ื™ื.

ืื ืกืคืจ ื”ืคืขืœื” ื ื›ืฉืœ, Jira ืžืงืฆื” ืืช ื”ืชื•ื•ื™ืช dbot_failed ื›ืš ืฉื ื™ืชืŸ ื™ื”ื™ื” ืœืžื™ื™ืŸ ืื•ืชื” ืžืื•ื—ืจ ื™ื•ืชืจ.

ื™ื›ื•ืœืช ืคืขื•ืœื” ื”ื“ื“ื™ืช ืขื Ansible

ื”ืืคืœื™ืงืฆื™ื” ืžืชืงืฉืจืช ืขื Ansible ื‘ืืžืฆืขื•ืช Ansible Python API. ืœ-playbook_executor ื ืขื‘ื™ืจ ืืช ืฉื ื”ืงื•ื‘ืฅ ื•ืงื‘ื•ืฆืช ืžืฉืชื ื™ื. ื–ื” ืžืืคืฉืจ ืœืš ืœืฉืžื•ืจ ืขืœ ืคืจื•ื™ืงื˜ Ansible ื‘ืฆื•ืจื” ืฉืœ ืงื‘ืฆื™ yml ืจื’ื™ืœื™ื, ื‘ืžืงื•ื ืœืชืืจ ืื•ืชื• ื‘ืงื•ื“ Python.

ื’ื ื‘-Ansible, ื“ืจืš *extra_vars*, ืฉื ืžื›ืฉื™ืจ ื”ื—ืกื™ืžื”, ืกื˜ื˜ื•ืก ื”ื›ืจื˜ื™ืก, ื•ื›ืŸ ื”-callback_url ืฉืžื›ื™ืœ ืืช ืžืคืชื— issue - ื”ื•ื ืžืฉืžืฉ ืœื”ืชืงืฉืจื•ืช ื—ื•ื–ืจืช ื‘-HTTP.

ืขื‘ื•ืจ ื›ืœ ื”ืฉืงื”, ื ื•ืฆืจ ืžืœืื™ ื–ืžื ื™, ื”ืžื•ืจื›ื‘ ืžืžืืจื— โ€‹โ€‹ืื—ื“ ื•ื”ืงื‘ื•ืฆื” ืฉืืœื™ื” ืžืืจื— ื–ื” ืฉื™ื™ืš, ื›ืš ืฉ-group_vars ืžื•ื—ืœื™ื.

ื”ื ื” ื“ื•ื’ืžื” ืœืžืฉื™ืžื” ื”ืžื™ื™ืฉืžืช HTTP callback.

ืื ื• ืžืงื‘ืœื™ื ืืช ื”ืชื•ืฆืื” ืฉืœ ื‘ื™ืฆื•ืข ืกืคืจื™ ืžืฉื—ืง ื‘ืืžืฆืขื•ืช Callaback(ื™ื). ื”ื ืžืฉื ื™ ืกื•ื’ื™ื:

  • ืชื•ืกืฃ ื”ืชืงืฉืจื•ืช ื—ื•ื–ืจ, ื”ื•ื ืžืกืคืง ื ืชื•ื ื™ื ืขืœ ืชื•ืฆืื•ืช ื”ื‘ื™ืฆื•ืข ืฉืœ ืกืคืจื™ ืžืฉื—ืง. ื”ื•ื ืžืชืืจ ืืช ื”ืžืฉื™ืžื•ืช ืฉื”ื•ืฉืงื•, ื”ื•ืฉืœืžื• ื‘ื”ืฆืœื—ื” ืื• ืฉืœื ื‘ื”ืฆืœื—ื”. ื”ืชืงืฉืจื•ืช ื—ื•ื–ืจืช ื–ื• ื ืงืจืืช ื›ืืฉืจ ืกืคืจ ื”ื”ืฉืžืขื” ืกื™ื™ื ืœืฉื—ืง.
  • ื”ืชืงืฉืจื•ืช ื—ื•ื–ืจืช ืฉืœ HTTP ืœืงื‘ืœืช ืžื™ื“ืข ื‘ื–ืžืŸ ื”ืคืขืœืช ืกืคืจ ื”ืคืขืœื”. ื‘ืžืฉื™ืžื” Ansible ืื ื• ืžื‘ืฆืขื™ื ื‘ืงืฉืช POST/GET ืœืืคืœื™ืงืฆื™ื” ืฉืœื ื•.

ืžืฉืชื ื™ื ืžื•ืขื‘ืจื™ื ื“ืจืš HTTP callback(ื™ื) ืฉื”ื•ื’ื“ืจื• ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ื”-Playbook ื•ืฉืื ื—ื ื• ืจื•ืฆื™ื ืœืฉืžื•ืจ ื•ืœื”ืฉืชืžืฉ ื‘ืจื™ืฆื•ืช ืขื•ืงื‘ื•ืช. ืื ื• ื›ื•ืชื‘ื™ื ืืช ื”ื ืชื•ื ื™ื ื”ืืœื” ื‘-sqlite.

ืื ื• ื’ื ืžืฉืื™ืจื™ื ื”ืขืจื•ืช ื•ืžืฉื ื™ื ืืช ืกื˜ื˜ื•ืก ื”ื›ืจื˜ื™ืก ื‘ืืžืฆืขื•ืช HTTP callback.

ื”ืชืงืฉืจื•ืช ื—ื•ื–ืจืช ืฉืœ HTTP

# Make callback to Diskobot App
# Variables:
#    callback_post_body: # A dict with follow keys. All keys are optional
#       msg: If exist it would be posted to Jira as comment
#       data: If exist it would be saved in Incident.variables
#       desire_state: Set desire_state for incident
#       status: If exist Proceed issue to that status

  - name: Callback to Diskobot app (jira comment/status)
    uri:
      url: "{{ callback_url }}/{{ devname }}"
      user: "{{ diskobot_user }}"
      password: "{{ diskobot_pass }}"
      force_basic_auth: True
      method: POST
      body: "{{ callback_post_body | to_json }}"
      body_format: json
    delegate_to: 127.0.0.1

ื›ืžื• ื”ืจื‘ื” ืžืฉื™ืžื•ืช ืžืื•ืชื• ืกื•ื’, ืื ื—ื ื• ืžื›ื ื™ืกื™ื ืื•ืชื• ืœืงื•ื‘ืฅ ืžืฉื•ืชืฃ ื ืคืจื“ ื•ืžื›ื ื™ืกื™ื ืื•ืชื• ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื›ื“ื™ ืœื ืœื—ื–ื•ืจ ืขืœื™ื• ื›ืœ ื”ื–ืžืŸ ื‘ืกืคืจื™ ืžืฉื—ืง. ื–ื” ื›ื•ืœืœ ืืช ื”-callback_ url, ื”ืžื›ื™ืœื” ืืช ืžืคืชื— ื”ื‘ืขื™ื” ื•ืฉื ื”ืžืืจื—. ื›ืืฉืจ Ansible ืžื‘ืฆืขืช ืืช ื‘ืงืฉืช ื”-POST ื”ื–ื•, ื”ื‘ื•ื˜ ืžื‘ื™ืŸ ืฉื–ื” ื”ื’ื™ืข ื›ื—ืœืง ืžืชืงืจื™ืช ื›ื–ื• ื•ืื—ืจืช.

ื•ื”ื ื” ื“ื•ื’ืžื” ืžืชื•ืš ืกืคืจ ื”ืžืฉื—ืงื™ื, ืฉื‘ื• ืื ื• ืžื•ืฆื™ืื™ื ื“ื™ืกืง ืžื”ืชืงืŸ MD:

  # Save mdadm configuration
  - include: common/callback.yml
    vars:
      callback_post_body:
        status: 'Ready to change'
        msg: "Removed disk from mdraid {{ mdadm_remove_disk.msg | comment_jira }}"
        data:
          mdadm_data: "{{ mdadm_remove_disk.removed }}"
          parted_info: "{{ parted_info | default() }}"
    when:
      - mdadm_remove_disk | changed
      - mdadm_remove_disk.removed

ืžืฉื™ืžื” ื–ื• ืžืขื‘ื™ืจื” ืืช ื›ืจื˜ื™ืก Jira ืœืžืฆื‘ "ืžื•ื›ืŸ ืœืฉื™ื ื•ื™" ื•ืžื•ืกื™ืคื” ื”ืขืจื”. ื›ืžื• ื›ืŸ, ื”ืžืฉืชื ื” mdam_data ืžืื—ืกืŸ ืจืฉื™ืžื” ืฉืœ ื”ืชืงื ื™ md ืฉืžื”ื ื”ื•ืกืจ ื”ื“ื™ืกืง, ื•-parted_info ืžืื—ืกืŸ dump ืžื—ื™ืฆื” ืž-parted.

ื›ืืฉืจ ื”ืžื”ื ื“ืก ืžื›ื ื™ืก ื“ื™ืกืง ื—ื“ืฉ, ื ื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื™ื ืืœื• ื›ื“ื™ ืœืฉื—ื–ืจ ืืช dump ื”ืžื—ื™ืฆื”, ื›ืžื• ื’ื ืœื”ื›ื ื™ืก ืืช ื”ื“ื™ืกืง ืœืžื›ืฉื™ืจื™ md ืฉืžื”ื ื”ื•ื ื”ื•ืกืจ.

ืžืฆื‘ ื‘ื“ื™ืงื” ืืคืฉืจื™

ื–ื” ื”ื™ื” ืžืคื—ื™ื“ ืœื”ืคืขื™ืœ ืืช ื”ืื•ื˜ื•ืžืฆื™ื”. ืœื›ืŸ, ื”ื—ืœื˜ื ื• ืœื”ืคืขื™ืœ ืืช ื›ืœ ืกืคืจื™ ื”ืžืฉื—ืงื™ื ื‘ืžืฆื‘
ืจื™ืฆื” ื™ื‘ืฉื”, ืฉื‘ื• Ansible ืœื ืžื‘ืฆืขืช ืฉื•ื ืคืขื•ืœื” ื‘ืฉืจืชื™ื, ืืœื ืจืง ืžื—ืงื” ืื•ืชื.

ื”ืฉืงื” ื›ื–ื• ืžืชื ื”ืœืช ื‘ืืžืฆืขื•ืช ืžื•ื“ื•ืœ ื”ืชืงืฉืจื•ืช ื—ื•ื–ืจ ื ืคืจื“, ื•ื”ืชื•ืฆืื” ืฉืœ ื‘ื™ืฆื•ืข ืกืคืจ ื”ื”ืคืขืœื” ื ืฉืžืจืช ื‘-Jira ื›ื”ืขืจื”.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ืจืืฉื™ืช, ื–ื” ืื™ืคืฉืจ ืœืืžืช ืืช ื”ืขื‘ื•ื“ื” ืฉืœ ื”ื‘ื•ื˜ ื•ืฉืœ ืกืคืจื™ ื”ืžืฉื—ืงื™ื. ืฉื ื™ืช, ื–ื” ื”ื’ื‘ื™ืจ ืืช ืืžื•ืŸ ื”ืžื ื”ืœื™ื ื‘ื‘ื•ื˜.

ื›ืฉืขื‘ืจื ื• ืืช ื”ืื™ืžื•ืช ื•ื”ื‘ื ื• ืฉืืคืฉืจ ืœื”ืจื™ืฅ ืืช Ansible ืœื ืจืง ื‘ืžืฆื‘ ืจื™ืฆื” ื™ื‘ืฉื”, ื™ืฆืจื ื• ื›ืคืชื•ืจ Run Diskobot ื‘-Jira ื›ื“ื™ ืœื”ืคืขื™ืœ ืืช ืื•ืชื• ืคืœื™ื™ื‘ื•ืง ืขื ืื•ืชื ืžืฉืชื ื™ื ืขืœ ืื•ืชื• ืžืืจื—, ืื‘ืœ ื‘ืžืฆื‘ ืจื’ื™ืœ.

ื‘ื ื•ืกืฃ, ื”ื›ืคืชื•ืจ ืžืฉืžืฉ ืœื”ืคืขืœื” ืžื—ื“ืฉ ืฉืœ ืกืคืจ ื”ื”ืคืขืœื” ืื ื”ื•ื ืงื•ืจืก.

ืžื‘ื ื” ืกืคืจื™ ืžืฉื—ืง

ื›ื‘ืจ ืฆื™ื™ื ืชื™ ืฉื‘ื”ืชืื ืœืžืฆื‘ ืฉืœ ื›ืจื˜ื™ืก Jira, ื”ื‘ื•ื˜ ืžืฉื™ืง ืกืคืจื™ ืžืฉื—ืง ืฉื•ื ื™ื.

ืจืืฉื™ืช, ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœืืจื’ืŸ ืืช ื”ื›ื ื™ืกื”.
ืฉื ื™ืช, ื‘ืžืงืจื™ื ืžืกื•ื™ืžื™ื ื–ื” ืคืฉื•ื˜ ื”ื›ืจื—ื™.

ืœื“ื•ื’ืžื”, ื‘ืขืช ื”ื—ืœืคืช ื“ื™ืกืง ืžืขืจื›ืช, ืชื—ื™ืœื” ืขืœื™ืš ืœืขื‘ื•ืจ ืœืžืขืจื›ืช ื”ืคืจื™ืกื”, ืœื™ืฆื•ืจ ืžืฉื™ืžื”, ื•ืœืื—ืจ ืคืจื™ืกื” ื ื›ื•ื ื”, ื”ืฉืจืช ื™ื”ืคื•ืš ืœื ื’ื™ืฉ ื‘ืืžืฆืขื•ืช ssh, ื•ืชื•ื›ืœ ืœื’ืœื’ืœ ืขืœื™ื• ืืช ื”ืืคืœื™ืงืฆื™ื”. ืื ื ืขืฉื” ืืช ื›ืœ ื–ื” ื‘ืกืคืจ ืžืฉื—ืง ืื—ื“, ืื– Ansible ืœื ื™ื•ื›ืœ ืœื”ืฉืœื™ื ืื•ืชื• ื‘ื’ืœืœ ืฉื”ืžืืจื— ืœื ื–ืžื™ืŸ.

ืื ื• ืžืฉืชืžืฉื™ื ื‘ืชืคืงื™ื“ื™ Ansible ืขื‘ื•ืจ ื›ืœ ืงื‘ื•ืฆืช ืฉืจืชื™ื. ื›ืืŸ ืชื•ื›ืœื• ืœืจืื•ืช ื›ื™ืฆื“ ืžืื•ืจื’ื ื™ื ืกืคืจื™ ื”ืžืฉื—ืง ื‘ืื—ื“ ืžื”ื.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ื–ื” ื ื•ื— ื›ื™ ื‘ืจื•ืจ ืžื™ื“ ื”ื™ื›ืŸ ืžืžื•ืงืžื•ืช ื”ืžืฉื™ืžื•ืช. ื‘-main.yml, ืฉื”ื•ื ื”ืงืœื˜ ืœืชืคืงื™ื“ Ansible, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืคืฉื•ื˜ ืœื›ืœื•ืœ ืœืคื™ ืกื˜ื˜ื•ืก ื›ืจื˜ื™ืก ืื• ืžืฉื™ืžื•ืช ื›ืœืœื™ื•ืช ื”ื ื“ืจืฉื•ืช ืœื›ื•ืœื, ืœืžืฉืœ, ื”ืขื‘ืจืช ื–ื™ื”ื•ื™ ืื• ืงื‘ืœืช ืืกื™ืžื•ืŸ.

ื—ืงื™ืจื”.yml

ืจืฅ ืœื›ืจื˜ื™ืกื™ื ื‘ืกื˜ื˜ื•ืก ื—ืงื™ืจื” ื•ืคืชื•ื—. ื”ื“ื‘ืจ ื”ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ ืขื‘ื•ืจ ืกืคืจ ื”ืžืฉื—ืง ื”ื–ื” ื”ื•ื ืฉื ืžื›ืฉื™ืจ ื”ื—ืกื™ืžื”. ืžื™ื“ืข ื–ื” ืœื ืชืžื™ื“ ื–ืžื™ืŸ.

ื›ื“ื™ ืœื”ืฉื™ื’ ืื•ืชื•, ืื ื• ืžื ืชื—ื™ื ืืช ืกื™ื›ื•ื Jira, ื”ืขืจืš ื”ืื—ืจื•ืŸ ืžื”ื˜ืจื™ื’ืจ ืฉืœ Zabbix. ื”ื•ื ืขืฉื•ื™ ืœื”ื›ื™ืœ ืืช ื”ืฉื ืฉืœ ืžื›ืฉื™ืจ ื”ื—ืกื™ืžื” - ืžื–ืœ. ืื• ืฉื”ื•ื ืขืฉื•ื™ ืœื”ื›ื™ืœ ื ืงื•ื“ืช ื”ืจื›ื‘ื”, ืื– ืืชื” ืฆืจื™ืš ืœืœื›ืช ืœืฉืจืช, ืœื ืชื— ืื•ืชื• ื•ืœื—ืฉื‘ ืืช ื”ื“ื™ืกืง ื”ื ื“ืจืฉ. ื”ื˜ืจื™ื’ืจ ื™ื›ื•ืœ ื’ื ืœืฉื“ืจ ื›ืชื•ื‘ืช scsi ืื• ืžื™ื“ืข ืื—ืจ. ืื‘ืœ ืงื•ืจื” ื’ื ืฉืื™ืŸ ืจืžื–ื™ื, ื•ืฆืจื™ืš ืœื ืชื—.

ืœืื—ืจ ืฉื’ื™ืœื™ื ื• ืืช ืฉื ื”ืชืงืŸ ื”ื‘ืœื•ืง, ืื ื• ืื•ืกืคื™ื ืžืžื ื• ืžื™ื“ืข ืขืœ ืกื•ื’ ื•ื’ื•ื“ืœ ื”ื“ื™ืกืง ื›ื“ื™ ืœืžืœื ืืช ื”ืฉื“ื•ืช ื‘ื’'ื™ืจื”. ืื ื• ื’ื ืžืกื™ืจื™ื ืžื™ื“ืข ืขืœ ื”ืกืคืง, ื”ื“ื’ื, ื”ืงื•ืฉื—ื”, ื”ืžื–ื”ื”, SMART, ื•ืžื›ื ื™ืกื™ื ืืช ื›ืœ ื–ื” ืœื”ืขืจื” ื‘ื›ืจื˜ื™ืก Jira. ื”ืžื ื”ืœ ื•ื”ืžื”ื ื“ืก ืื™ื ื ืฆืจื™ื›ื™ื ืขื•ื“ ืœื—ืคืฉ ื ืชื•ื ื™ื ืืœื”. ๐Ÿ™‚

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

prepare2change.yml

ื”ืกืจืช ื”ื“ื™ืกืง ืžืกื™ื‘ื•ื‘, ื”ื›ื ื” ืœื”ื—ืœืคื”. ื”ืฉืœื‘ ื”ืงืฉื” ื•ื”ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ. ื–ื” ื”ืžืงื•ื ืฉื‘ื• ืืชื” ื™ื›ื•ืœ ืœืขืฆื•ืจ ืืช ื”ื™ื™ืฉื•ื ื›ืืฉืจ ืœื ืฆืจื™ืš ืœืขืฆื•ืจ ืื•ืชื•. ืื• ืœื”ื•ืฆื™ื ื“ื™ืกืง ืฉืœื ื”ื™ื• ื‘ื• ืžืกืคื™ืง ื”ืขืชืงื™ื, ื•ื‘ื›ืš ืœื”ืฉืคื™ืข ืขืœ ื”ืžืฉืชืžืฉื™ื, ืื•ื‘ื“ืŸ ื ืชื•ื ื™ื. ื›ืืŸ ื™ืฉ ืœื ื• ื”ื›ื™ ื”ืจื‘ื” ื‘ื“ื™ืงื•ืช ื•ื”ืชืจืื•ืช ื‘ืฆ'ืื˜.

ื‘ืžืงืจื” ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ, ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ื”ืกืจืช ื“ื™ืกืง ืž-HW/MD RAID.

ื‘ืžืฆื‘ื™ื ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ (ื‘ืžืขืจื›ื•ืช ื”ืื—ืกื•ืŸ ืฉืœื ื•), ื›ืืฉืจ ื”ื’ื™ื‘ื•ื™ ืžืชื‘ืฆืข ื‘ืจืžืช ื”ืืคืœื™ืงืฆื™ื”, ืฆืจื™ืš ืœืขื‘ื•ืจ ืœืืคืœื™ืงืฆื™ื” ื“ืจืš ื”-API, ืœื“ื•ื•ื— ืขืœ ืคืœื˜ ื”ื“ื™ืกืง, ืœื‘ื˜ืœ ืื•ืชื• ื•ืœื”ืชื—ื™ืœ ื‘ืฉื—ื–ื•ืจ.

ื›ืขืช ืื ื• ืžื”ื’ืจื™ื ื‘ื”ืžื•ื ื™ื”ื ืืœ ื”ืขื ืŸ, ื•ืื ื”ืฉืจืช ืžื‘ื•ืกืก ืขืœ ืขื ืŸ, ืื– Diskobot ืžืชืงืฉืจ ืœ-API ืฉืœ ื”ืขื ืŸ, ืื•ืžืจ ืฉื”ื•ื ื”ื•ืœืš ืœืขื‘ื•ื“ ืขื ื”ืžื™ื ื™ื•ืŸ ื”ื–ื” - ื”ืฉืจืช ืฉืžืจื™ืฅ ืงื•ื ื˜ื™ื™ื ืจื™ื - ื•ืžื‘ืงืฉ "ื”ืขื‘ืจ ืืช ื›ืœ ื”ืงื•ื ื˜ื™ื™ื ืจื™ื ืžื”ืžื™ื ื™ื•ืŸ ื”ื–ื”". ื•ื‘ืžืงื‘ื™ืœ ืžื“ืœื™ืง ืืช ื”ืชืื•ืจื” ื”ืื—ื•ืจื™ืช ืฉืœ ื”ื“ื™ืกืง ื›ืš ืฉื”ืžื”ื ื“ืก ื™ื•ื›ืœ ืœืจืื•ืช ืžื™ื“ ืื™ื–ื” ืžื”ื ืฆืจื™ืš ืœืฉืœื•ืฃ.

change.yml

ืœืื—ืจ ื”ื—ืœืคืช ื“ื™ืกืง, ืื ื• ื‘ื•ื“ืงื™ื ืชื—ื™ืœื” ืืช ื–ืžื™ื ื•ืชื•.

ืžื”ื ื“ืกื™ื ืœื ืชืžื™ื“ ืžืชืงื™ื ื™ื ื›ื•ื ื ื™ื ื—ื“ืฉื™ื, ืื– ื”ื•ืกืคื ื• ื‘ื“ื™ืงื” ืœื’ื‘ื™ ืขืจื›ื™ SMART ืฉืžืกืคืงื™ื ืื•ืชื ื•.

ืขืœ ืื™ืœื• ืชื›ื•ื ื•ืช ืื ื—ื ื• ืžืกืชื›ืœื™ื?ืกืคื™ืจืช ืžื’ื–ืจื™ื ืฉื”ื•ืงืฆื• ืžื—ื“ืฉ (5) < 100
ืกืคื™ืจืช ืกืงื˜ื•ืจ ืžืžืชื™ื ื” ื ื•ื›ื—ื™ืช (107) == 0

ืื ื”ื›ื•ื ืŸ ื ื›ืฉืœ ื‘ื‘ื“ื™ืงื”, ื”ืžื”ื ื“ืก ืžืงื‘ืœ ื”ื•ื“ืขื” ืœื”ื—ืœื™ืฃ ืื•ืชื• ืฉื•ื‘. ืื ื”ื›ืœ ืชืงื™ืŸ, ื”ืชืื•ืจื” ื”ืื—ื•ืจื™ืช ื ื›ื‘ื™ืช, ืกื™ืžื•ื ื™ื ืžื•ื—ืœื™ื ื•ื”ื“ื™ืกืง ืžื•ืขื‘ืจ ืœืกื™ื‘ื•ื‘.

ready.yml

ื”ืžืงืจื” ื”ืคืฉื•ื˜ ื‘ื™ื•ืชืจ: ื‘ื“ื™ืงืช ืกื ื›ืจื•ืŸ ืคืฉื™ื˜ื” ืฉืœ โ€‹โ€‹HW/SW ืื• ืกื™ื•ื ืกื ื›ืจื•ืŸ ื ืชื•ื ื™ื ื‘ืืคืœื™ืงืฆื™ื”.

API ืฉืœ ื™ื™ืฉื•ืžื™ื

ืฆื™ื™ื ืชื™ ืžืกืคืจ ืคืขืžื™ื ืฉื”ื‘ื•ื˜ ืžืจื‘ื” ืœื’ืฉืช ืœืžืžืฉืงื™ API ืฉืœ ื™ื™ืฉื•ืžื™ื. ื›ืžื•ื‘ืŸ, ืœื ืœื›ืœ ื”ื™ื™ืฉื•ืžื™ื ื”ื™ื• ื”ืฉื™ื˜ื•ืช ื”ื“ืจื•ืฉื•ืช, ื•ืœื›ืŸ ื”ื™ื” ืฆื•ืจืš ืœืฉื ื•ืช ืื•ืชืŸ. ืœื”ืœืŸ ื”ืฉื™ื˜ื•ืช ื”ื—ืฉื•ื‘ื•ืช ื‘ื™ื•ืชืจ ื‘ื”ืŸ ืื ื• ืžืฉืชืžืฉื™ื:

  • ืกื˜ึธื˜ื•ึผืก. ืกื˜ื˜ื•ืก ืฉืœ ืืฉื›ื•ืœ ืื• ื“ื™ืกืง ื›ื“ื™ ืœื”ื‘ื™ืŸ ืื ื ื™ืชืŸ ืœืขื‘ื•ื“ ืื™ืชื•;
  • ื”ืชื—ืœ ื”ืคืกืง. ื”ืคืขืœื”/ื›ื™ื‘ื•ื™ ืฉืœ ื“ื™ืกืง;
  • ื”ืขื‘ืจ/ืฉื—ื–ืจ. ื”ืขื‘ืจืช ื ืชื•ื ื™ื ื•ืฉื—ื–ื•ืจ ื ืชื•ื ื™ื ื‘ืžื”ืœืš ื•ืื—ืจื™ ื”ื—ืœืคื”.

ืœืงื—ื™ื ืž-Ansible

ืื ื™ ืžืื•ื“ ืื•ื”ื‘ ืืช Ansible. ืื‘ืœ ืœืขืชื™ื ืงืจื•ื‘ื•ืช, ื›ืฉืื ื™ ืžืกืชื›ืœ ืขืœ ืคืจื•ื™ืงื˜ื™ื ืฉื•ื ื™ื ืฉืœ ืงื•ื“ ืคืชื•ื— ื•ืจื•ืื” ืื™ืš ืื ืฉื™ื ื›ื•ืชื‘ื™ื ืกืคืจื™ ืžืฉื—ืง, ืื ื™ ืงืฆืช ืžืคื—ื“. ืฉื–ื™ืจื” ืœื•ื’ื™ืช ืžื•ืจื›ื‘ืช ืฉืœ ืžืชื™/ืœื•ืœืื”, ื—ื•ืกืจ ื’ืžื™ืฉื•ืช ื•ืื™ืžืคื•ื˜ื ื˜ื™ื•ืช ืขืงื‘ ืฉื™ืžื•ืฉ ืชื›ื•ืฃ ื‘ืžืขื˜ืคืช/ืคืงื•ื“ื”.

ื”ื—ืœื˜ื ื• ืœืคืฉื˜ ื”ื›ืœ ื›ื›ืœ ื”ืืคืฉืจ, ืชื•ืš ื ื™ืฆื•ืœ ื”ื™ืชืจื•ืŸ ืฉืœ Ansible - ืžื•ื“ื•ืœืจื™ื•ืช. ื‘ืจืžื” ื”ื’ื‘ื•ื”ื” ื‘ื™ื•ืชืจ ื™ืฉ ืกืคืจื™ ืžืฉื—ืง; ื”ื ื™ื›ื•ืœื™ื ืœื”ื™ื›ืชื‘ ืขืœ ื™ื“ื™ ื›ืœ ืžื ื”ืœ, ืžืคืชื— ืฆื“ ืฉืœื™ืฉื™ ืฉืžื›ื™ืจ ืงืฆืช ืืช Ansible.

- name: Blink disk
  become: True
  register: locate_action
  disk_locate:
      locate: '{{ locate }}'
      devname: '{{ devname }}'
      ids: '{{ locate_ids | default(pd_id) | default(omit) }}'

ืื ื”ื™ื’ื™ื•ืŸ ืžืกื•ื™ื ืงืฉื” ืœื™ื™ืฉื ื‘ืกืคืจื™ ืžืฉื—ืง, ืื ื• ืžืขื‘ื™ืจื™ื ืื•ืชื• ืœืžื•ื“ื•ืœ ืื• ืœืคื™ืœื˜ืจ ืฉืœ Ansible. ื ื™ืชืŸ ืœื›ืชื•ื‘ ืกืงืจื™ืคื˜ื™ื ื‘-Python ืื• ื‘ื›ืœ ืฉืคื” ืื—ืจืช.

ื”ื ืงืœื™ื ื•ืžื”ื™ืจื™ื ืœื›ืชื™ื‘ื”. ืœื“ื•ื’ืžื”, ืžื•ื“ื•ืœ ื”ืชืื•ืจื” ื”ืื—ื•ืจื™ืช ืฉืœ ื”ื“ื™ืกืง, ืฉื“ื•ื’ืžื” ืฉืœื• ืžื•ืฆื’ืช ืœืขื™ืœ, ืžื•ืจื›ื‘ ืž-265 ืฉื•ืจื•ืช.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ื‘ืžืคืœืก ื”ื ืžื•ืš ื‘ื™ื•ืชืจ ื ืžืฆืืช ื”ืกืคืจื™ื™ื”. ืขื‘ื•ืจ ื”ืคืจื•ื™ืงื˜ ื”ื–ื”, ื›ืชื‘ื ื• ืืคืœื™ืงืฆื™ื” ื ืคืจื“ืช, ืžืขื™ืŸ ื”ืคืฉื˜ื” ืขืœ RAID ืฉืœ ื—ื•ืžืจื” ื•ืชื•ื›ื ื” ืฉืžื‘ืฆืขื™ื ืืช ื”ื‘ืงืฉื•ืช ื”ืžืชืื™ืžื•ืช.

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื”ื—ืœืคืช ื“ื™ืกืง ืขื Ansible

ื”ื—ื•ื–ืงื•ืช ื”ื’ื“ื•ืœื•ืช ื‘ื™ื•ืชืจ ืฉืœ Ansible ื”ืŸ ื”ืคืฉื˜ื•ืช ืฉืœื” ื•ื—ื•ื‘ืจื•ืช ื”ืžืฉื—ืงื™ื ื”ื‘ืจื•ืจื•ืช ืฉืœื”. ืื ื™ ืžืืžื™ืŸ ืฉืืชื” ืฆืจื™ืš ืœื”ืฉืชืžืฉ ื‘ื–ื” ื•ืœื ืœื™ืฆื•ืจ ืงื‘ืฆื™ yaml ืžืคื—ื™ื“ื™ื ื•ืžืกืคืจ ืขืฆื•ื ืฉืœ ืชื ืื™ื, ืงื•ื“ ืžืขื˜ืคืช ื•ืœื•ืœืื•ืช.

ืื ืืชื” ืจื•ืฆื” ืœื—ื–ื•ืจ ืขืœ ื”ื ื™ืกื™ื•ืŸ ืฉืœื ื• ืขื Ansible API, ื–ื›ื•ืจ ืฉื ื™ ื“ื‘ืจื™ื:

  • ืœื ื ื™ืชืŸ ืœืชืช ืคืกืง ื–ืžืŸ ืœ-Playbook_executor ื•ืœ-Playbooks ื‘ืื•ืคืŸ ื›ืœืœื™. ื™ืฉ ืคืกืง ื–ืžืŸ ื‘ื”ืคืขืœื” ืฉืœ ssh, ืื‘ืœ ืื™ืŸ ืคืกืง ื–ืžืŸ ื‘ืกืคืจ ื”ืžืฉื—ืงื™ื. ืื ื ื ืกื” ืœื‘ื˜ืœ ื“ื™ืกืง ืฉื›ื‘ืจ ืœื ืงื™ื™ื ื‘ืžืขืจื›ืช, ื”-Playbook ื™ืจื•ืฅ ื‘ืœื™ ืกื•ืฃ, ืื– ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœืขื˜ื•ืฃ ืืช ื”ื”ืฉืงื” ืฉืœื• ื‘ืขื˜ื™ืคื” ื ืคืจื“ืช ื•ืœื”ืจื•ื’ ืื•ืชื• ืขื ืคืกืง ื–ืžืŸ.
  • Ansible ืคื•ืขืœ ืขืœ ืชื”ืœื™ื›ื™ื ืžืคื•ืฆืœื™ื, ื›ืš ืฉื”-API ืฉืœื• ืื™ื ื• ื‘ื˜ื•ื— ื‘ืฉืจืฉื•ืจ. ืื ื—ื ื• ืžืคืขื™ืœื™ื ืืช ื›ืœ ืกืคืจื™ ื”ืžืฉื—ืงื™ื ืฉืœื ื• ืขื ื—ื•ื˜ ืื—ื“.

ื›ืชื•ืฆืื” ืžื›ืš, ื”ืฆืœื—ื ื• ืœื”ืคื•ืš ืืช ื”ื”ื—ืœืคื” ืฉืœ ื›-80% ืžื”ื“ื™ืกืงื™ื ืœืื•ื˜ื•ืžื˜ื™ื™ื. ื‘ืกืš ื”ื›ืœ, ืฉื™ืขื•ืจ ื”ื”ื—ืœืคื” ื”ื•ื›ืคืœ. ื”ื™ื•ื, ื”ืžื ื”ืœ ืจืง ืžืกืชื›ืœ ืขืœ ื”ืื™ืจื•ืข ื•ืžื—ืœื™ื˜ ืื ืฆืจื™ืš ืœืฉื ื•ืช ืืช ื”ื“ื™ืกืง ืื• ืœื, ื•ืื– ืขื•ืฉื” ืงืœื™ืง ืื—ื“.

ืื‘ืœ ืขื›ืฉื™ื• ืื ื—ื ื• ืžืชื—ื™ืœื™ื ืœื”ื™ืชืงืœ ื‘ื‘ืขื™ื” ื ื•ืกืคืช: ื›ืžื” ืžื ื”ืœื™ ืžืขืจื›ืช ื—ื“ืฉื™ื ืœื ื™ื•ื“ืขื™ื ืื™ืš ืœื”ื—ืœื™ืฃ ื›ื•ื ื ื™ื. ๐Ÿ™‚

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”