文章目录
前言
- Cobbler 可以用来快速建立 Linux 网络安装环境,它已将Linux网络安装的技术门槛,从大专以上文化水平,成功降低到了初中水平,连补鞋匠都能学会
- 网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业,自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增,不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器
这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级, 根本别想玩转,总而言之,这是一份多么有前途,多么有技术含量的工作啊 - 很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(补鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会,对于我们这些在装机领域经营多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳
一、环境配置与前期准备
1.环境设置
- 使用VMware虚拟机软件演示
- 需连接上互联网,且虚拟机都使用NAT模式
- 一台CentOS7虚拟机作为服务端
- 新创一台CentOS7虚拟机当做客户端,留作最终测试,安装系统等正常配置
- 内存记得加到2G!否则最后你会发现出错,内存不足,本人踩坑日志
- 网络适配器选择NAT模式
- 设置好了后不用开启,留着最后再来测试
2.服务端主机准备工作
- 网络适配器前面已经说过了,NAT模式
- 修改网卡信息
- 注意IP地址、DNS以及网关地址
- 安装在线yum源
- 这里我安装一个在线阿里云的yum源
- 这里我是之前已经配置好了了本地镜像yum源仓库,跟我不一样的新同学直接按即可,无视其他步骤
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
--2020-12-11 15:57:47-- https://mirrors.aliyun.com/repo/Centos-7.repo
...
...
...
2020-12-11 15:57:47 (923 MB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])
- 接着将之前的本地yum源配置文件挪走,以让系统能读取到我们刚下载的阿里云在线yum源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo local.repo repos.bak
[root@localhost yum.repos.d]# mv local.repo
- 再清除之前的yum缓存,然后再新建阿里云yum缓存即可,过程需等待一会儿
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
...
...略
元数据缓存已建立
[root@localhost yum.repos.d]#
二、自动专辑服务搭建步骤
- 首先我们需要安装把相关软件依赖包给下载来,这里提供一个
- 进入根目录创建一个新文件,把下载好的软件依赖包拖进去(我这里是在Xshell里进行)
1.导入 epel 源
- 注意,我这里在刚才新建的目录中操作的
- 安装依赖包
[root@localhost xcf]# rpm -ivh epel-release-latest-7.noarch.rpm
...
...略
- 自动加载在线更新源
[root@localhost xcf]# yum list
...
...略
2.安装Cobbler以及其相关服务软件包
[root@localhost xcf]# yum install -y cobbler dhcp tftp-server pykickstart httpd rsync xinetd
...
...略
- 各软件作用如下
软件名 | 作用 |
---|---|
cobbler | 用来快速建立Linux网络安装环境 |
dhcp | 用来为空白主机自动分配IP地址 |
tftp-server | 提供引导镜像文件的下载 |
pykickstart | 实现无人值守安装 |
httpd | 作为控制台程序运行 |
rsync | 实现数据同步 |
xinetd | 提供访问控制、加强的日志和资源管理功能 |
3.修改 cobbler 主配置文件
[root@localhost xcf]# vim /etc/cobbler/settings
- 修改以下几项:
- 在VIM编辑器里面可以按“/”加关键字回车,迅速搜索定位
- next_server: 192.168.126.11
#指向tftp服务器的IP,即本机IP - server: 192.168.80.10
#指向cobbler服务器的IP,即本机IP - manage_dhcp: 1
#让cobbler管理dhcp服务 - manage_rsync: 1
#让cobbler管理rsync服务 - manage_tftpd: 1
#让cobbler管理tftp服务
4.启动相关服务并关闭防火墙和selinux
[root@localhost xcf]# cd
[root@localhost ~]# systemctl start httpd.service
[root@localhost ~]# systemctl start cobblerd.service
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]#
5.修改 tftp的配置文件
wq保存后退出
- 开启服务
[root@localhost ~]# systemctl restart xinetd.service
[root@localhost ~]# systemctl start rsyncd.service
[root@localhost ~]#
6.下载引导操作系统文件
7.设置cobbler用户初始密码
7.1 使用加密方式生成密钥
- 前面‘ ’里面的可以任意填写字符,后面的‘ ’里面为安装完系统后root用户的密码
- 你可以试试几次,输入密码不同会生成不同的密钥
- passwd后面跟的是数字1,不是字母l
- 把密钥复制下,后面有用
7.2 将生成的密钥加入Cobbler配置文件中
[root@localhost ~]# vim /etc/cobbler/settings
- 按“/”加关键字可以迅速搜索定位
8.配置dhcp服务
8.1 修改Cobbler管理dhcp服务的模板文件
- 第一个是网段,192.168.126.0,注意了
- 再接着设置自己的网关DNS和地址池,很多人容易这里出错,注意了,记得一开始我们设置的网卡配置!
8.2 将配置好的模板文件同步到DHCP服务的配置文件中
[root@localhost ~]# cobbler sync
...
...略
*** TASK COMPLETE ***
8.3 重启DHCP服务
[root@localhost ~]# systemctl restart dhcpd.service
9.导入ISO镜像文件
9.1 挂载镜像文件
[root@localhost ~]# mount /dev/cdrom /mnt/
9.2 导入iso镜像中的Linux 内核、初始化镜像文件
[root@localhost ~]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
...
...略
##以下需要静静等待一段时间
- 参数说明
参数 | 说明 |
---|---|
–path | 表示镜像所挂载的目录 |
–name | 表示为安装源定义的名字 |
–atch | 表示指定安装源的系统位数 |
- 默认导入存放路径为/var/www/cobbler/ks_mirror/CentOS-7-x86_64
9.3 查看内核和初始化文件是否在在tftp-server 共享目录中
- 首先手动安装tree(系统默认是没装的)
[root@localhost ~]# yum -y install tree
- 查看文件是否存在
[root@localhost ~]# tree /var/lib/tftpboot/images
/var/lib/tftpboot/images
└── CentOS-7-x86_64
├── initrd.img
└── vmlinuz
1 directory, 2 files
10.重启所有服务
[root@localhost ~]# systemctl restart cobblerd.service[root@localhost ~]# systemctl restart dhcpd.service
[root@localhost ~]# systemctl restart xinetd.service
[root@localhost ~]# systemctl restart httpd.service
[root@localhost ~]#
11.用cobbler check 对Cobbler做检查设置
[root@localhost ~]# cobbler check
- 以上全部操作确认没有错误,即配置完成后,即可开启我们之前装的那个空白虚拟机,试试能不能开启自动安装系统
三、检查一下,开启服务端虚拟机
- 回到VMware虚拟机软件
- 开启空白虚拟机
按方向键“↓”选择CentOS然后回车确认 - 静静等待
- 此安装方式为最小化安装,安装的系统只有字符界面
- 登录用户为:root
- 密码为之前自己设置好的