@H_404_0@一下内容是我根据其他博主的博客,和自己的实验总结的cobbler批量部署的步骤。
@H_404_0@1 关闭防火墙,关闭selinux
@H_404_0@2 yum安装相应的工具
@H_404_0@ yum install -y httpd dhcp tftp cobbler cobbler-web pykickstart xinetd
@H_404_0@3 启动tftp rsync xinetd
@H_404_0@ [root@bogon ~]# chkconfig tftp on
@H_404_0@ [root@bogon ~]# chkconfig rsync on
@H_404_0@ [root@bogon ~]# service xinetd start
@H_404_0@4、配置Cobbler主配置文件
@H_404_0@在启动Cobbler服务之前,你需要修改一些配置文件。在修改每一个文件之前最好先备份下当前的文件。
@H_404_0@Cobblerd的配置文件为/etc/cobbler/settings,这个文件是YAML信息的格式文件。
@H_404_0@根据需要修改 cobbler主配置文件: /etc/cobbler/settings
@H_404_0@Server 和 Next_Server
@H_404_0@server 选项用于为cobbler 服务器指定ip地址,请不要使用0.0.0.0,设置一个你希望和cobbler服务器通过http和tftp等协议链接的IP。
@H_404_0@# sed -i 's/server: 127.0.0.1/server: 192.168.200.1/g' /etc/cobbler/settings
@H_404_0@next_server选项是DHCP/PXE网络引导文件被下载的TFTP服务器的IP,在本例中它将和server设置为同一个IP
@H_404_0@# sed -i 's/next_server: 127.0.0.1/next_server: 192.168.200.1/g' /etc/cobbler/settings
@H_404_0@防止误重装系统
@H_404_0@pxe安装只允许一次,防止误操作 ( 在正式环境有用。实际测试来看,这个功能可以屏蔽掉 )
@H_404_0@# sed -i 's/pxe_just_once: 0/pxe_just_once: 1/g' /etc/cobbler/settings
@H_404_0@生成root随机密码
@H_404_0@命令格式 openssl passwd -1 -salt ‘随机字符’ ‘密码’
@H_404_0@这个命令的用法,-salt后面跟随机字符可以随便写,-1 代表用MD5加密,这个密码就是安装完系统root的密码了
@H_404_0@[root@bogon ~]# openssl passwd -1 -salt '12345678' 121121
@H_404_0@$1$12345678$herNBEwHp2fzlPGLG.RXj1
@H_404_0@将上面的加密串加入cobbler配置文件中。
@H_404_0@# vi /etc/cobbler/settings
@H_404_0@default_password_crypted: "$1$12345678$fEDuDQ4Xt2vqatvip.4XR0"
@H_404_0@Cobbler管理rsync
@H_404_0@默认为0,不对rsync进行管理,可以修改为1 进行管理
@H_404_0@# sed -i 's/manage_rsync: 0/manage_rsync: 1/g' /etc/cobbler/settings
@H_404_0@Cobbler管理dhcp
@H_404_0@为了pxe的启动,需要一个DHCP服务器地址,并直接引导系统,它可以在网络中下载引导文件到TFTP的服务器,cobbler可以通过manage_dhcp的设置来进行管理
@H_404_0@配置dhcp服务
@H_404_0@首先修改cobbler配置,让cobbler来管理dhcp服务,在做自定义配置时,需要修改dhcp相关配置,以配合PXE启动用,编辑文件/etc/cobbler/settings
@H_404_0@manage_dhcp: 1 (注:默认为0,表示不进行管理dhcp服务,可以修改为1,对其进行管理。此为使cobbler管理dhcp也就是后面用于同步更新配置信息[cobbler sync])
@H_404_0@也可用命令修改:
@H_404_0@# sed -i 's/manage_dhcp: 0/manage_dhcp: 1/g' /etc/cobbler/settings
@H_404_0@关闭cobbler管理dns
@H_404_0@修改配置文件为 manage_dns 0
@H_404_0@5 修改cobbler管理DHCP的模板
@H_404_0@/etc/cobbler/dhcp.template,此文件是cobbler管理dhcp的模板,确保DHCP分配的地址和Cobbler在同一网段
@H_404_0@修改为自己需要的配置
@H_404_0@subnet 192.168.21.0 netmask 255.255.255.0 {
@H_404_0@ option routers 192.168.21.1;
@H_404_0@ option domain-name-servers 114.114.114.114;
@H_404_0@ option subnet-mask 255.255.255.0;
@H_404_0@ range dynamic-bootp 192.168.21.40 192.168.21.49;
@H_404_0@如果是多网卡需要指定DHCP服务的网络接口
@H_404_0@#vi /etc/sysconfig/dhcpd
@H_404_0@修改内容如下:
@H_404_0@#Command line options here DHCPDARGS=eth0
@H_404_0@DHCPDARGS=eth0
@H_404_0@修改后要执行
@H_404_0@cobbler sync
@H_404_0@service dhcpd start
@H_404_0@6 下载cobbler所需的引导文件
@H_404_0@ cobbler get-loaders
@H_404_0@7 重启cobbler服务
@H_404_0@service cobblerd restart
@H_404_0@8 执行下发配置命令
@H_404_0@cobbler sync
@H_404_0@9 执行检查cobbler配置命令
@H_404_0@cobbler check
@H_404_0@根据报错提示处理那些必须解决的问题
@H_404_0@10 挂载镜像文件(也可以挂载光驱)
@H_404_0@[root@bogon ~]# mount -o loop -t iso9660 CentOS-6.8-x86_64-bin-DVD1.iso /mnt/centos6
@H_404_0@[root@bogon ~]# mount -o loop -t iso9660 CentOS-7-x86_64-DVD-1611.iso /mnt/centos7
@H_404_0@11 给cobbler导入系统镜像
@H_404_0@cobbler import --path=/mnt/centos6 --name=centos6.8 --arch=x86_64
@H_404_0@cobbler import --path=/mnt/centos7 --name=centos7 --arch=x86_64
@H_404_0@根据设备性能不同,时间长短也不同
@H_404_0@主要有以下几个参数--path 指定导入镜像的路径,--name 指定导入镜像的名称,--arch 指定导入镜像的架构(32位还是64位)。这个安装源的唯一标示就是根据--name和--arch这两个参数来定义
@H_404_0@12 查看导入的镜像文件
@H_404_0@[root@bogon ~]# cobbler profile list
@H_404_0@centos6.8-x86_64
@H_404_0@centos7-x86_64
@H_404_0@13 查看cobbler仓库中的系统版本信息
@H_404_0@[root@bogon ~]# cobbler profile report
@H_404_0@Name : centos7-x86_64
@H_404_0@TFTP Boot Files : {}
@H_404_0@Comment :
@H_404_0@DHCP Tag : default
@H_404_0@Distribution : centos7-x86_64
@H_404_0@Enable gPXE? : 0
@H_404_0@Enable PXE Menu? : 1
@H_404_0@Fetchable Files : {}
@H_404_0@Kernel Options : {}
@H_404_0@Kernel Options (Post Install) : {}
@H_404_0@Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks #这里显示此系统版本使用的是系统自带的kickstart文件
@H_404_0@14 编辑kcikstart.ks文件
@H_404_0@最好在传统安装方式成功的操作系统中找到anaconda-ks.cfg文件,这个文件就是本机安装时的ks文件,这个文件是不能直接用在网络安装中的,需要做对应更改
@H_404_0@ks文件不能有中文
@H_404_0@安装方式使用http协议(这也是为什么要安装httpd服务的一个原因),在制定url路径的时候,要保证在浏览器端可以访问系统镜像所在的目录。
@H_404_0@虚拟机半成品的ks文件-cents6.5
@H_404_0@# Kickstart file automatically generated by anaconda.
@H_404_0@#version=DEVEL
@H_404_0@install
@H_404_0@url --url=http://192.168.21.19/mnt/centos6.5 //根据实际情况更改
@H_404_0@lang zh_CN.UTF-8
@H_404_0@keyboard us
@H_404_0@network --onboot no --device eth0 --bootproto dhcp --noipv6
@H_404_0@rootpw 121121 // root的加密密码怎么设置还不知道
@H_404_0@firewall --service=ssh
@H_404_0@authconfig --enableshadow --passalgo=sha512
@H_404_0@selinux --enforcing
@H_404_0@reboot //这个位置必须要加reboot,否则安装完会等待人工重启
@H_404_0@timezone --utc Asia/Shanghai
@H_404_0@bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"
@H_404_0@# The following is the partition information you requested
@H_404_0@# Note that any partitions you deleted are not expressed
@H_404_0@# here so unless you clear all partitions first,this is
@H_404_0@# not guaranteed to work
@H_404_0@#clearpart --none
@H_404_0@clearpart --all --initlabel //这个位置必须这么写,否则会让你交互式的选择安装的磁盘
@H_404_0@part /boot --fstype=ext4 --size=200 //分区还没有按照预想的设置成功
@H_404_0@part / --fstype=ext4 --grow --asprimary --size=10000
@H_404_0@part swap --size=2000
@H_404_0@repo --name="CentOS" --baseurl=http://192.168.21.19/mnt/centos6.5 --cost=100 //这个位置也必须按照实际情况修改
@H_404_0@%packages //安装包的安装应该还可以简化
@H_404_0@@chinese-support
@H_404_0@@console-internet
@H_404_0@@core
@H_404_0@@debugging
@H_404_0@@hardware-monitoring
@H_404_0@@network-tools
@H_404_0@@performance
@H_404_0@@server-policy
@H_404_0@@workstation-policy
@H_404_0@%end
@H_404_0@
@H_404_0@dell服务器上安装centos7的ks文件
@H_404_0@#version=RHEL7
@H_404_0@# System authorization information
@H_404_0@auth --enableshadow --passalgo=sha512
@H_404_0@# Use CDROM installation media
@H_404_0@url --url=http://192.168.10.11/centos7
@H_404_0@# Use graphical install
@H_404_0@graphical
@H_404_0@# Run the Setup Agent on first boot
@H_404_0@firstboot --enable
@H_404_0@ignoredisk --only-use=sda
@H_404_0@#Keyboard layouts
@H_404_0@keyboard --vckeymap=cn --xlayouts='cn'
@H_404_0@# System language
@H_404_0@# Network information
@H_404_0@network --bootproto=dhcp --device=eno16777736 --ipv6=auto
@H_404_0@network --hostname=localhost.localdomain
@H_404_0@# Root password
@H_404_0@rootpw 121121
@H_404_0@reboot
@H_404_0@# System timezone
@H_404_0@timezone Asia/Shanghai --isUtc
@H_404_0@# System bootloader configuration
@H_404_0@bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
@H_404_0@# Partition clearing information
@H_404_0@clearpart --all --initlabel
@H_404_0@# Disk partitioning information
@H_404_0@part / --fstype="xfs" --ondisk=sda --size=30720
@H_404_0@part /boot --fstype="xfs" --ondisk=sda --size=500
@H_404_0@part /usr --fstype="xfs" --ondisk=sda --size=48648
@H_404_0@part swap --fstype="swap" --ondisk=sda --size=2048
@H_404_0@part /home --fstype="xfs" --ondisk=sda --size=20480
@H_404_0@part /var --fstype="xfs" --ondisk=sda --size=20480
@H_404_0@repo --name="CentOS" --baseurl=http://192.168.10.11/centos7 --cost=100
@H_404_0@%packages
@H_404_0@@development
@H_404_0@kexec-tools
@H_404_0@%addon com_redhat_kdump --enable --reserve-mb='auto'
@H_404_0@%end
@H_404_0@15 给镜像文件指定ks文件
@H_404_0@[root@zabbixandsvn kickstarts]# cobbler profile edit --name=centos7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.kc.cfg