目录
批量装机
DHCP概述及原理:
-动态主机配置协议,由IETF(interente网络工程师任务小组)组织制定,用来简化主机地址分配管理
-主要分配以下入网参考
-IP地址/子网掩码/广播地址
-默认网关地址,DNS服务器地址
DHCP地址分配的四次会话
-DISCOVERY ——> OFFER ——> REQUEST ——> ACK
服务端基本概念
subnet 192.168.4.0 netmask 255.255.255.0 { #分配网段
range 192.168.4.100 192.168.4.200; #分配IP地址范围
option domain-name-servers 192.168.4.7; #分配DNS
option routers 192.168.4.254; #分配的网关地址
default-lease-time 600;
max-lease-time 7200;
}
网络装机概述
配置DHCP服务
next-server 192.168.4.7; #下一个服务器的IP地址
filename "pxelinux.-0"; #指明网卡引导文件名称
[root@svr7 ~]# systemctl restart dhcpd #重启服务
pxelinux.0:网卡引导文件(网络装机说明书)
二进制文件,安装一个软件可以获得该文件
[root@svr7 ~]# yum -y install tftp-server
[root@svr7 ~]# systemctl restart tftp
]# yum provides */pxelinux.0 #查询哪个包产生该文件
]# yum -y install syslinux #安装syslinux软件包
]# rpm -ql syslinux | grep pxelinux.0 #查询软件包安装清单
]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
]# ls /var/lib/tftpboot/
pxelinux.0
部署菜单文件(将光盘中的菜单文件进行复制)
[root@svr7 ~]# ls /mydvd/isolinux/
boot.cat grub.conf isolinux.bin memtest TRANS.TBL vmlinuz
boot.msg initrd.img isolinux.cfg splash.png vesamenu.c32
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg
[root@svr7 ~]# cp /mydvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@svr7 ~]# ls /var/lib/tftpboot/pxelinux.cfg/
default
部署图形模块(vesamenu.c32)与背景图片(splash.png)
[root@svr7 ~]# cp /mydvd/isolinux/vesamenu.c32 /mydvd/isolinux/splash.png /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg splash.png vesamenu.c32
部署启动内核(vmlinuz)与驱动程序(initrd.img)
[root@svr7 ~]# cp /mydvd/isolinux/vmlinuz /mydvd/isolinux/initrd.img /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
initrd.img pxelinux.0 pxelinux.cfg splash.png vesamenu.c32 vmlinuz
初步测试:KVM虚拟机
1.新建虚拟机
- 初步测试:Vmware虚拟机
- 重启相关的服务
[root@svr7 /]# systemctl restart dhcpd
[root@svr7 /]# systemctl restart tftp
- 关闭VMware软件的DHCP服务
课间休息:15:15上课
- 新建虚拟机,内存2G,网络类型选项vmnet1
- 菜单界面的显示
- 构建FTP服务,提供光盘内容
[root@svr7 /]# yum -y install vsftpd
[root@svr7 /]# systemctl restart vsftpd
[root@svr7 /]# mkdir /var/ftp/centos
[root@svr7 /]# mount /dev/cdrom /var/ftp/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 /]# ls /var/ftp/centos
[root@svr7 /]# curl ftp://192.168.4.7/centos/
实现无人值守安装,生成应答文件
安装system-config-kickstart图形的工具
[root@svr7 /]# yum -y install system-config-kickstart
[root@svr7 /]# system-config-kickstart #运行
system-config-kickstart程序需要Yum仓库的支持才能显示软件包的选择,必须要求Yum仓库的标识为[development]
[root@svr7 /]# vim /etc/yum.repos.d/mydvd.repo
[development]
name=centos7
baseurl=file:///mydvd
enabled=1
gpgcheck=0
[root@svr7 /]# system-config-kickstart
首先查看“软件包选择”是否可用
—运行图形的工具system-config-kickstart 进行选择
[root@svr7 ~]# system-config-kickstart
ftp://192.168.4.7/centos
重新划分新的分区
[root@svr7 /]# ls /root/ks.cfg
/root/ks.cfg
[root@svr7 /]# vim /root/ks.cfg
2.利用FTP服务共享应答文件
[root@svr7 /]# cp /root/ks.cfg /var/ftp/
[root@svr7 /]# ls /var/ftp/
centos ks.cfg pub
[root@svr7 /]#
[root@svr7 ~]# curl ftp://192.168.4.7/ks.cfg
3.修改菜单文件,指定应答文件获取方式
[root@svr7 /]# vim /var/lib/tftpboot/pxelinux.cfg/default
……..此处省略一万字
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg
总结思路:
1.dhcp服务---》IP地址、next-server、filename "pxelinux.0"
2.tftp服务---》 "pxelinux.0"
3.pxelinux.0---》读取菜单文件/var/lib/tftpboot/pxelinux.cfg/default
4.default---》vesamenu.c32、读秒时间、vmlinuz、initrd.img、ftp://192.168.4.7/ks.cfg
5.ks.cfg应答文件---》语言、键盘类型、分区、安装方式url --url="ftp://192.168.4.7/centos"
在虚拟机B构建网络装机时,关闭虚拟机A的DHCP服务,避免冲突