位置: 编程技术 - 正文
推荐整理分享CentOS下Cobbler的安装和配置教程(centos 做bond),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:centos bbrplus,centos bond,centos bbrplus,centos brew,centos brctl,centos broadcast,centos brew,cobbler centos7,内容如对您有帮助,希望把文章链接给更多的朋友!
Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、以及yum仓库、构造系统ISO镜像。
Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用。
Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷。
cobbler提供的功能
使用 Cobbler,您无需进行人工干预即可安装机器。Cobbler 设置一个 PXE 引导环境(它还可使用 yaboot 支持 PowerPC),并控制与安装相关的所有方面,比如网络引导服务(DHCP 和 TFTP)与存储库镜像。当希望安装一台新机器时,Cobbler 可以:
使用一个以前定义的模板来配置 DHCP 服务(如果启用了管理 DHCP)
将一个存储库(yum 或 rsync)建立镜像或解压缩一个媒介,以注册一个新操作系统
在 DHCP 配置文件中为需要安装的机器创建一个条目,并使用您指定的参数(IP 和 MAC 地址)
在 TFTFP 服务目录下创建适当的 PXE 文件
重新启动 DHCP 服务以反映更改
重新启动机器以开始安装(如果电源管理已启用)
Cobbler 支持众多的发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和 SuSE。当添加一个操作系统(通常通过使用 ISO 文件)时,Cobbler 知道如何解压缩合适的文件并调整网络服务,以正确引导机器。
Cobbler 可使用 kickstart 模板。基于 Red Hat 或 Fedora 的系统使用 kickstart 文件来自动化安装流程。通过使用模板,您就会拥有基本的 kickstart 模板,然后定义如何针对一种配置文件或机器配置而替换其中的变量。例如,一个模板可能包含两个变量 $domain和 $machine_name。在 Cobbler 配置中,一个配置文件指定 domain=mydomain.com,并且每台使用该配置文件的机器在machine_name 变量中指定其名称。该配置文件中的所有机器都使用相同的 kickstart 安装且针对 domain=mydomain.com 进行配置,但每台机器拥有其自己的机器名称。您仍然可以使用 kickstart 模板在不同的域中安装其他机器并使用不同的机器名称。
为了协助管理系统,Cobbler 可通过 fence scripts 连接到各种电源管理环境。Cobbler 支持 apc_snmp、bladecenter、bullpap、drac、ether_wake、ilo、integrity、ipmilan、ipmitool、lpar、rsa、virsh 和 wti。要重新安装一台机器,可运行 reboot system foo命令,而且 Cobbler 会使用必要的凭据和信息来为您运行恰当的 fence scripts(比如机器插槽数)。
除了这些特性,还可使用一个配置管理系统 (CMS)。您有两种选择:该工具内的一个内部系统,或者集成一个现有的外部 CMS,比如 Chef 或 Puppet。借助内部系统,您可以指定文件模板,这些模板会依据配置参数进行处理(与 kickstart 模板的处理方式一样),然后复制到您指定的位置。如果必须自动将配置文件部署到特定机器,那么此功能很有用。
使用 koan 客户端,Cobbler 可从客户端配置虚拟机并重新安装系统。我不会讨论配置管理和koan 特性,因为它们不属于本文的介绍范畴。但是,它们是值得研究的有用特性。
Cobbler 安装和配置的方法:
一、加载epel源
复制代码代码如下: rpm -ivh yum -y install tftp-server cobbler cobbler-web pykickstart debmirror httpd python-ctypes xinetd rsync
2.检查cobbler配置是否正确
复制代码代码如下: cobbler check
3.更改settings配置文件
复制代码代码如下: vi /etc/cobbler/settingsnext_server: dhcp服务器地址server: cobbler服务器地址manage_dhcp: 1manage_rsync: 1
4.关闭iptables和selinux
复制代码代码如下: /etc/init.d/iptables stopsetenforce 0
5.设置tftp和rsync服务
复制代码代码如下: vi /etc/xinetd.d/tftpdisable yes => disable no</p><p>vi /etc/xinetd.d/rsyncdisable yes => disable no
6.设置centos系统密码
复制代码代码如下: openssl passwd -1 -salt 'Cobbler' 'cobbler'
7.下载fedora的loader信息
复制代码代码如下: cobbler get-loaders
8.修改dhcp配置模版文件.需要主机的事分配的dhcp地址需要和本机地址在同一网段否则无法启动dhcp
复制代码代码如下: ddns-update-style interim;allow booting;allow bootp;ignore client-updates;set vendorclass = option vendor-class-identifier;#修改为自己的网段subnet ..0.0 netmask ...0 {#修改路由地址option routers ..0.1;#域名服务器地址option domain-name-servers ..0.;#子网option subnet-mask ...0;#分配IP地址段range dynamic-bootp ..0. ..0.;filename "/pxelinux.0";default-lease-time ;max-lease-time ;next-server $next_server;}
三、导入镜像到cobbler
1.创建镜像挂载点目录
复制代码代码如下: mkdir -p /mnt/foo
2.挂载iso镜像到创建的目录(可以为自己定制过的iso镜像)
复制代码代码如下: mount -o loop CentOS-6.4-x_-mini.iso /mnt/foo
3.从挂载点目录导入os 并将其命名为Centos6.4_mini arch=x_
复制代码代码如下: cobbler import --path=/mnt/foo --name=Centos6.4_mini --arch=x_
4.指定kickstart文件 (可选 默认我们会指定一个自己定制的kickstart文件)
复制代码代码如下: cobbler profile edit --name=Centos6.4_mini-x_ --kickstart=文件路径
5.查看cobbler报告
复制代码代码如下: cobbler reportDistribution : Centos6.4_mini-x_Enable gPXE? : 0Enable PXE Menu? : 1Fetchable Files : {}Kernel Options : {}Kernel Options (Post Install) : {}Kickstart : /var/lib/cobbler/kickstarts/sample_end.ksKickstart Metadata : {}Management Classes : []Management Parameters : <<inherit>>Name Servers : []Name Servers Search Path : []Owners : ['admin']Parent Profile : Proxy : Red Hat Management Key : <<inherit>>......
6.查看导入的镜像列表
复制代码代码如下: cobbler distro list
7.是cobbler生效
复制代码代码如下: cobbler sync
8.重启进入网络引导系统
9.需要注意的是每一次的配置更改都需要执行cobbller sync
四、kickstart文件(以我的配置文件为例)
复制代码代码如下: firewall --disabled install #cdrom rootpw --iscrypted $default_password_cryptedauth --useshadow --passalgo=md5 text firstboot --disable keyboard us lang en_US.UTF-8url --url=$tree$yum_repo_stanza$SNIPPET('network_config')</p><p>selinux --disabled # Do not configure the X Window System skipx logging --level=info #reboot --ejecttimezone Asia/Shanghai#network --device em1 --bootproto=static --ip=..7. --netmask=...0 --gateway=..0.1 --nameserver 8.8.8.8 --hostname=test --onboot=yesbootloader --location=mbr --driveorder=sda</p><p># Clear the Master Boot Record zerombr yes</p><p># Partition clearing information clearpart --all --initlabel </p><p># Disk partitioning information part / --fstype="ext4" --size=part swap --size=part /data --fstype="ext4" --grow --size=1 </p><p>%packages @base @core @server-policy sgpio device-mapper-persistent-datantp </p><p>%post --nochrootmkdir -p /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1cp /mnt/source/Packages/lnmp_pack.tar.gz /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1cp /mnt/source/Packages/install_packages.sh /mnt/sysimage/tmp/custom_data >> /tmp/custom.log 2>&1cp /mnt/source/Packages/ncftp-3.2.5-src.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1cp /mnt/source/Packages/rarlinux-3.8.0.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1cp /mnt/source/Packages/nmon_linux_i.tar.gz /mnt/sysimage/tmp/custom_data >>/tmp/custom.log 2>&1</p><p>%postcd /tmp/custom_data >> /tmp/custom.log 2>&1chmod +x install_packages.shsh install_packages.sh</p><p># remove custom_datarm -rf /tmp/custom_data</p><p>#vim syntax onecho alias vi='vim' >> /etc/bashrc</p><p># disable ipv6echo "alias net-pf- off" >> /etc/modprobe.d/dist.confecho -e "optionstipv6tdisable=1" >> /etc/modprobe.d/dist.confecho "NETWORKING_IPV6=no" >> /etc/sysconfig/network</p><p>#append libecho "/usr/local/lib/" >> /etc/ld.so.conf</p><p>#modify langecho 'export LANG=zh_CN.UTF8' >> /etc/profile</p><p>#disable system auto mailecho "unset MAILCHECK" >> /etc/profile</p><p>#modify historyecho 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profilesed -i "s/HISTSIZE=/HISTSIZE=/" /etc/profile</p><p>#modifu ssh port on echo 'Port ' >> /etc/ssh/sshd_configecho 'UseDNS no' >> /etc/ssh/sshd_config</p><p>for i in `ls /etc/rc3.d/S*`doCURSRV=`echo $i|cut -c -`chkconfig --level 3 $CURSRV offdone</p><p>for i in crond rsyslog iptables network ntpd sshd sysstat;do chkconfig --level 3 $i on;done</p><p>sed -i '/HOSTNAME=/d' /etc/sysconfig/networkecho 'HOSTNAME=test' >> /etc/sysconfig/network</p><p></p><p># sysctlecho "net.core.netdev_max_backlog = " >> /etc/sysctl.confecho "net.core.rmem_default = " >> /etc/sysctl.confecho "net.core.rmem_max = " >> /etc/sysctl.confecho "net.core.somaxconn = " >> /etc/sysctl.confecho "net.core.wmem_default = " >> /etc/sysctl.confecho "net.core.wmem_max = " >> /etc/sysctl.confecho "net.ipv4.ip_local_port_range = " >> /etc/sysctl.confecho "net.ipv4.tcp_fin_timeout = " >> /etc/sysctl.confecho "net.ipv4.tcp_keepalive_time = " >> /etc/sysctl.confecho "net.ipv4.tcp_max_orphans = " >> /etc/sysctl.confecho "net.ipv4.tcp_max_syn_backlog = " >> /etc/sysctl.confecho "net.ipv4.tcp_max_tw_buckets = " >> /etc/sysctl.confecho "net.ipv4.tcp_mem = " >> /etc/sysctl.confecho "net.ipv4.tcp_syn_retries = 2" >> /etc/sysctl.confecho "net.ipv4.tcp_synack_retries = 2" >> /etc/sysctl.confecho "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.confecho "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.confecho "net.ipv4.tcp_tw_recycle = 1" >> /etc/sysctl.confecho "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf/sbin/sysctl -p</p><p># modify core ulimtecho -e "*tsofttnofilet" >> /etc/security/limits.confecho -e "*thardtnofilet" >> /etc/security/limits.conf</p><p>echo -e "*tsofttnofilet" >> /etc/security/limits.d/-nproc.conf echo -e "*thardtnofilet" >> /etc/security/limits.d/-nproc.conf</p><p># ntpdcat > /etc/sysconfig/clock <<EOFZONE="Asia/Shanghai" UTC=trueARC=falseEOF/sbin/service ntpd stop/usr/sbin/ntpdate .../sbin/service ntpd start</p><p>COMMITEOF</p><p>%end&#;/python&#;</p><p>&#;python&#;# 访问cobbler_web &#;python&#;1 : some network boot-loaders are missing from /var/lib/cobbler/loaders2 : comment out 'dists' on /etc/debmirror.conf for proper debian support3 : comment out 'arches' on /etc/debmirror.conf for proper debian support&#;/python&#;
解决方法:复制代码代码如下: &#;python&#;1.cobbler get-loaders 2 - 3: yun install debmirror && vi /etc/debmirror.conf@dists="sid" => #@dists="sid"@arches="i" => #@arches="i"
CentOS系统中安装和破解jira的教程 JIRA介绍跟踪并管理在项目开发和维护过程中出现的问题(如:缺陷、新特性、任务、改进等)是项目管理很重要的任务,但是很少有团队能做的很好。J
CentOS自动化安装实战 定制自动化安装盘#安装所需要的软件包:复制代码代码如下:yum-yinstallcreaterepomkisofsisomd5sum#生成精简后的rpm列表复制代码代码如下:awk'/安装/{print$2}'install.l
在CentOS系统下安装Puppet和Puppet Foreman的教程 一、系统环境:Centos6.4x_..6.puppet.domain.com..6.agent1.domian.com二、关闭selinux和iptables(我这里是测试环境,也可以增加puppet端口)复制代码代码
标签: centos 做bond
本文链接地址:https://www.jiuchutong.com/biancheng/363276.html 转载请保留说明!友情链接: 武汉网站建设