当前位置 : 主页 > 操作系统 > centos >

使用cobbler实现批量自动部署Linux

来源:互联网 收集:自由互联 发布时间:2022-06-20
Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理

   Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便,使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP,DNS,以及yum包镜像。下面一步步来实现吧

实验平台:rhel 6.3 x86_64 
  • cobbler.laoguang.me     192.168.1.23 
  • 一.环境准备 1.1 安装dhcp
  • yum -y install dhcp 
  • 1.2 安装其它所需服务如:tftp xinetd httpd   ##靠tftp传输文件,tftp依赖xinetd,httpd这个我暂时不清楚
  • yum -y install tftp xinetd httpd 
  • 1.3 关闭selinux iptables
  • setenforce 0 
  • service iptables stop 
  • 二.安装cobbler 2.1 下载安装cobbler与依赖的包python-yaml 下载地址:http://www.kuaipan.cn/file/id_33139203151758501.html ,其它平台的可以去http://rpm.pbone.net/找,这个网站你一定不能忘记
  • yum -y --nogpgcheck localinstall cobbler-2.2.2-1.el6.rf.noarch.rpm \
  • python-yaml-3.09-3.el6.rf.x86_64.rpm 
  • 2.2 启动cobbler
  • service cobblerd start 
  • 2.3 启动httpd
  • service httpd start 
  • 2.4 启用xinetd
  • service xinetd start 
  • 2.4 cobbler 检查配置
  • cobbler check 
  • -------------------------------------------- 
  • The following are potential configuration items that you may want to fix: 
  •  
  • 1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost,
  •  or kickstarting features will not work.  This should be a resolvable hostname the or IP for boot 
  • server as reachable by all machines that will use it. 
  •  
  • 修改/etc/cobbler/settings 中server选项为: 
  • server: 192.168.1.23 
  •  
  • 2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to 
  • something other than 127.0.0.1, and should match the IP of the boot server on the PXE network. 

  • 修改/etc/cobbler/settings 中next_server选项为: 
  • next_server: 192.168.1.23      
  •  
  • 3 : Must enable a selinux boolean to enable vital web services components, run: setsebool -P httpd_
  • can_network_connect true 
  •  
  • 关闭selinux 
  •  
  • 4 : you need to set some SELinux content rules to ensure cobbler serves content correctly in your 
  • SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/var/
  • lib/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler"/p_w_picpaths/.* 
  •  
  • 关闭selinux 
  •  
  • 5 : you need to set some SELinux rules if you want to use cobbler-web (an optional package), run the following:
  •  /usr/sbin/semanage fcontext -a -t httpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions/.*" 
  •  
  • 关闭selinux 
  •  
  • 6 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' 
  • to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed
  •  a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory,
  •  should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. 
  • The 'cobbler get-loaders' command is the easiest way to resolve these requirements. 
  •  
  • 运行cobbler get-loaders  
  • cobbler get-loaders   ## 前提你能上网,出现*** TASK COMPLETE *** 代表ok 
  •  
  • 7 : change 'disable' to 'no' in /etc/xinetd.d/rsync 
  •  
  • 我们不用rysnc同步文件,如果用的话修改/etc/xinetd.d/rsync 
  • vi /etc/xinetd.d/rsync 
  • disable = no 
  •  
  • 8 : reposync is not installed, need for cobbler reposync, install/upgrade yum-utils? 
  •  
  • 可以不用理会,因为我们不用rsync同步ISO 
  •  
  • 9 : yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils? 
  •  
  • 同上
  •  
  • 10 : debmirror package is not installed, it will be required to manage debian deployments and repositories 
  •  
  • 我们不是debian可以不用理会 
  •  
  • 11 : ksvalidator was not found, install pykickstart 
  •  
  • 安装pykickstart 
  • yum -y install pykickstart 
  •  
  • 12 : The default password used by the sample templates for newly installed machines (default_password_crypted 
  • in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here'
  •  'your-password-here'" to generate new one 
  •  
  • 修改cobbler的密码,防止其它正常主机由pxe启动后安装系统 
  • openssl passwd -1 -salt 51cto laoguang   ##生成密码 
  • $1$51cto$nTnuekFUB6sByi97bt7df/   ##将它复制到setting中 
  • vi /etc/cobbler/settings
  • default_password_crypted: "$1$51cto$nTnuekFUB6sByi97bt7df/" 
  • ----------------------------------------- 
  • 2.5 重启cobbler 
  • service cobblerd restart 
  • 三.cobbler的配置 3.1 导入欲安装的系统的镜像文件  将redhat 6.3 x86_64 的ISO挂载/cdrom
  • mount /dev/cdrom /cdrom 
  • 导入需要的安装文件到cobbler的/var/www/cobbler/ks_mirrors下,并生成一profile,此过程需要一段时间,耐心等待
  • cobbler import --path=/cdrom --name=RedHat-6.3-x86_64 
  • 3.2 配置dhcp服务,让cobbler来管理
  • vi /etc/cobbler/settings 
  • manage_dhcp: 1 
  • 3.3 修改/etc/cobbler/dhcp.template模板文件中的配置,其它的默认即可
  • vi /etc/cobbler/dhcp.template 
  •  
  • subnet 192.168.1.0 netmask 255.255.255.0 {       ##根据需要修改 
  •      option routers             192.168.1.1;     ##路由ip 
  •      #option domain-name-servers 192.168.1.1;    ##dns的ip,我没使用 
  •      option subnet-mask         255.255.255.0;   ##掩码 
  •      range dynamic-bootp        192.168.1.100 192.168.1.254;  ##dhcp分配的ip范围 
  •      filename                   "/pxelinux.0";    
  •      default-lease-time         21600;           ##dhcp的默认释放时间 
  •      max-lease-time             43200;           ##最大时间  
  •      next-server                $next_server;    ##pxe使用的ip,$next_server在setting中定义的你忘了吗 
  • 3.4  同步cobbler配置
  • cobbler sync 
  • cobbler会自动进行初始化工作,移除已经存在的启动项,然后根据模板拷贝loader文件。之后再生成pxe的配置文件,生成dhcp的配置文件,最后再重启dhcp服务。关键查看dhcp,tftp有没有启动成功。 四.测试安装系统 4.1  新建个虚拟机,网络记的是brige哦,新建的虚拟机网络默认是nat的,我就因为这个怎么都安装不上,启动虚拟机,调整启动顺序从网络启动(我用的是vmware,如果你没有挂cd的iso,也虚拟机是新建的直接启动应该是可以的) 如下图

    使用cobbler实现批量自动部署Linux_cobbler

    使用cobbler实现批量自动部署Linux_linux系统_02

    五.定制自己的kickstart文件 定制自己的kickstart文件而不是使用默认的,kickstart文件cobbler放在了/var/lib/cobbler/kickstarts/中,查看cobbler默认使用的哪个
  • vi /etc/cobbler/settings 
  • default_kickstart: /var/lib/cobbler/kickstarts/default.ks   ##看到了吧,用的是default.ks 
  • 5.1 自定义kickstart文件。如果你对kickstart文件理解透彻,直接修改或新建即可,如果还是很精通就用gui工具吧
  • yum -y install system-config-kickstart 
  • 安装完毕后打开软件
  • system-config-kickstart 
  • 根据自己的需要修改即可,修改完毕后保存,修改settings中的设置,重启cobbler即可   本文参考:http://os.51cto.com/art/201109/288604.htm
    上一篇:Linux运维常用命令总结
    下一篇:没有了
    网友评论