Cobbler介紹
- Cobbler是一個Linux服務器安裝的服務,可以通過網絡啓動(PXE)的方式來快速安裝、重裝物理服務器和虛擬機,同時還可以管理DHCP,DNS等。
- Cobbler可以使用命令行方式管理,也提供了基於Web的界面管理工具(cobbler-web),還提供了API接口,可以方便二次開發使用。
- Cobbler是較早前的kickstart的升級版,優點是比較容易配置,還自帶web界面比較易於管理。
- Cobbler內置了一個輕量級配置管理系統,但它也支持和其它配置管理系統集成,如Puppet,暫時不支持SaltStack。
1,安裝cobbler和必要的組件
[root@localhost ~]# yum install epel-release -y ##安裝epel源
[root@localhost ~]# yum install -y \
> cobbler \ ##安裝cobbler\
> cobbler-web \ ##網頁形式管理
> dhcp \ ##地址分配服務
> tftp-server \ ##放壓縮和引導文件
> pykickstart \ ##Python開發的kickstart
> httpd \ ##網絡服務
> rsync \ ##遠程同步管理
> xinetd ##管理平臺
2,修改cobbler的配置文件
[root@localhost ~]# cd /etc/cobbler/
[root@localhost cobbler]# vim settings ##修改配置文件
next_server: 192.168.13.140 ##修改服務地址爲本地
server: 192.168.13.140
manage_dhcp: 1 ##dhcp開啓
[root@localhost cobbler]# systemctl start httpd.service ##開啓http服務
[root@localhost cobbler]# systemctl start cobblerd.service ##開啓cobbler服務
[root@localhost cobbler]# systemctl stop firewalld.service ##關閉防火牆
[root@localhost cobbler]# setenforce 0 ##關閉增強功能
3,優化cobbler
[root@localhost cobbler]# cobbler check ##cobbler檢測需要優化項
##下面會列出需要優化的東西,根據優化項進項優化即可
[root@localhost cobbler]# vim /etc/xinetd.d/tftp ##進行tftp優化
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no ##此處yes改爲no
per_source = 11
cps = 100 2
flags = IPv4
}
[root@localhost cobbler]# systemctl enable rsyncd.service ##優化開啓遠程同步管理服務
[root@localhost cobbler]# openssl passwd -1 -salt 'abc123' 'abc123' ##優化設置管理員密碼
$1$abc123$9v8z2./E/PZihXrVcy3II0 ##複製此段是鹽值加密過後的密文
[root@localhost cobbler]# vim /etc/cobbler/settings ##修改配置文件
##查找default然後將加密的密文複製到此處
default_password_crypted: "$1$abc123$9v8z2./E/PZihXrVcy3II0"
[root@localhost cobbler]# systemctl start rsyncd.service ##啓動服務
[root@localhost cobbler]# systemctl restart xinetd.service
4,配置dhcp服務
[root@localhost cobbler]# vim /etc/cobbler/dhcp.template ##修改配置文件
subnet 192.168.13.0 netmask 255.255.255.0 { ##修改網段
option routers 192.168.13.1; ##網關
option domain-name-servers 192.168.13.2; ##dns地址
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.13.100 192.168.13.200; ##地址池
[root@localhost cobbler]# cobbler sync ##同步生成DHCP配置文件(/etc/dhcp/dhcpd.conf)
[root@localhost cobbler]# systemctl restart dhcpd.service ##啓動dhcp服務
[root@localhost cobbler]# systemctl start cobblerd.service ##啓動cobbler服務
[root@localhost cobbler]# systemctl start xinetd.service ##啓動管理平臺服務
5,導入ISO鏡像文件
先連接鏡像文件,並掛載到/mnt目錄下
[root@localhost cobbler]# mount /dev/cdrom /mnt ##將鏡像掛載到/mnt目錄下
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost cobbler]# cd /mnt/
[root@localhost mnt]# ls ##查看鏡像文件
CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7
EFI images Packages RPM-GPG-KEY-CentOS-Testing-7
EULA isolinux repodata TRANS.TBL
導入鏡像文件
[root@localhost mnt]# cobbler import --path=/mnt/ --name=Centos-7-x86_64 --arch=x86_64
##導入鏡像文件指明路徑,生成名字
[root@localhost mnt]# cd /var/www/cobbler/ks_mirror/ ##切換到cobbler目錄下
[root@localhost ks_mirror]# ls
Centos-7-x86_64 config
[root@localhost ks_mirror]# cobbler list ##查看文件信息
distros:
Centos-7-x86_64
profiles:
Centos-7-x86_64
systems:
repos:
images:
mgmtclasses:
packages:
files:
查看壓縮內核和引導文件
[root@localhost ks_mirror]# yum install tree -y ##安裝tree工具
[root@localhost ks_mirror]# tree /var/lib/tftpboot/images ##查看壓縮內核和引導文件
/var/lib/tftpboot/images
└── Centos-7-x86_64
├── initrd.img ##引導文件
└── vmlinuz ##壓縮內核
全部重啓服務
[root@localhost ks_mirror]# systemctl restart cobblerd.service
[root@localhost ks_mirror]# systemctl restart dhcpd.service
[root@localhost ks_mirror]# systemctl restart xinetd.service
[root@localhost ks_mirror]# systemctl restart httpd.service
6,創建一臺沒有系統的虛擬機,開啓自動安裝系統(字符界面)
安裝圖形界面
代碼:[root@localhost ~]#yum groupinstall "GNOME Desktop"
代碼:[root@localhost ~]# yum groupinstall 'KDE Plasma Workspaces" -y
代碼:[root@localhost ~]# yum groupinstall "X Window System" 或者"Graphical Administration Tools"
7,利用cobbler的web管理
[root@localhost ks_mirror]# vim /etc/cobbler/modules.conf ##配置模塊配置文件
module = authn_configfile ##默認開啓
[root@localhost ks_mirror]# htdigest -c /etc/cobbler/users.digest Cobbler adadmin ##創建用戶密碼
Adding password for adadmin in realm Cobbler.
New password: ##輸入密碼
Re-type new password:
[root@localhost ks_mirror]# systemctl restart cobblerd.service ##重啓cobbler服務
[root@localhost ks_mirror]# systemctl restart httpd.service ##重啓httpd服務
8,網頁訪問cobbler的web管理
9,啓用pam認證,身份登錄
[root@localhost ks_mirror]# vim /etc/cobbler/modules.conf ##修改模塊配置文件
[authentication]
module = authn_pam ##修改成pam認證模塊
[authorization]
module = authz_ownership ##指定訪問權限
[root@localhost ks_mirror]# useradd webuser ##創建系統用戶
[root@localhost ks_mirror]# passwd webuser ##設置密碼
更改用戶 webuser 的密碼 。
新的 密碼:
無效的密碼: 密碼少於 8 個字符
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost ks_mirror]# vim /etc/cobbler/users.conf ##修改cobbler下的users.conf文件
[admins]
admin = ""
cobbler = ""
webuser = "" ##添加用戶
[root@localhost ks_mirror]# systemctl restart httpd.service ##重啓服務
[root@localhost ks_mirror]# systemctl restart cobblerd.service