基于cobbler完成自动批量部署centos
一 系统环境
node1 :
eth1---10.0.10.1(使用vmnet2网卡)
eth0---192.168.3.11
node2:测试节点
网卡设备也使用(使用vmnet2网卡)
yum源:
centos自带光盘源
epel源
二 配置步骤
1.配置dhcp服务
1.在node1节点上配置第二张网卡eth1,并安装dhcp(若要编译安装的话关注:ics.org)
#ifconfig eth1 10.0.10.1/24 up
#yum install dhcp -y
2.配置dhcp配置文件:复制样例配置文件到/etc/dhcp/dhcpd.conf,并进行配置
#cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf #vim /etc/dhcp/dhcpd.conf .....除了下述定义的几项之外的都可以注释掉............ option domain-name "vega.ict"; #定义搜索域的域名为mageedu.com option domain-name-servers 192.168.3.1; #定义全局搜索域名的服务器的地址为192.168.3.1 default-lease-time 43200; #定义默认”租约“期限为43200s max-lease-time 86400; #定义最大租约期限为86400s #标记为其分配地址的网络为10.0.10.0网络 subnet 10.0.10.0 netmask 255.255.255.0 { range 10.0.10.21 10.0.10.50; #指明分配的ip范围,即地址池 option routers 10.0.10.1 #指明网关地址10.0.10.1 filename "pxelinux.0"; #指明Client基于网络引导加载的第一个文件,才能引导加载的 }
3.重启dhcpd服务,确保67号端口处于监听状态
#service dhcpd restart # ss -tunl | grep 67 确保iptables规则关闭 #iptables -L -n 查看租约文件的信息 #tail /var/lib/dhcpd/dhcpd.leases
到这里dhcp服务就配置好了,下面进行第二个步骤:搭建tftp服务器
2.配置安装好tftp服务器
1.安装tfp-server 和tftp程序包
# yum install tftp tftp-server -y #rpm -ql tftp-server /etc/xinted.d/tftp #表示tftp是使用超级守护进程xinted.d代为管理的守护进程 /var/lib/tftpboot #表示tftp服务器为客户端提供文件的目录 ....
2.启动服务tftp,并查看69号端口是否监听
#chkconfig tftp on #service xinetd start #ss -tunl | grep 69
3.配置好cobbler
1.安装cobbler相关包:cobbler cobbler-web pykickstart debmirror httpd syslinux
#yum install cobbler cobbler-web pykickstart debmirror httpd syslinux -y
【注意:手动安装tftp、dhcp好服务器后,其中dhcp中的配置文件中的filname必须要有,但next server可以不再直接启用了,配置好dhcp服务器(不用配置tftp服务器)】
2. 后启动httpd,dhcpd,cobblerd服务器
# service httpd start # service cobblerd start
3.更改cobbler的配置文件
#cd /etc/cobbler/ #vim settings ....找到如下一项并更改为: server: 10.0.10.1 #更改为本机提供cobbler服务的地址
4.重启cobblerd服务
#service cobblerd restart #cobbler check
5.更改cobbler的配置文件
#cd /etc/cobbler #vim settings .....找到next_server 这一项,改为 next_server:10.0.10.1 #vim /etc/xinetd.d/rsync (或#chkconfig rsync on) ...找到disable = yes改为no即可 #service xinetd restart #ss -tnlp | grep xinetd
#vim /etc/debmirror.conf ....注释掉dists和archs这两行 #vim settings ....找到default_password_crypted:"#######" (采用#openssl passwd -1 -salt `openssl rand -hex 4`,输入密码,并将生成的密码串替换引号中的#######)
6.完成更改后进行同步
#cobbler sync 发现会生成cobbler文件 #cd /var/lib/tftpboot #ls 列出当前的核心组件 #cobbler list (1.cobbler repo help )
7.挂载好光盘
#umount /dev/sr0 #mount -t iso9660 /dev/sr0 /media
8.导入光盘的文件,指明挂载的路径,即自动生成了yum源,然后再进行同步,同步完成后重启cobblerd
获取导入帮助
#cobbler import --help #cobbler import --path=/media/ --name=centos-6.6_x86_64
若遇到许多bug,如python***什么之类的
解决方法:# service cobblerd restart ;#cobbler get-loaders
#cd /var/www #ls #cd cobbler/images/centos-6.6_x86_64 #ls #cd /etc/httpd/conf.d/ #ls ...cobbler.conf cobbler的配置文件 加入成功后必须进行同步 #cobbler sync #cobbler sync #cobbler distro list #cobbler profile list #cobbler repo list #service cobblerd restart
9.添加新的profile
#cobbler profile add --help 准备好特定的kickstart文件:centos6.6-x86_64.cfg,下载好至本地 (我这里是放在我自己的ftp服务器下面的,然后下载下来即可) # mv kickstart.ks centos6.6-x86_64.cfg #vim centos6.6-x86_64.cfg ...找到如下几项并修改如下: url --url="http://10.0.10.1/cobbler/ks_mirror/centos6.6-x86_64" #cp centos6.6-x86_64.cfg /var/lib/cobbler/kickstarts/ #cobbler distro list 添加一个新的profile #cobbler profile add --name="centos6.6-x86_64-web" --distro=centos6.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.6-x86_64.cfg #cobbler profile list #cobbler sync 每一次同步以后会在/var/lib/tftpboot/pxelinux.cfg/default文件中创建一个LABEL*** 然后新建虚拟机进行网络安装即可
10.此时,我们可以创建一个虚拟机node2,不安装操作系统,并将其网卡设备接口改为vmnet2,然后启动即可完成cobbler的自动化安装centos系统
11 cobbler-web的使用
#cd /etc/cobbler 使用htdigest为cobbler用户生成认证信息 #htdigest /etc/cobbler/users.digest "Cobbler" cobbler 输入密码 #cobbler sync #service cobbler restart
在浏览器中输入:10.0.10.1/cobbler-web,登录即可