0%

使用cobbler进行网络装机

这些天我亲戚来我家,家里只有一个老旧的联想昭阳笔记本,装的Ubuntu系统,玩不了游戏.我告诉我亲戚只有windows系统才能玩游戏,然后让他自己重装系统(其实就没指望他能弄好),没想到他在格式化硬盘那一步把整个硬盘格式化了-.-

一般来说我们重装系统都是使用一个U盘,安装好系统安装程序,然后从U盘启动安装.那么问题来了,如何给一个没有系统的笔记本装系统,也没有U盘?我最后想到的是PXE

PXE简介

PXE的全称是预启动执行环境(preboot execute environment),也就是人们常说的网络装机.

PXE的优点:

  • 规模化:同时装配多台主机
  • 自动化:自动装系统,以及配置各种服务
  • 远程实现:不需要光盘,U盘等物理安装介质

PXE的工作模式:

  1. PXE client集成在网卡的启动芯片中
  2. 当计算机引导时,从网卡芯片中把PXE client调入内容执行,获取PXE server配置,显示菜单,根据用户选择将远程引导程序下载到本机运行

PXE所需要的组件:

  • DHCP服务:分配IP地址,定位引导程序
  • TFTP服务:提供引导程序的下载
  • HTTP(或FTP/NFS)服务:提供系统安装文件的下载

PXE的工作过程:

PXE流程

  1. PXE Client从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

  2. DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上)

  3. PXE Client向本网络中的TFTP服务器索取pxelinux.0文件

  4. PXE Client取得pxelinux.0文件后之执行该文件

  5. 根据pxelinux.0的执行结果,通过TFTP服务器加载内核和文件系统

  6. 进入安装画面,此时可以通过选择HTTP,FTP,NFS方式之一进行安装

cobbler简介

Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装,重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等.Cobbler由python开发

cobbler官网:http://cobbler.github.io

cobbler集成的服务:

  • PXE服务支持

  • DHCP服务管理

  • DNS服务管理(可选bind,dnsmasq)

  • 电源管理

  • Kickstart服务支持

  • YUM仓库管理

  • TFTP(PXE启动时需要)

  • Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

可以看出,cobbler将各种服务集成在一起,而其自己本身是不做事的…它存在的意义就是让原本复杂的安装步骤变得简便

cobbler使用

具体步骤不想发了…官网和网上的博客上都有,这里说一下几个注意事项

  1. PXE client和PXE server只需要在同一子网下就行了,原本我以为PXE server必须是网关…但这里有一个问题:如果PXE server不是网关,那么同一子网就有两个DHCP服务器了,要是PXE client从路由器那获得IP,那岂不获得不了tftp服务器位置了?

  2. cobbler仅支持Linux服务器的安装!!!我…开始的时候装deepin失败了,后来装ubuntu桌面版又失败了,最后装ubuntu服务器版才成功,查了文档才发现只能装服务器的Linux版本???不过听说经过修改后,可以安装桌面版甚至是windows…

    如果cobbler import xxx报这个错,就很可能是选择的镜像不对了….

    No distros imported, bailing out

参考文档

David_Tang的博客(CentOS 6.4下PXE+Kickstart无人值守安装操作系统):http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html

惨绿少年的博客(使用cobbler批量安装操作系统(基于Centos7.x )):https://blog.csdn.net/admin_root1/article/details/78911718

cobbler官网的文档:http://cobbler.github.io/manuals/quickstart/