01.cobbler-安装

Cobbler(补鞋匠)搭建:

使用的系统为centos 7.5 mini

注意:

虚拟机网卡采用NAT模式,不要使用桥接模式,因为稍后我们会搭建DHCP服务器,在同一局域网多个DHCP服务会有冲突。

VMware的NAT模式的dhcp服务也关闭,避免干扰。

1、系统环境准备

1.1 关闭防火墙

systemctl stop firewalld  && systemctl disable firewalld

1.2 关闭selinux

#关闭seliunx
setenforce 0
sed  -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

1.3 配置阿里云yum源

mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*  /etc/yum.repos.d/bak
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all

2、安装cobbler

2.1 安装软件

yum -y install httpd dhcp tftp bind bind-chroot caching-nameserver python-ctypes cobbler cobbler-web pykickstart xinetd lsof net-tools 
rpm -ql cobbler         #查看安装的文件,下面列出部分。
/etc/cobbler                   # 配置文件目录
/etc/cobbler/settings          # cobbler主配置文件,这个文件是YAML格式,Cobbler是python写的程序。
/etc/cobbler/dhcp.template     # DHCP服务的配置模板
/etc/cobbler/tftpd.template    # tftp服务的配置模板
/etc/cobbler/rsync.template    # rsync服务的配置模板
/etc/cobbler/iso               # iso模板配置文件目录
/etc/cobbler/pxe               # pxe模板文件目录
/etc/cobbler/power             # 电源的配置文件目录
/etc/cobbler/users.conf        # Web服务授权配置文件
/etc/cobbler/users.digest      # 用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template  # DNS服务的配置模板
/etc/cobbler/modules.conf      # Cobbler模块配置文件
/var/lib/cobbler               # Cobbler数据目录
/var/lib/cobbler/config        # 配置文件
/var/lib/cobbler/kickstarts    # 默认存放kickstart文件
/var/lib/cobbler/loaders       # 存放的各种引导程序
/var/www/cobbler               # 系统安装镜像目录
/var/www/cobbler/ks_mirror     # 导入的系统镜像列表
/var/www/cobbler/images        # 导入的系统镜像启动文件
/var/www/cobbler/repo_mirror   # yum源存储目录
/var/log/cobbler                # 日志目录
/var/log/cobbler/install.log    # 客户端系统安装日志
/var/log/cobbler/cobbler.log    # cobbler日志

2.2 启动aoache和cobbler

#启动服务开启自启
systemctl start httpd cobblerd   &&    systemctl enable httpd  cobblerd

netstat -ntlpua|grep httpd
tcp6  0 0 :::80  :::*LISTEN 2329/httpd
tcp6  0 0 :::443 :::*LISTEN 2329/httpd

ps -ef|grep cobbler
apache 2330  2329 0 11:05 ?00:00:00 (wsgi:cobbler_w -DFOREGROUND
root  2359 1 0 11:06 ?00:00:00 /usr/bin/python2 -s /usr/bin/cobblerd -F
root  2481  2064 0 11:10 pts/000:00:00 grep --color=auto cobbler

3、配置cobbler

运行cobbler check,根据显示提示,进行下一步操作

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 or IP for the boot server as reachable by all machines that will use it.
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.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : 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.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : 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
8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.

修改过程如下

每次对cobbler相关配置文件的修改,都需要cobbler sync,才能使设置的参数生效

3.1 修改cobbler配置文件

#备份配置文件
cp /etc/cobbler/settings{,.ori}

#此IP为DHCP和TFTP服务的IP地址,一般同serverIP
sed -i 's#next_server: 127.0.0.1#next_server: 192.168.26.128#g' /etc/cobbler/settings                 

#此IP为cobbler服务的IP
sed -i 's#server: 127.0.0.1#server: 192.168.26.128#g' /etc/cobbler/settings                 

3.2 修改tftp文件

sed -i 's@disable.*=.*@disable = no@g' /etc/xinetd.d/tftp

grep disable /etc/xinetd.d/tftp
disable = no

systemctl start xinetd  && service xinetd reload

lsof -i udp:69
COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
xinetd 11384 root5u IPv4 31162 0t0 UDP *:tftp

#设置cobbler密码
openssl passwd -1 -salt 'cobbler' '1'
$1$cobbler$2.z8.0oepSgisQVZGYC050

vi /etc/cobbler/settings
101 default_password_crypted: "$1$cobbler$2.z8.0oepSgisQVZGYC050"

#让cobbler管理dhcp
vi /etc/cobbler/settings 
 242 manage_dhcp: 1

#防止循环安装系统,适用于服务器第一启动项是PXE启动
sed -i 's/pxe_just_once: 0/pxe_just_once: 1/' /etc/cobbler/settings

#启动rsync
systemctl start rsyncd  && systemctl enable  rsyncd 

3.3 修改cobbler的dhcp模版

vi /etc/cobbler/dhcp.template
 
#注意:
1、所分配的地址必须和服务器在同一个网段内
2、不要直接修改dhcp本身的配置文件,因为cobbler会覆盖



subnet 192.168.26.0 netmask 255.255.255.0 {                 #此段是设置DHCP的网段
     option routers             192.168.26.128; #设置网关,如果给部署时cobbler服务器与目标主机之间是直连的则不需要网关
     option domain-name-servers 114.114.114.114;            #设置dns地址
     option subnet-mask         255.255.255.0;               #子网掩码
     range dynamic-bootp        192.168.26.200 192.168.26.254;   #DHCP分配的地址池    
 
 
cobbler get-loaders

#如果显示Could not resolve host,需检查dns

#如遇报错: Exception value: [Errno 14] curl#35 - "Peer reports incompatible or unsupported protocol version."
yum update -y nss curl libcurl
systemctl restart cobblerd


#重启cobbler服务并执行cobbler sync 让所有修改生效
systemctl restart cobblerd
cobbler sync

若执行cobbler get-loaders出现如上报错,导致下载安装文件失败
,解决方法是yum安装syslinux,然后将pxelinux.0和memu.c32复制到/var/lib/cobbler/loaders/里面就行了

cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
cp /usr/share/syslinux/menu.c32 /var/lib/cobbler/loaders/

3.4. 检查服务是否运行

netstat -ntlupa|egrep "httpd|dhcpd|rsync|xinetd"

tcp0 0 0.0.0.0:873 0.0.0.0:*  LISTEN 11481/rsync
tcp6  0 0 :::80  :::*LISTEN 11280/httpd
tcp6  0 0 :::443 :::*LISTEN 11280/httpd
tcp6  0 0 :::873 :::*LISTEN 11481/rsync
udp0 0 0.0.0.0:55026  0.0.0.0:*  11644/dhcpd
udp0 0 0.0.0.0:67 0.0.0.0:*  11644/dhcpd
udp0 0 0.0.0.0:69 0.0.0.0:*  11384/xinetd
udp6  0 0 :::19187:::*11644/dhcpd

3.5 设置服务开机启动

systemctl enable httpd  xinetd cobblerd dhcpd rsyncd

3.6 导入系统镜像

这里以导入centos7.5的镜像为例

#将centos7.5 mini 的镜像挂在到目录下
mount -o loop CentOS-7.5-x86_64-Minimal-1804.iso  /mnt/
cobbler import --path=/mnt/ --name=CentOS7.5-mini --arch=x86_64  --kickstart=/var/lib/cobbler/kickstarts/CentOS7.5_mini_x86_64.cfg

#导入完成的标志
*** TASK COMPLETE ***       

--path 镜像路径
--name 为安装源定义一个名字
--arch 指定安装源是32位、64位、ia64, 目前支持的选项有: x86│x86_64│ia64
ps:安装源的唯一标识就是根据name参数来定义,本例导入成功后,安装源的唯一标识就是:CentOS7.5-mini-x86_64,如果重复,系统会提示导入失败。

3.5 修改ks文件

cobbler profile edit --name=CentOS7.5-mini-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.5_mini_x86_64.cfg

注:首先自己编写ks文件并放在/var/lib/cobbler/kickstarts/下,--name项的名称可用
cobbler profile list
cobbler profile report



python -c 'import crypt,getpass;pw="输入你的密码";print(crypt.crypt(pw))'
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,711评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 6,877评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,520评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,584评论 2 9