使用cobbler实现批量自动部署Linux
16lz
2021-01-22
Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像。下面一步步来实现吧
实验平台:rhel 6.3 x86_64一.环境准备1.1 安装dhcp
- cobbler.laoguang.me192.168.1.23
1.2 安装其它所需服务如:tftp xinetd httpd ##靠tftp传输文件,tftp依赖xinetd,httpd这个我暂时不清楚
- yum-yinstalldhcp
1.3 关闭selinux iptables
- yum-yinstalltftpxinetdhttpd
二.安装cobbler2.1 下载安装cobbler与依赖的包python-yaml下载地址:http://www.kuaipan.cn/file/id_33139203151758501.html ,其它平台的可以去http://rpm.pbone.net/找,这个网站你一定不能忘记
- setenforce0
- serviceiptablesstop
2.2 启动cobbler
- yum-y--nogpgchecklocalinstallcobbler-2.2.2-1.el6.rf.noarch.rpm\
- python-yaml-3.09-3.el6.rf.x86_64.rpm
2.3 启动httpd
- servicecobblerdstart
2.4启用xinetd
- servicehttpdstart
2.4 cobbler 检查配置
- servicexinetdstart
- cobblercheck
2.5 重启cobbler
- --------------------------------------------
- Thefollowingarepotentialconfigurationitemsthatyoumaywanttofix:
- 1:The'server'fieldin/etc/cobbler/settingsmustbesettosomethingotherthanlocalhost,
- orkickstartingfeatureswillnotwork.ThisshouldbearesolvablehostnametheorIPforboot
- serverasreachablebyallmachinesthatwilluseit.
- 修改/etc/cobbler/settings中server选项为:
- server:192.168.1.23
- 2:ForPXEtobefunctional,the'next_server'fieldin/etc/cobbler/settingsmustbesetto
- somethingotherthan127.0.0.1,andshouldmatchtheIPofthebootserveronthePXEnetwork.
- 修改/etc/cobbler/settings中next_server选项为:
- next_server:192.168.1.23
- 3:Mustenableaselinuxbooleantoenablevitalwebservicescomponents,run:setsebool-Phttpd_
- can_network_connecttrue
- 关闭selinux
- 4:youneedtosetsomeSELinuxcontentrulestoensurecobblerservescontentcorrectlyinyour
- SELinuxenvironment,runthefollowing:/usr/sbin/semanagefcontext-a-tpublic_content_t"/var/
- lib/tftpboot/.*"&&/usr/sbin/semanagefcontext-a-tpublic_content_t"/var/www/cobbler"/images/.*
- 关闭selinux
- 5:youneedtosetsomeSELinuxrulesifyouwanttousecobbler-web(anoptionalpackage),runthefollowing:
- /usr/sbin/semanagefcontext-a-thttpd_sys_content_rw_t"/var/lib/cobbler/webui_sessions/.*"
- 关闭selinux
- 6:somenetworkboot-loadersaremissingfrom/var/lib/cobbler/loaders,youmayrun'cobblerget-loaders'
- todownloadthem,or,ifyouonlywanttohandlex86/x86_64netbooting,youmayensurethatyouhaveinstalled
- a*recent*versionofthesyslinuxpackageinstalledandcanignorethismessageentirely.Filesinthisdirectory,
- shouldyouwanttosupportallarchitectures,shouldincludepxelinux.0,menu.c32,elilo.efi,andyaboot.
- The'cobblerget-loaders'commandistheeasiestwaytoresolvetheserequirements.
- 运行cobblerget-loaders
- cobblerget-loaders##前提你能上网,出现***TASKCOMPLETE***代表ok
- 7:change'disable'to'no'in/etc/xinetd.d/rsync
- 我们不用rysnc同步文件,如果用的话修改/etc/xinetd.d/rsync
- vi/etc/xinetd.d/rsync
- disable=no
- 8:reposyncisnotinstalled,needforcobblerreposync,install/upgradeyum-utils?
- 可以不用理会,因为我们不用rsync同步ISO
- 9:yumdownloaderisnotinstalled,neededforcobblerrepoaddwith--rpm-listparameter,install/upgradeyum-utils?
- 同上
- 10:debmirrorpackageisnotinstalled,itwillberequiredtomanagedebiandeploymentsandrepositories
- 我们不是debian可以不用理会
- 11:ksvalidatorwasnotfound,installpykickstart
- 安装pykickstart
- yum-yinstallpykickstart
- 12:Thedefaultpasswordusedbythesampletemplatesfornewlyinstalledmachines(default_password_crypted
- in/etc/cobbler/settings)isstillsetto'cobbler'andshouldbechanged,try:"opensslpasswd-1-salt'random-phrase-here'
- 'your-password-here'"togeneratenewone
- 修改cobbler的密码,防止其它正常主机由pxe启动后安装系统
- opensslpasswd-1-salt51ctolaoguang##生成密码
- $1$51cto$nTnuekFUB6sByi97bt7df/##将它复制到setting中
- vi /etc/cobbler/settings
- default_password_crypted:"$1$51cto$nTnuekFUB6sByi97bt7df/"
- -----------------------------------------
三.cobbler的配置 3.1 导入欲安装的系统的镜像文件将redhat 6.3 x86_64 的ISO挂载/cdrom
- servicecobblerdrestart
导入需要的安装文件到cobbler的/var/www/cobbler/ks_mirrors下,并生成一profile,此过程需要一段时间,耐心等待
- mount/dev/cdrom/cdrom
3.2 配置dhcp服务,让cobbler来管理
- cobblerimport--path=/cdrom--name=RedHat-6.3-x86_64
3.3 修改/etc/cobbler/dhcp.template模板文件中的配置,其它的默认即可
- vi/etc/cobbler/settings
- manage_dhcp:1
3.4 同步cobbler配置
- vi/etc/cobbler/dhcp.template
- subnet192.168.1.0netmask255.255.255.0{##根据需要修改
- optionrouters192.168.1.1;##路由ip
- #optiondomain-name-servers192.168.1.1;##dns的ip,我没使用
- optionsubnet-mask255.255.255.0;##掩码
- rangedynamic-bootp192.168.1.100192.168.1.254;##dhcp分配的ip范围
- filename"/pxelinux.0";
- default-lease-time21600;##dhcp的默认释放时间
- max-lease-time43200;##最大时间
- next-server$next_server;##pxe使用的ip,$next_server在setting中定义的你忘了吗
- }
cobbler会自动进行初始化工作,移除已经存在的启动项,然后根据模板拷贝loader文件。之后再生成pxe的配置文件,生成dhcp的配置文件,最后再重启dhcp服务。关键查看dhcp,tftp有没有启动成功。四.测试安装系统 4.1 新建个虚拟机,网络记的是brige哦,新建的虚拟机网络默认是nat的,我就因为这个怎么都安装不上,启动虚拟机,调整启动顺序从网络启动(我用的是vmware,如果你没有挂cd的iso,也虚拟机是新建的直接启动应该是可以的)如下图
- cobblersync
650) this.width=650;" src="https://www.itdaan.com/imgs/9/1/3/6/95/2fdf6749b99b2165f4313a608beb4efd.jpe" border="0" alt="" data-pinit="registered">
650) this.width=650;" src="https://www.itdaan.com/imgs/4/1/1/6/97/e28a8978a2921ee6f8dbb2c190ba69fe.jpe" border="0" alt="" data-pinit="registered">
五.定制自己的kickstart文件定制自己的kickstart文件而不是使用默认的,kickstart文件cobbler放在了/var/lib/cobbler/kickstarts/中,查看cobbler默认使用的哪个5.1 自定义kickstart文件。如果你对kickstart文件理解透彻,直接修改或新建即可,如果还是很精通就用gui工具吧
- vi/etc/cobbler/settings
- default_kickstart:/var/lib/cobbler/kickstarts/default.ks##看到了吧,用的是default.ks
安装完毕后打开软件
- yum-yinstallsystem-config-kickstart
根据自己的需要修改即可,修改完毕后保存,修改settings中的设置,重启cobbler即可本文参考:http://os.51cto.com/art/201109/288604.htm
- system-config-kickstart
本文出自 “Free Linux, Share Linux” 博客,请务必保留此出处http://laoguang.blog.51cto.com/6013350/1097874
更多相关文章
- linux下如何导出.txt文件?
- Linux的五个文件查找命令:find,locate,whereis,which,type
- Re:从零开始的Linux之路(文件权限)
- Linux 删除文件夹和文件的命令
- Linux比较两个文件之间的不同
- 詹金斯死了,但是pid文件存在
- Linux下的文件时间
- Linux下非root用户能创建新文件,却不能拷贝文件的问题
- Linux用户和组的操作(一) 用户文件/etc/passwd