cobbler简单入门

简介:

自动化分为三个部分:1系统安装自动化,2文件部署自动化,3命令执行自动化。之前使用的ansible可以完成23,其中最基本1功能不能胜任,虽然研发团队说要提供这个功能,但是目前没有产品。我们只好使用意见比较完善的工具cobbler。部署cobbler需要一些其他的组件,很重要的一个就是dhcp还有一个inter牵头研发的pxe,这里就先介绍着两个感觉,然后再介绍cobbler

dhcp

  dhcp的工作原理,这里我只简单描述一下,主机间通信基本上需要使用ip,然而每个主机只有出厂自带的mac地址,怎么把mac地址和ip对应起来,最开始,使用的手动配置ip,当计算机普及起来的时候有很多非计算机专业的人需要借助计算机完成工作,让他们自己配置ip就有点强人所难,这是就引入了dhcp机制协助非计算机人士使用计算机。扯得有点多了,当一台没有ip的主机接入网络后,只要安装了dhcp的客户端,这个客户端就会在网络中广播主机的mac255.255.255.255这个ip地址,当网络中dhcp服务器收到后就会返回一个ip地址给客户端。

为什么需要ip,(前提主机通信是通过广播,不是直接通信)虽然mac可以用来通信但是mac地址不是层级结构,当我们去给一个mac发送数据包的时候需要找到他,地球上那么主机找到mac地址所在的网络就需要建立一个大的mac地址表把mac地址和所在的网络的关系对应起来,主机那么多这个表的数据将会达到TB级别查找完全不可能,需要借助层级结构把网络分成一块块的逐级查找。

1
2
3
4
5
6
7
8
9
10
yum –y  install  dhcp-server
        dhcp的配置文件这里我只列举最长使用的
subnet 10.5.5.0 netmask 255.255.255.224 {  #网段
  range 10.5.5.26 10.5.5.30;  #这个ip的范围用于分配
  option domain-name-servers 172.16.0.1;  #注意使用域名的话有可能导致没有操作系统的主机无法获取ip
  option domain-name  "internal.example.org" #属于哪个域
  option routers 10.5.5.1;  #网关
  default-lease- time  600;  #使用时间,时间到了dhcp客户端会向服务器申请续约
  max-lease- time  7200;  #最多使用多长时间,续约失败,这个ip就失效
}

pxe

   pxe的一个工作流程:

(1)   没有操作系统的主机,按引导项逐级引导,引导不成功继续下一个引导项,到网卡引导的时候,网卡首先会去dhcp获取ip

(2)   dhcp在返回ip的时候同时会给主机发送网络引导需要到哪个ip找哪个文件,找的那个文件就当做grub理解吧

(3)   找到这个文件后,这个文件引导计算机加载网络上的内核

(4)   内启动后寻找yum仓库,然后启动安装界面,或者按照事先配置好的ks文件自动安装

配置pxe需要的服务器

1
yum  install  tftp tftp-server syslinux httpddhcp -y

1dhcp

1
2
3
4
5
6
7
8
9
subnet 172.16.0.0 netmask 255.255.0.0 {
    range 172.16.150.100 172.16.150.200;
    option domain-name-servers 172.16.0.1;
    option routers 172.16.0.1;
    default-lease- time  600;
    max-lease- time  7200;
    filename  "pxelinux.0" #引导系统的文件
    next-server 172.16.29.2;  #提供引导文件的主机
}

2httpd

       提供yum仓库文件

1
2
3
cd  /var/www/html/
mkdir  centos7
mount  -r  /dev/cdrom  centos7

3tftp

  提供引导的文件

1
2
cp  /var/www/html/centos7/images/pxeboot/ {vlinuz,initrd.img} /var/lib/tftpboot  #内核文件
cp  /usr/share/syslinux/ {chain.c32,menu.c32,memdisk,mboot.c32,pxelinux.0} /var/lib/tftpbot  #引导需要的文件


1
2
3
4
5
6
7
8
9
10
11
12
13
cd  /var/lib/tftpboot/
mkdir  pxelinux.cfg
cd  pxelinux.cfg  #提供引导的条目
vim default
default menu.c32
prompt 5
timeout 30
MENU TITLE CentOS 7 Wang
  
LABEL linux
MENU LABEL Install CentOS 7 x86_64
KERNEL vmlinuz
APPEND initrd=initrd.imginst.repo=http: //172 .16.29.2 /centos7  ks=http: //172 .16.29.2 /kickstarts/centos7 .cfg

cobbler

1概念

  cobbler其实就是pxe的二次封装,并且提供了更加强大引导功能,简化配置的步骤。其中cobbler定义了几个概念:

(1)   distro提供yum仓库,distro可以有多个,这就是cobbler的优势可以同时提供不同操作系统版本网络引导

(2)   profile根据distro创建一条引导条目,定义多条每条提供一种我们的定制

2配置

使用cobbler需要的服务器

1
yum  install  httpd tftp-server dhcp cobbler syslinuxcman fence-agents –y

dhcp还是需要手动配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vim  /etc/dhcp/dhcpd .conf
# dhcpd.conf
option domain-name  "example.org" ;
option domain-name-servers 172.16.29.10;
default-lease- time  600;
max-lease- time  7200;
log-facility local7;
subnet 172.16.0.0 netmask 255.255.0.0 {
range 172.16.0.100 172.16.0.200;
option routers 172.16.0.1;
filename  "pxelinux.0" ;
next-server 172.16.29.10;
}
  
cp  /usr/share/syslinux/ {pxelinux.0,menu.c32} /var/lib/cobbler/loaders/  #提供引导文件
vim  /etc/cobbler/settings
server: 172.16.29.10
next_server: 172.16.29.10

default_password_crypted:"$1$4e010655$jJ8hjIHRuXg.Q4Irg4pSd/" #这行对应的密码为oldking,也可以自己生成openssl passwd -1 -salt $(openssl rand -hex 4)

1
2
3
4
5
6
7
systemctl start dhcpd
systemctl start tftp
systemctl start httpd
systemctl start cobblerd.service
cobbler  sync  #这里是cobble自动配置服务器,把我们的配置同步到各个服务里
mount  /dev/cdrom  /misc/cd
cobbler  import  --name=centos7--path= /misc/cd  #建立一个distro

#下面这个cfg文件是我自己使用的,若想使用请更改其中这一行url --url=http://172.16.29.10/cobbler/ks_mirror/centos7/安装后的密码123或者1记不清了哈哈,看我以前的博客自己定制ks文件或者进入但用户模式更改密码,这个文件贴在附件里。

1
2
cp  /root/centos7 .cfg  /var/lib/cobbler/kickstarts/
cobbler profile add --name=centos7-basic--distro=centos7-x86_64 --kickstart= /var/lib/cobbler/kickstarts/centos7 .cfg  #生成一条profile

总结

  有了cobbler我们基本上不会使用pxe,配置pxe其实可以帮助我们更好的理解cobbler的工作原理,cobbler还有一个网页管理界面,这里我也没介绍个人感觉,命令接口完全可以满足我们的需求,使用网页管理完全是自讨苦吃,还是需要把ks文件上传到cobbler里然后,使用网页导入distro时,还是需要先下载文件或者插入优盘后还是需要挂载啊,顺便敲一条命令导入就好了嘛,打开网页登录选择导入等待导入完成后,还需要弹出优盘或者删除文件。看个人选择吧不作评论。



      本文转自Ailu0li 51CTO博客,原文链接:http://blog.51cto.com/oldking/1888769,如需转载请自行联系原作者









相关文章
|
3月前
|
缓存 Ubuntu Linux
【Linux系统编程】开发工具yum和vim--1
【Linux系统编程】开发工具yum和vim--1
|
3月前
|
人工智能 Linux 开发工具
【Linux系统编程】开发工具yum和vim--2
【Linux系统编程】开发工具yum和vim--2
|
前端开发 IDE Java
Vim 入门教程
vim 被誉为『编辑器之神』,与之同时代的 emacs 被誉为『神之编辑器』。可以看得出 vim 在编辑器的地位是很高的,得益于 vim 的指法,敲起代码来如行云流水。特别膜拜创始人创始出这么方便的敲代码的指法,这篇文章就是来带你入坑 vim 指法操作。
174 0
Vim 入门教程
|
机器学习/深度学习 Java 程序员
【vim基础教程/vim基础命令合集】一文轻松上手vim
【vim基础教程/vim基础命令合集】一文轻松上手vim
【vim基础教程/vim基础命令合集】一文轻松上手vim
|
数据安全/隐私保护
Cobbler
环境 rhel 6 安装与配置 配置epel源 yum install httpd dhcp tftp-server cobbler pykickstart syslinux rsync cman force-agent -y 修改xinetd的配置文件, 将tftpd和rsync开启 修改/...
1079 0
|
XML Linux 开发工具
|
存储 数据安全/隐私保护 开发工具
|
网络协议 Linux 数据安全/隐私保护
|
Linux 开发工具 数据安全/隐私保护
|
运维 网络协议 Linux