cobbler相当于封装了dhcp、tftp、xinted等服务,结合了pxe、kickstart等安装方法。
相关服务介绍:
DHCP:
动态主机配置协议,使用UDP协议工作。主要有两个用途:给内部网络或网络服务供应商自动分配IP地址。给用户或内部管理员作为对所有计算机作中央管理的手段。DHCP有3个端口,其中UDP67和UDP68,分别作用DHCP server和DHCP client的服务端口;546端口用于DHCPv6 client,而不用于DHCPv4,是为DHCP failover服务,这是需要特别开启的服务,DHCP failover是用来做”双机热备的“
TFTP:
TFTP是一种比较特殊的文件传输协议。相对于FTP和目前经常使用的SFTP,TFTP是基于TCP/IP协议簇,用于进行简单文件传输,提供简单、低开销的传输服务。TFTP的端口设置为69。
相对于常见的FTP,TFTP有两个比较好的优势:
- TFTP基于UDP协议,如果环境中没有TCP协议,是比较合适的;
- TFTP执行和代码占用内存量比较小;
默认情况下,Linux内部是安装了tftp服务器包的。但是默认是不启动的。
pxe:
预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
交互过程分析
cobbler server与裸机(PXE client)交互过程分析:
- 裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP
- DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
- 裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
- cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
- 裸机通过上面告知的TFTP server地址和port通信,下载引导文件
- 裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image
- cobbler server发送请求的kickstart和os iamge
- 裸机加载kickstart文件
- 裸机接收os image,安装该os image
内容来源于网络