centos7批量自动安装

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 方式之一进行安装;. **
centos7批量自动安装_第1张图片

实验环境:

1.centos7

2.搭建FTP服务器

3.搭建DHCP服务器

4.搭建TFTP服务器

具体操作:

搭建FTP服务器

第一步:安装TFP

yum - -disablerepo=* - -enablerepo=c7-media install vsftpd -y  *#本地安装指定yum源c7-media

第二步:将挂在光盘复制到FTP目录下

cp -r /media/cdrom/ /var/ftp/ &

第三步:配置.cfg文件并复制到FTP目录下

#安装system-config-kickstart
yum --disablerepo=* --enablerepo=c7-media install system-config-kickstart -y

启动system-config-kickstart无法启动的原因:没有安装桌面,
远程登陆情况下:将自己的windows主机做成桌面,使用Xmanager
具体操作:

          1、在X-shell输入: export  DISPLAY=自己的windows主机IP地址:0.0
              
                     例:export  DISPLAY=192.168.56.6:0.0  (不要忘记后面的:0.0)
          
          2、打开Xmaneger6,(需要自己添加自己主机的地址,也可以使用4或者5)。
          
          3、启动kickstart

system-config-kickstart图形界面:Package SeleCtion没有包选项解决办法

进入yum.repo.d,创建一个目录,将所有文件放入这个目录内,
只留下 CentOS-Media.repo文件,用vim编辑器修改, 
将enabled设置为1(打开这个yum仓库) 将yum仓库名称改成development

centos7批量自动安装_第2张图片

解决完上述问题kickstart可以正常启动了

基本配置:时区选上海 ,设置root密码,选择在文本模式下安装
centos7批量自动安装_第3张图片
安装方法:使用FTP服务器根目录下安装
centos7批量自动安装_第4张图片
引导程序选项:使用静默安装
centos7批量自动安装_第5张图片
设置分区
centos7批量自动安装_第6张图片
centos7批量自动安装_第7张图片
centos7批量自动安装_第8张图片
网络配置
centos7批量自动安装_第9张图片
验证

centos7批量自动安装_第10张图片
防火墙
centos7批量自动安装_第11张图片
图形界面
centos7批量自动安装_第12张图片
软件包安装(根据个人所需)
centos7批量自动安装_第13张图片
保存到root目录下,将保存的ks.cfg复制到ftp目录下

cp -r ks.cfg /var/ftp


第四步:启动TFTP

service vsftpd start
systemctl start vsftpd


搭建DHCP服务器

第一步:安装DHCP

yum - -disablerepo=* - -enablerepo=c7-media install dhcp -y

第二步:修改DHCP配置文件

vim /etc/dhcp/dhcpd.conf

subnet 192.168.142.0 netmask 255.255.255.0 {
range 192.168.142.2 192.168.142.99;
next-server 192.168.142.200;
filename “pxelinux.0”;
}                                                                                     
#修改分配地址的范围****

第三步:启动dhcp

service dhcpd start
systemctl start dhcp


搭建TFTP服务器

第一步:安装TFTP

yum install tftp-server

第二步:将TFTP打开

vim /etc/xinetd.d/tftp
#将disable改为no

第三步:将pxelinuz.0和内核复制到TFTP下载目录中

cp /media/cdrom/images/pxeboot/vmlinuz        /var/lib/tftpboot/
cp /media/cdrom/images/pxeboot/initrd.img       /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0             /var/lib/tftpboot    *#需要安装syslinux
#在TFTP下载目录创建pxelinux.cfg
cp /media/cdrom/isolinux/isolinux.cfg       /var/lib/tftpboot/pxelinux.cfg/default
#修改编辑default文件
vim default

1 default linux
2 timeout 6
3
4 label linux
5 menu label ^Install CentOS 7
6 kernel vmlinuz
7 append initrd=initrd.img ks=ftp://192.168.142.200/ks.cfg
**           #指定安装树,其余代码全部删除

第四步:启动tftp

service tftp.socket start
systemctl start tftp.socket

后续处理:

主机名区分以及网关设置

第一步:dhcp配置文件内

vim /etc/dhcp/dhcpd.conf

**subnet 192.168.142.0 netmask 255.255.255.0 {
range 192.168.142.2 192.168.142.99;
next-server 192.168.142.200;
filename “pxelinux.0”;
option routers 192.168.142.1;          #分配网关
}

第二步:重新生成ks.cfg文件

以IP地址主机号命名

IP=ifconfig |grep inet |head -n 1 | awk '{print $2}'`  #主机的IP地址
B=${IP##*.}                                            #主机号
gateway=`route -n  | grep -i ug | awk '{print $2}'`         #网关
mask=`ifconfig | grep -i netmask |head -n 1 |awk '{print $4}'`   #子网掩码
echo  "node$B.a.com" > /etc/hostname
echo -e "DEVICE=ens33\nONBOOT=yes\nBOOTPROTO=static\nIPADDR=192.168.142.$B\nNETMASK=$mask\nGATEWAY=$gateway" > /etc/sysconfig/network-scripts/ifcfg-ens33

插入ks.cfg文件中

centos7批量自动安装_第14张图片

生成ks.cfg文件并复制到ftp目录下

cp -r ks.cfg /var/ftp

你可能感兴趣的:(centos7批量自动安装)