Cobbler是一款Linux生态的自动化运维工具,基于Python2开发,用于自动化批量部署安装操作系统;其提供基于CLI的管理方式和WEB配置界面,其中WEB配置界面是基于Python2和Django框架开发。另外,cobbler还提供了API,方便二次开发。Cobbler属于C/S模型(客户端/服务器模型)
1、查看系统版本
# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core) (备注本次部署是在Centos7中进行)
# uname -rm
3.10.0-229.el7.x86_64 x86_64
2、安装epel源,安装epel库
#yum install -y epel-release#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
3、安装cobbler环境所需的包
下载最新版的pip,然后安装
#wget https://bootstrap.pypa.io/get-pip.py#python get-pip.py#ln -s /usr/local/python27/bin/pip2.7 /usr/bin/pip2#pip2 install Django==1.8.9
4、开始安装cobbler
#yum install -y httpd dhcp tftp tftp-server rsync pykickstart xinetd #yum install -y cobbler
5、centos7安装cobbler-web(cobbler-web2.8版本必须用django1.8.9版本)
#yum install httpd-devel#yum install -y cobbler-web
6、配置HTTPD的配置文件,更改项目存放的权限
#vim /etc/httpd/conf/httpd.conf
<Directory "/usr/share/cobbler/web/"> ???????<IfModule mod_ssl.c> ???????????SSLRequireSSL ???????</IfModule> ???????<IfModule mod_nss.c> ???????????NSSRequireSSL ???????</IfModule> ???????SetEnv VIRTUALENV ???????Options Indexes MultiViews ???????Order allow,deny ????##apache2.4必须改为AllowOverride All ???????Allow from all ????##apache2.4必须改为Require all granted ???????</Directory>
7、开启服务和加开机启动
#systemctl enable xinetd#systemctl start xinetd#systemctl start httpd#systemctl start cobblerd#systemctl enable httpd#systemctl enable cobblerd#systemctl enable rsyncd#systemctl start rsyncd
8、检查cobbler
#cobbler check
???按照上面的提示,逐步修改配置如下:
修改cobbler的settings文件,备份
# cp /etc/cobbler/settings{,.ori} ????
修改server,Cobbler服务器的IP。
#sed -i \\\'s/server: 127.0.0.1/server: 192.168.0.131/\\\' /etc/cobbler/settings
如果用Cobbler管理DHCP,修改本项
#sed -i \\\'s/next_server: 127.0.0.1/next_server: 192.168.0.131/\\\' /etc/cobbler/settings#sed -i \\\'s/manage_dhcp: 0/manage_dhcp: 1/\\\' /etc/cobbler/settings
防止循环装系统,适用于服务器第一启动项是PXE启动。
#sed -i \\\'s/pxe_just_once: 0/pxe_just_once: 1/\\\' /etc/cobbler/settings
设置新装系统的默认root密码123456。random-phrase-here为干扰码,可以自行设定。
# openssl passwd -1 -salt \\\'cobbler\\\' \\\'123456\\\'
$1$cobbler$sqDDOBeLKJVmxTCZr52/11
# vim /etc/cobbler/settings
default_password_crypted: “$1$cobbler$sqDDOBeLKJVmxTCZr52/11”
修改tftp配置,启用tftp
#vim /etc/xinetd.d/tftp ?
将disable = yes改为:disable = no
配置DHCP
# vim /etc/cobbler/dhcp.template
配置修改如下:
subnet 192.168.1.0 netmask 255.255.255.0 {option routers192.168.1.1;option domain-name-servers 114.114.114.114;option subnet-mask255.255.255.0;range dynamic-bootp10.0.0.100 10.0.0.200;
下载boot-loaders
#cobbler get-loaders
同步配置
#systemctl restart cobblerd#cobbler sync
9、导入镜像到cobbler中
#mount /dev/cdrom /mnt#cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
10、编辑kickstart文件
#cd /var/lib/cobbler/kickstarts/#vim CentOS-7-x86_64.cfg
配置文件如下:
#Kickstart Configurator for cobbler by Jason Zhao#platform=x86, AMD64, or Intel EM64T#System ?languagelang en_US#System keyboardkeyboard us#Sytem timezonetimezone Asia/Shanghai#Root passwordrootpw --iscrypted $default_password_crypted#Use text mode installtext#Install OS instead of upgradeinstall#Use NFS installation Mediaurl --url=$tree#System bootloader configurationbootloader --location=mbr#Clear the Master Boot Recordzerombr#Partition clearing informationclearpart --all --initlabel#Disk partitioning informationpart /boot --fstype xfs --size 1024 --ondisk sdapart swap --size 1024 --ondisk sdapart / --fstype xfs --size 1 --grow --ondisk sda#System authorization infomationauth ?--useshadow ?--enablemd5#Network information$SNIPPET(\\\'network_config\\\')#network --bootproto=dhcp --device=em1 --onboot=on# Reboot after installationreboot#Firewall configurationfirewall --disabled#SELinux configurationselinux --disabled#Do not configure XWindowsskipx#Package install information%pre$SNIPPET(\\\'log_ks_pre\\\')$SNIPPET(\\\'kickstart_start\\\')$SNIPPET(\\\'pre_install_network_config\\\')# Enable installation monitoring$SNIPPET(\\\'pre_anamon\\\')%end %packages@ base@ coresysstatiptrafntplrzszncurses-developenssl-develzlib-develOpenIPMI-toolsmysqlnmapscreen%end %postsystemctl disable postfix.service%end
11、更改centos6和centos7的ks文件位置
#cobbler profile edit --name=CentOS-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-x86_64.cfg
12、Cobbler 常用命令
cobbler check #检查cobbler配置
cobbler sync #同步配置到dhcp/pxe和数据目录
cobbler list #列出所有的cobbler元素
cobbler import #导入安装的系统镜像
cobbler report #列出各元素的详细信息
cobbler distro #查看导入的发行版系统信息
cobbler profile #查看配置信息
cobbler system #查看添加的系统信息
cobbler reposync #同步yum仓库到本地
13、查看详细配置信息,这里把centos7配置信息都显示了
# cobbler profile report# cobbler sync
14、配置绑定mac地址和IP地址 ,开机自动选择
# cobbler system add --name=centos711 --mac=00:0C:29:70:E8:A3 --profile=Centos-7-x86_64 ?--ip-address=192.168.0.40 --subnet=255.255.255.0 --gateway=192.168.0.1 --interface=eth0 --static=1 --hostname=centos711 --name-servers="223.5.5.5"# cobbler sync
到此cento7系统的也可以装机了