Linux基礎(chǔ)教程之自動化運維工具Cobbler
自動化運維:
隨著信息時代的持續(xù)發(fā)展,IT運維已經(jīng)成為IT服務(wù)內(nèi)涵中重要的組成部分。面對越來越復(fù)雜的業(yè)務(wù),面對越來越多樣化的用戶需求,不斷擴展的IT應(yīng)用需要越來越合理的模式來保障IT服務(wù)能靈活便捷、安全穩(wěn)定地持續(xù)保障,這種模式中的保障因素就是IT運維(其他因素是更加優(yōu)越的IT架構(gòu)等)。從初期的幾臺服務(wù)器發(fā)展到龐大的數(shù)據(jù)中心,單靠人工已經(jīng)無法滿足在技術(shù)、業(yè)務(wù)、管理等方面的要求,那么標準化、自動化、架構(gòu)優(yōu)化、過程優(yōu)化等降低IT服務(wù)成本的因素越來越被人們所重視。其中,自動化最開始作為代替人工操作為出發(fā)點的訴求被廣泛研究和應(yīng)用。
運維操作:
系統(tǒng)安裝(物理機、虛擬機)–>程序安裝、配置、服務(wù)啟動–>批量操作(批量運行命令)–>程序發(fā)布–>監(jiān)控
運維工具Ops:
OS Povisoning: 安裝OS
Cloud: image template
Physical: PXE,Cobbler
Configuration:程序安裝、配置、服務(wù)啟動
ansible(Python), puppet(ruby), saltstack(Python)新生比較難
Command and Control:批量操作
ansible, fabric
Cobbler介紹:
Cobbler能夠快速建立多系統(tǒng)同時安裝的網(wǎng)絡(luò)系統(tǒng)安裝環(huán)境;傳統(tǒng)的pxe+dhcp+tftp+kickstart僅能夠提供單一系統(tǒng)安裝,功能過于簡單;如果遇到安裝不同操作系統(tǒng)時就遇到瓶頸;而cobbler正好解決了這一問題。Cobbler是多安裝樹的PXE環(huán)境,是PXE的高級封裝。
Cobbler由不同的組件配合完成系統(tǒng)安裝,各組件之間配合如下圖所示:
三個核心組件:
repository:
mirror
import
distribution:表示一個操作系統(tǒng)。它承載了內(nèi)核和 initrd 的信息,以及內(nèi)核參數(shù)等其他數(shù)據(jù)
profile:包含一個發(fā)行版、一個 kickstart 文件以及可能的存儲庫,還包含更多特定的內(nèi)核參數(shù)等其他數(shù)據(jù)。
Cobbler安裝:(主要在VMware測試環(huán)境下需設(shè)置網(wǎng)卡為NAT模式并關(guān)閉其DHCP功能)
yum install cobbler cobbler-web pykickstart debmirror(支持安裝debain系統(tǒng)) httpd sysLinux dhcp tftp-server
安裝dhcp-server:
yum install dhcp-server
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
啟動:
systemctl start httpd????systemctl start rsyncd systemctl start cobblerd
檢查cobbler環(huán)境問題:
cobbler check
執(zhí)行“cobbler check命令檢查存的問題,而后逐一按提示解決之。常見的問題如下所示:
.
如上各問題的解決方法如下所示:
1、修改/etc/cobbler/settings文件中的server參數(shù)的值為提供cobbler服務(wù)的主機相應(yīng)的IP地址或主機名,如192.168.139.100;
2、修改/etc/cobbler/settings文件中的next_server參數(shù)的值為提供PXE服務(wù)的主機相應(yīng)的IP地址,如192.168.139.100;
3、如果當(dāng)前節(jié)點可以訪問互聯(lián)網(wǎng),執(zhí)行“cobbler get-loaders”命令即可;否則,需要安裝sysLinux程序包,而后復(fù)制/usr/share/sysLinux/{pxeLinux.0,memu.c32}等文件至/var/lib/cobbler/loaders/目錄中;
4、執(zhí)行“chkconfig rsync on”命令即可;
5、注釋/etc/debmirror.conf文件中的“@dists="sid";”一行;
6、注釋/etc/debmirror.conf文件中的“@arches="i386";”一行;
7、執(zhí)行“openssl passwd -1 -salt $(openssl rand -hex 4)”生成密碼,并用其替換/etc/cobbler/settings文件中default_password_crypted參數(shù)的值;
8、執(zhí)行“yum install cman fence-agents”命令安裝相應(yīng)的程序包即可;
cobbler通過import導(dǎo)入方式添加distro文件:
先導(dǎo)入centos6.5映像文件至光盤然后掛載到mnt目錄
[root@cobble ~]# mount -r /dev/cdrom /mnt
#kickstart文件可按實際需要制作,這里直接修改cobbler里的kickstart里的安裝模板,添加關(guān)鍵配置項如下:
cp /var/lib/cobbler/kickstarts/sample_end.ks /var/lib/cobbler/kickstarts/CentOs-6.5-x86_64.cfg
?添加新的profile的文件:(centos6和centos7文件系統(tǒng)不一樣不能使用同一個profile文件)
cobbler profile add –name="Centos6.5-x86_64Mn" –distro="Centos6.5-x86_64"
–kickstart=/var/lib/cobbler/kickstarts/CentOs-6.5-x86_64.cfg
Centos7在文件/var/lib/tftpboot/pxeLinux.cfg/default? Centos7欄目append initrd后面添加
inst.repo=http://192.168.139.100/cobbler/ks_mirror/Centos-7.0-x86_64
1
|
<br />
|
Cobbler 更簡單:Web 界面
您可能希望輕松地可視化 Cobbler 對象,并為每天的重復(fù)任務(wù)重用對象值。Cobbler 提供了一個很有用的 Web 界面,您可以通過該界面實現(xiàn)此目的。要使用這個界面,首先需要安裝它的程序包:
yum?-y?install?cobbler-web
安裝該程序包后,配置 Cobbler 授權(quán)和身份驗證系統(tǒng),以便您可以登錄。配置位于文件 /etc/cobbler/modules.conf 中
可使用 LDAP、PAM 和配置文件等身份驗證選項。因為 PAM 非常常見,所以使用它執(zhí)行身份驗證。在授權(quán)一節(jié)中,定義哪些用戶擁有使用該工具的官方許可。將 module 值設(shè)置為
1
|
authz_ownership
|
,以便您可在 users.conf 文件中指定誰能夠訪問 Web 界面。配置類似于清單 10 中的代碼:
清單 10. Cobbler Web 界面的身份驗證和授權(quán)配置
[authentication]
module?=?authn_pam
[authorization]
module?=?authz_ownership
存該文件。接下來,您需要一個名為
1
|
myuser
|
的系統(tǒng)用戶(如果沒有,可使用
1
|
useradd myuser && passwd myuser
|
創(chuàng)建)。然后,打開文件 /etc/cobbler/users.conf 并將
1
|
myuser
|
添加到 admins 組(這個組擁有對象的完整訪問權(quán))
配置已完成。現(xiàn)在,重新啟動 Cobbler 和 Apache 服務(wù)以應(yīng)用更改:
systemctl?restart?cobblerd?
systemctl??restart?httpd
Web?界面很簡單:左側(cè)的菜單顯示了配置類(比如存儲庫、系統(tǒng)、發(fā)行版和配置文件)、資源(用于配置管理)和操作(導(dǎo)入、同步)。單擊一個配置類,就會在屏幕右側(cè)列出所有對象。可通過每一項旁邊的按鈕(Edit、Copy、Rename、Delete)應(yīng)用列表過濾器和執(zhí)行不同操作