centos 7 下 cobbler 安装
一、cobbler 介绍;
Cobbler 是一个系统启动服务(boot server),可以通过网络启动(PXE)的方式用来快速安装、重装物理服务器和虚拟机,支持安装不同的 Linux 发行版和 Windows。该工具使用python开发,小巧轻便(才15k行代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理 DHCP,DNS,以及yum包镜像。
Linux学习,http:// linux.it.net.cn
Cobbler 使用命令行方式管理,也提供了基于 Web 的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。 IT网,http://www.it.net.cn
Cobbler提供以下服务集成:
	PXE服务支持
	DHCP服务管理
	DNS服务管理(可选bind,dnsmasq)
	电源管理
	Kickstart服务支持
	yum仓库管理
	TFTP (PXE启动时需要) Linux学习,http:// linux.it.net.cn 
	Apache(提供kickstart 的安装源,并提供定制化的kickstart配置) IT网,http://www.it.net.cn
同时,它和apache做了深度整合。通过 cobbler,可以实现对RedHat/Centos/Fedora系统的快速部署,同时也支持Suse 和Debian(Ubuntu)系统。 Linux学习,http:// linux.it.net.cn
cobbler装机系统是较早前kickstart的升级版,优点比较容易配置,还自带web界面比较易于管理,不足在于中文资料较少。和 Kickstart不同的是,使用cobbler不会因为在局域网中启动了dhcp而导致有些机器因为默认从pxe启动在重启服务器后加载tftp内容导 致启动终止。 IT网,http://www.it.net.cn
通过配置cobbler自动部署DHCP、TFTP、HTTP,在安装过程中加载kiskstart无人值守安装应答文件实现无人值守。从客户端使用PXE引导启动安装。
二、新系统初始化:
1、修改主机名:
# vi /etc/hostname
2、关闭防火墙,selinxu:
#systemctl stop firewalld (centos 7 默认防火墙 firewall)
#systemctl disable firewalld
3、安装常用工具:
#yum -y install wget vim lrzsz
4、更新yum 源, 在本地源中没有cobbler
#yum -y install epel-release
三、安装配置cobbler:
1、安装cobbler 依赖包和相关服务
#yum -y install cobbler
#yum -y install cobbler-web
#yum -y install fence-agents (实现电源管理)
#yum -y install dhcp
#yum -y install pykickstart (kickstart 软件,系统无人值守安装)
#yum -y install xinetd (tftp 服务 使用)
#yum -y install tftp-server
#yum -y install system-config-kickstart (如果不通过图形化界面 创建ks 文件,可以不用安装)
2、开启服务:
# systemctl start httpd
# systemctl start cobblerd
# systemctl enable httpd
# systemctl enable cobblerd
3、配置cobbler ,检查配置:
# cobbler check
     
按提示依次解决相关报错:
1-2:编辑cobbler配置文件/etc/cobbler/settings 修改一下几项
# vim /etc/cobbler/settings
bind_master: 可用的dns服务器IP
next_server: cobbler服务器IP (选项 next_server 用在 DHCP 配置文件中,向机器告知提供引导文件的服务器地址。选项 server 在机器安装期间用于引用 Cobbler 服务器地址)
server: cobbler服务器IP
manage_dhcp: 1 (0:表示有独立的*服务器, 1:表示服务由cobbler 托管)
manage_dns: 0
manage_tftpd: 1
restart_dns: 1
restart_dhcp: 1
      pxe_just_once:1    (选项 pxe_just_once 预防将机器中的安装循环配置为始终从网络引导。激活此选项时,机器告诉 Cobbler 安装已完成。Cobbler 将系统对象的 netboot 标志更改为 false,这会强制机器从本地磁盘引导。)
3:上述dhcp 服务器和 tftp 服务器均由cobbler 托管,需要配置cobbler的dhcp服务配置和tftp服务配置,配置完成后服务由cobbler sync 托管启动。
3-1、编辑tftp配置文件:
# vim /etc/cobbler/tftpd.template
disable = no “yes改为no”
3-2、编辑dhcp配置文件
# vim /etc/cobbler/dhcp.template
      
4:执行cobbler get-loaders 下载部分缺失的网络boot-loaders 引导文件
# cobbler get-loaders
5:启动rsyncd
# systemctl start rsyncd
# systemctl enable rsyncd
6:debian安装用,不需要可以不管
7:"openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" 其中random-phrase-here 为任意字符、your-password-here 是cobbler 服务器的密码
# openssl passwd -1 -salt '123456789' '111111' 生成的密码替换/etc/cobbler/settings文件里面default_password_crypted:的密码
4、http 配置:
由于默认distro文件存放目录为/var/www/cobbler/ks_mirrors 而http默认站点根目录为/var/www/html,所以安装系统的时候会报错找不到/var/www/cobbler/ks_mirror/centos7.2-x86_64/LiveOS/squashfs.img 所以在这里需要更改http服务默认站点根目录然后重启服务
# vim /etc/http/conf/httpd.conf
DocumentRoot “/var/www/html” ––> DocumentRoot “/var/www”
# systemctl restart httpd
# systemctl restart cobblerd
# cobbler sync (cobbler 配置刷新,检查有没有配置或依赖服务有问题)
5、定义distro
挂在iso镜像:
# mkdir /mnt/iso
# mount -o loop /date/CentOS-7-x86_64-DVD-1611.iso /mnt/iso (iso 文件已下载至 /data 目录下)
导入distro:
# cobbler import --arch=x86_64 --path=/mnt/iso --name=Centos-7-x86_64 (需要一段时间)
命令格式:cobbler import --path=镜像路径 -- name=安装引导名 --arch=32位或64位
    参数说明: 
      --name :为安装源定义一个名字
      --arch :指定安装源是32位还是64位、ia64, 目前支持的选项有: x86│x86_64│ia64
      注意:这个安装源的唯一标示 就是根据这两个参数来定义
导入成功后,安装源的唯一标示就是:centos-7-x86_64,如果重复,系统会提示导入失败,其它命令可通过cobbler -help来进行查看.如果需要更多的参数定制,也可以查看官方文档:man cobbler,然后查找 import 的配置,可以使用另外一个命令:cobbler distro. cobbler会将镜像中的所有安装文件拷贝到本地一份,放在/var/www/cobbler/ks_mirrors/下的centos-7-x86_64目录下,同时会创建一个名字为centos-7--x86_64的一个发布版本,以及一个名字为centos-7-x86_64的profile文件,此profile文件指定/var/lib/cobbler/kickstarts/simple_end.ks为默认ks文件
6、制作ks文件 (无人值守脚本)
# kickstart template for Fedora and later.
# (includes %end blocks)
# do not use with earlier distros #platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Use text mode install
text
# Firewall configuration
firewall --enabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET('network_config')
# Reboot after installation
reboot #Root password
rootpw --iscrypted $default_password_crypted
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
# Allow anaconda to partition the system as needed
#autopart
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=
part swap --fstype="swap" --size=
part / --fstype="xfs" --grow --size= %pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end %packages
$SNIPPET('func_install_if_enabled')
%end %post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end %post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start final steps
$SNIPPET('kickstart_done')
# End final steps
%end
也可以使用图形化工具生成ks文件
# system-config-kickstart (#需要在图形化界面运行,需要安装桌面包,然后按提示一步一步生成ks.cfg文件) VNC配置:http://www.cnblogs.com/weijie0717/p/6746508.html
7、创建ks文件 ,保存到/var/lib/cobbler/kickstarts/目录内 ,导入系统distro时,系统指定的默认ks文件为/var/lib/cobbler/kickstarts/sample_end.ks,在这里我们需要重新指定ks文件
# cobbler profile report --name Centos-7-x86_64 ( 查看profile 设置)
    # cobbler distro report --name Centos-7-x86_64  (查看安装镜像文件信息)
# cobbler profile add --name=Centos-7-x86_64 --distro=Centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos-7.ks (绑定 profile 和 distro )
# cobbler profile edit --name=Centos-7-x86_64 --distro=Centos-7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/Centos-7.ks (编辑 profile 和 distro )
8、再次执行 cobbler check 看看之前的报错是否的一一解决。
9、 如果没有任何问题,刷新cobbler 配置:
# cobbler sync
10、从起服务器,安装系统:
    
四、cobbler web配置
centos 7 下 cobbler 安装的更多相关文章
- Sysbench Sysbench在centos系统下的安装
		Sysbench在centos系统下的安装 by:授客 QQ:1033553122 测试环境: CentOS-7-x86_64-DVD-1503-01.iso 下载地址: http:/ ... 
- CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理
		CentOS vps下,安装xfce/KDE/GNOME桌面+vncserver进行远程管理 首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde ... 
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
		PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ... 
- Centos7 下cobbler安装及配置
		1.背景介绍 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1小时也完成了,但是如果有成百台的服务器还要用光盘.U盘去安装,就显 ... 
- Centos7.4 下cobbler安装及配置
		1.背景介绍 作为运维,在公司经常遇到一些机械性重复工作要做,例如:为新机器装系统,一台两台机器装系统,可以用光盘.U盘等介质安装,1小时也完成了,但是如果有成百台的服务器还要用光盘.U盘去安装,就显 ... 
- CentOS系统下Redis安装和自启动配置的步骤
		相信大家都知道Redis是一个C实现的基于内存.可持久化的键值对数据库,在分布式服务中常作为缓存服务.所以这篇文章将详细介绍在CentOS系统下如何从零开始安装到配置启动服务.有需要的可以参考借鉴. ... 
- centos/linux下的安装Maven
		1.保证该项目安装了JDK 请在系统中输入java -version查看该命令是否存在 如果没有安装JDK请移步到Centos/linux下的JDK安装 2.下载Maven wget http://m ... 
- centos/linux下的安装Tomcat
		1.启动tomcat时候需要JDK依赖 如果没有安装的请移步到该链接Centos/linux下的JDK安装 2.从官网上下载tomcat压缩包 wget -c http://apache.fayea. ... 
- CentOS 7 下编译安装lnmp之MySQL篇详解
		一.安装环境 宿主机=> win7,虚拟机 centos => 系统版本:centos-release-7-5.1804.el7.centos.x86_64 二.MySQL下载 MySQL ... 
随机推荐
- Retrofit添加自定义转换器
			Retrofit2开始支持多种 Converter 并存,在之前,如果你遇到这种情况:一个 API 请求返回的结果需要通过 JSON 反序列化,另一个 API 请求需要通过 proto 反序列化,唯一 ... 
- RecyclerView下拉刷新上拉加载更多
			现在Android里都建议用RecyclerView代替ListView和GridView,所以下拉刷新和上拉加载更多也需要实现.下拉刷新可以用SwipeRefreshLayout 包裹Recycle ... 
- Mybatis:通过MapperScannerConfigurer进行mapper扫描
			在applicationContext.xml里配置的 
- centos-yum离线源
			配置离线源 在个别开发环境中,我们可能有限制不能连外网. 这个情况可以通过用一台同内网的机器配置离线源,然后通过vsftp公用. 安装ftp rpm命令详解 $ rpm -ivh apache-1.3 ... 
- jsfl完成通知air
			jsfl完成后生成一个文本A.txt, air开始jsfl执行后一直检测A.txt是否存在,存在就是完成了.那么就可以删除这个A.txt 
- Windows下MongoDB安装配置
			一.安装 官网下载,一般选择community server版本下载,如果是企业可以选择enterprise版本,个人使用的话community就可以了,附上链接:https://www.mongod ... 
- Arraylist JDk1.8扩容和遍历
			Arraylist作为最简单的集合,需要熟悉一点,记录一下---->这边主要是注意一下扩容和遍历的过程 请看以下代码 public static void main(String[] args) ... 
- Servlet基本
			1.Webサーバ設定の「ディレクトリ一覧」機能 Webサーバの設定で「ディレクトリ一覧」機能を有効にすると.404 Not Found画面ではなく.ディレクトリ以下のファイルの一覧が表示されます.この ... 
- 尚硅谷springboot学习12-profile
			一个项目对应不同的环境可以会有不同的配置,如开发,测试,生产环境使用不同的端口,这时可以设置profile变换不同的环境 通过spring.profiles.active切换环境 1.多Profile ... 
- 健康检测文件httpchk.jsp
			静态显示: <html><body><center> Now time is: <%=new java.util.Date()%> </cente ... 
