PXE(cobbler)搭建,自动系统安装
pxe
pxe实现全自动安装操作系统,其中用到的软件包括(dhcp首先给客户端分配IP地址提供的系统引导安装系统指向tftp-server启动并加载网络repo仓库由http服务和系统镜像制作)
dhcp–> 分配主机地址并提供引导文件–>tftp-server–>读取配置–>repo仓库完成系统安装
dncp:动态主机配置协议能够在网段内的主机分配IP、掩码、网关和dns,默认监听端口是UDP67.
分配模式:
静态分配:租赁IP地址过期后可回收。(租赁的ip到期后dhcp进行单播确定是否续约)
动态分配:通过IP班定客户端MAC地址。
dhcp 功能:
dhcpd:作为dhcp服务
dhcrelay:作为中继服务器
程序文件:
/etc/sbin/dpcp dhcp主程序
/etc/dhcp/dhcpd.conf ipv4服务配置文件
/etc/dhcp/dhcpd6.conf ipv6服务配置文件
/etc/sbin/dhcrelay 中继服务主程序
/etc/rc.d/init.d/dhcrelay 中继服务配置文件
/etc/resolv.conf 记录信息
配置dhcp服务器:
配置环境:
主机设置临时固定IP地址段:192.168.200.1
确保网卡打开了广播功能
ip link set ens33 multicast on
# 安装配置dhcp
[root@localhost] yum -y install dhcp
# 拷贝配置模板到/etc/dhcp/内修改名为dhcpd.conf配置文件
[root@localhost] cp -f /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
option domain-name `magedu.com`;
option domain-name-servers 192.168.20.1; //仅作提示
option routers 192.168.20.1;
default-lease-time 600; //默认租赁时间
max-lease-time 7200; //最长续租时间
log-facility local7; 日志记录
subnet 192.168.0.0 netmask 255.255.0.0 { //定义子网,注意此处网段必须符合规定,不然守护进程无法启动
range 192.168.200.1 192.168.200.10; //地址池
option routers 192.168.200.1; //给定的路由
option domain-name-server 192.168.200.1; //dhcp服务器主机名字
option domain-name `dome`; // 服务器
default-lease-time 600; //子网默认租赁时间
max-lease-time 7200; //子网默认最长租赁时间
filename `pxelinux.0`; //指定引导文件名,此文件需要装syslinux 生成
next-server 192.168.200.20; //定义引导文件服务器IP
}
host fantasia { //IP地址与客户端MAC绑定,实现静态分配地址,绑定服务端主机
hardware ethernet 00:0c:29:22:1e:ec;
fixed-address 192.168.200.20; //固定的IP地址不能是已经使用中的。
}
配置开启系统引导文件:
# 安装syslinux 引导文件提供服务
[root@localhost ~]# yum -y install syslinux
# 拷贝引导的模拟环境所需要的配置文件到tftpboot的默认引导目录
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ # 这个即使刚刚dhcp指向的文件
[root@localhost ~]# cp /var/www/html/centos/7/x86_64/images/pxeboot/vmlinuz /var/lib/tftpboot/
[root@localhost ~]# cp /var/www/html/centos/7/x86_64/images/pxeboot/initrd.img /var/lib/tftpboot/
# 拷贝菜单简单图形引导文件
[root@localhost ~]# cp /usr/share/syslinux/chain.c32 /var/lib/tftpboot/
[root@localhost ~]# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
[root@localhost ~]# cp /usr/share/syslinux/memdisk /var/lib/tftpboot/
[root@localhost ~]# cp /usr/share/syslinux/mboot.c32 /var/lib/tftpboot/
创建图形引导文件
[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
修改引导图形菜单
default menu.c32
prompt 5
timeout 30
MENU TITLE CentOS 7 PXE Menu
LABEL linux
MENU LABEL Install CentOS 7 x86_64
KERNEL vmlinuz
APPEND initrd=initrd.img ip=192.168.100.5 netmask=255.255.255.0 inst.repo=http://192.168.100.5/centos/7/x86_64/
配置tftp
设置文件服务并开机启用,默认监听端口UPD:68
配置文件:
/var/lib/tftpboot/
软件:
tftp_server:服务端
tftp:客户端
服务启动:
CentOS 6:service inetd start
CentOS 7 : systemctl start tftp.socket
# 安装tftp 支持软件
[root@localhost dhcp]# yum -y install tftp httpd tftp-server # 创建目录yum仓库目录 [root@localhost dhcp]# mkdir -pv /var/www/html/centos/7/x86_64 # 挂载仓库光盘 [root@localhost dhcp]# mount -r /dev/cdrom /var/www/html/centos/7/x86_64/ 创建kickstarts 配置文件目录,实现自动化安装。
[root@localhost ~]# mkdir /var/www/html/kickstarts/
[root@localhost ~]# cp anaconda-ks.cfg /var/www/html/kickstarts/centos7.cfg # 启动服务并设置开机启动 [root@localhost dhcp]# systemctl start tftp-service httpd [root@localhost dhcp]# systemctl enable tftp-service httpd 编辑kickstarts文件将usr指向设置为yum仓库的主机
[root@localhost ~]# vim /var/www/html/kickstarts/centos7.cfg usr --usr=`http://192.168.200.20/centos/7/x86_64/`
开启一台新机器与pxe主机在同一网段,开机会自动分配地址,自动安装。
cobbler
和pxe相同提供实现全自动快速安装操作系统与pxe不同的是能够tftp-server、dhcp功能、yum仓库功能融合到了一起,而且还提供一个cobbler-web的图形管理界面,该程序在epel仓库。默认服务端口是UPD:69
配置文件:
/etc/cobbler/settings 主配置文件
/etc/cobbler/tftpd.template tftp模板
/etc/cobbler/dhcp.template dhcp模板
常用命令:
cobbler check:运行环境检查;
cobbler distro liste:列出以生成的系统
cobbler profile liste:列出已生成的系统配置
cobbler sync:同步
需要用到的程序:
httpd+tftp:配置源及yum仓库
cobbler 默认提供命令行
cobbler-web 提供图形界面需要Django程序
配置环境:
拥有两块网卡用来下载配置文件
ens33 192.168.200.30 \\内网固定ip
ens37 192.168.199.194 \\外网ip 用于连接网络下载程序和组件
关闭防火墙:或者放行也可设置规则放行TCP:80、DUP:67、68、69号端口
systemctl stop firewalld.service
关闭selinux
vim /etc/selinux/config
SELINUX=disabled (或permissive)
[root@localhost ~]# setenforce 0
预先安装配置好epel-release仓库;
[root@localhost ~]# yum -y install epel-release
# 安装所需要用到的软件
[root@localhost ~]# yum -y install httpd dhcp tftp-server cobbler cobbler-server Django rsync
# 修改主配置文件:
[root@localhost ~]# vim /etc/cobbler/settings \\修改为内网IP
server:192.168.200.30 \\引导主机地址,改为内网IP
next-server:192.168.200.30 \\启用cobbler 管理dhcpd服务
manage_dhcpd: 1 \\修改cobbler root默认密码,(被调用)
default_password_crypted:"$1$abc$mJPQCTATLDV5aNzcHMYLr/" # \\启用 Cobbler的rsyn
manage_rsync: 1
# \\生成密码方式:
# openssl passwd -1 -salt ‘abc’ ‘123456’
# $1$abc$mJPQCTATLDV5aNzcHMYLr/
# 修改tftp配置文件
[root@localhost cobbler]# vim /etc/xinetd.d/tftp disable = no \\将yes修改为no 启动服务
[root@localhost cobbler]# systemctl start xinetd.service httpd.service cobblerd.service
下载cobbler的引导文件
[root@localhost cobbler]# cobbler get-loaders
...
...
*** TASK COMPLETE ***
修改DHCP模板
[root@localhost cobbler]# vim /etc/cobbler/dhcp.template
subnet 192.168.200.0 netmask 255.255.255.0 { \\修改网段
option routers 192.168.200.5; \\修改路由地址
option domain-name-servers 192.168.200.1; \\修改网段名称
option subnet-mask 255.255.255.0; \\掩码地址
range dynamic-bootp 192.168.200.100 192.168.200.254; \\可用IP地址段
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
class `pxeclients` {
match if substring (option vendor-class-identifier, 0, 9) = `PXEClient`;
if option pxe-system-type = 00:02 {
filename `ia64/elilo.efi`;
} else if option pxe-system-type = 00:06 {
filename `grub/grub-x86.efi`;
} else if option pxe-system-type = 00:07 {
filename `grub/grub-x86_64.efi`;
} else if option pxe-system-type = 00:09 {
filename `grub/grub-x86_64.efi`;
} else {
filename `pxelinux.0`;
}
}
}
host fantasia { \\地址绑定,非必要。
hardware ethernet 00:0c:29:22:1e:ec; \\绑定的MAC地址
fixed-address 192.168.200.30; \\绑定的IP地址
}
host client { \\多条地址绑定只需要修改host NAME 即可
hardware ethernet 00:0c:29:b4:0c:93;
fixed-address 192.168.200.99;
}
准备本地网络repo 安装源
首先准备一张 CentOS-6 光盘
\\只读的方式挂载
[root@localhost cobbler]# mount -r /dev/cdrom /media/cdrom/ [root@localhost cobbler]# cobbler import --name='CentOS-6' --path='/media/cdrom/'
...
...
*** TASK COMPLETE *** 查看配置的主机和仓库
[root@localhost cobbler]# cobbler distro list 列出配置系统
CentOS-6-x86_64
[root@localhost cobbler]# cobbler profile list 列出配置文件
CentOS-6-x86_64 重启服务
[root@localhost cobbler]# systemctl restart httpd.servier cobblerd.service 同步
[root@localhost cobbler]# cobbler sync
指定KS配置文件路径
查看report 信息
[root@localhost cobbler]# cobbler profile report Name : CentOS-6-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS-6-x86_64
Enable gPXE? : 0
Enable PXE Menu? : 1
Fetchable Files : {}
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata : {}
Management Classes : []
Management Parameters : <<inherit>>
Name Servers : []
Name Servers Search Path : []
Owners : ['admin']
Parent Profile :
Internal proxy :
Red Hat Management Key : <<inherit>>
Red Hat Management Server : <<inherit>>
Repos : []
Server Override : <<inherit>>
Template Files : {}
Virt Auto Boot : 1
Virt Bridge : xenbr0
Virt CPUs : 1
Virt Disk Driver Type : raw
Virt File Size(GB) : 5
Virt Path :
Virt RAM (MB) : 512
Virt Type : kvm
修改ks文件所在的目录
[root@localhost cobbler]# cobbler edit --name=CetOS-6-x86_64 --kiskstart=/etc/cobbler/kickstart/CentOS-6.ks
PXE(cobbler)搭建,自动系统安装的更多相关文章
- 补鞋匠---Cobbler 服务器自动搭建
Cobbler 服务器自动搭建http://tshare365.com/archives/439.html
- [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解
[PXE] Linux(centos6)中PXE 服务器搭建,PXE安装.启动及PXE理论详解 本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议 ...
- 自动化安装操作系统(Centos7+PXE+Cobbler+kickstart)
一.简介 PXE称作是一种引导方式而不是安装方式似乎更加准确,PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动,但是有一个前提 ...
- 使用Hudson搭建自动构建服务器
环境: ubuntu1404_x64 说明: 使用hudson和git搭建自动构建服务器的简单示例 安装hudson及相关插件 安装hudson 安装命令如下: sudo sh -c "ec ...
- 非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法
非域环境下搭建自动故障转移镜像无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法 环境:非域环境 因为是自动故障转移,需要加入见证,事务安全模式是,强安全FULL模式 做到最后一 ...
- 使用gogs,drone搭建自动部署
使用gogs,drone搭建自动部署 使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台Docker是使用go开发的开源容器引擎D ...
- 记录使用gogs,drone搭建自动部署测试环境
使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台 Docker是使用go开发的开源容器引擎 Drone是一个基于容器技术的持续集 ...
- 基于 cobbler 实现自动安装 linux 系统
使用 cobbler 实现自动安装 centos 6.7系统 1.yum install cobbler -y 安装 cobbler ,有依赖关系,会自动把 TFTP .HTTP 服务安装上:cobb ...
- cobbler无人值守自动安装
无人值守安装(自动按定制的需求来批量安装linux系统) kickstart cobbler linux安装系统的方法: 1,光盘 把iso镜像刻录(windows下有类似nero这类软件)到光盘 ...
- CentOS使用PXE网络启动自动安装操作系统
PXE工作原理简介 PXE (Preboot Excution Environment) 预启动执行环境 工作环境介绍: 要实现PXE自动网络安装CentOS至少需要两台主机 1)PXE服务器PXE ...
随机推荐
- Java 一次操作多条数据
//新增 <insert id="insertSelectiveList" useGeneratedKeys="true" parameterType=& ...
- vue3+ts+vant制作音乐播放器(进度条拖拽、倍速切换、上一曲、下一曲)完整版
1.进度条的用的是vant的Progress组件,比手写进度条方便很多,有自带的事件 2.H5页面兼容pc 效果展示 上代码 一.template模块 <template lang=" ...
- java8 :: 双冒号传多个参数
'::'是一种函数式接口的一种书写方法引用的方式 Kind Syntax Examples Reference to a static method ContainingClass::staticMe ...
- shell_Day02
虽然差了不少天,但的确是第......一天 history 查看历史命令记录 !命令序号 查看命令并执行 -c 清空 关于命令历史的文件 关于命令历史的变量(环境变量) 命令补全 tab:制表符 \t ...
- 2020-2021第一学期2024"DCDD"小组第十二周讨论
2020-2021第一学期"DCDD"第十二周讨论 这次不同的是,先来一个密文吧: 53fd95b7c2bd8c1383cdcbf5b04e3880 求解! 小组名称:DCDD 小 ...
- 20192305 王梓全Python程序设计实验四报告
20192305 王梓全Python程序设计实验四报告 课程:<Python程序设计> 班级: 1923 姓名: 王梓全 学号:20192305 实验教师:王志强 实验日期:2021年6月 ...
- Java Collection体系
Collection 接口 宏观图 快速使用 import java.util.*; public class Demo { public static void main(String[] args ...
- ORA-01427: 单行子查询返回多个行 出现原因及对应防止措施
原因:没有做好子查询约束条件 解决方法:1.加 AND ROWNUM =1 条件 但筛选结果可能并非一定是你想要的 2.匹配查询唯一约束条件
- jdkman(jdk版本管理工具)安装和使用(mac)
1.安装jdkman 1.1.下载命令 curl -s "https://get.sdkman.io" | bash 执行后,sdkman安装到目录$HOME/.sdkman/,比 ...
- 爱心代码_HTML
直接上效果 <!doctype html> <html> <head> <meta charset="utf-8"> <tit ...