PXE高效批量网络装机
一.什么是pxe
PXE的全称是preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
两个不可缺少的两个文件
vmlinuz:是内核映像
initrd.img: ramfs文件(精简版的linux系统,文件系统驱动等)
二.PXE批量部署的优点
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
三.操作过程
1.大概过程
1.分配给同一局域网内新加机器的地址(配置文件)
2.tftp服务端开启
3.安装syslinux取得pxelinux.O文件、和vsftpd服务4.挂载安装源(mount /dev/srO /varlftp/centos7)
5.将四大文件拷入(/var/lib/tftpbootinitrd.img pxelinux.0 pxelinux.cfg/defaultvmlinuz)
6.将服务开启,关闭防火墙,selinux
2.具体过程
1安装服务dhcp tftp-servervsftpsys1inux
2修改配置文件
dhcp
next-server IP地址;filename “pxelinux.0”;
tftp-server
/etc/xinetd.d/tftp
14行yes no
/var/lib/tftpboot
四大文件
initrd.img vmlinuz(光盘内images)
pxelinux.0 (安装sys7inux)
pxelinux.cfg (手动创建文件夹)
创建 default的文件
关闭防火墙
开启服务
四.实操
1.PXE
1,添加一块网卡做内网连接的
把第二块网卡设置为仅主机模式
查看下本地地址,给第二块网卡的网关设置为主机的IP地址
把第一块网卡内容复制到第二块网卡上并修改
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37
删除原来的uuid行,下面方框里的需要修改,网关为ftp服务器的ip地址
配置好后重启网络服务
[root@localhost network-scripts]# systemctl restart network
安装dhcp
[root@localhost network-scripts]# yum install dhcp -y
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y #拷贝文件覆盖原文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf #对文件进行编辑
更改27行,照此更改,前一行是网段,第二行是允许的网段,第三行是网关,第四行是dhcp主机,第五行为文件
安装tftp服务
[root@localhost ~]# yum install tftp-server -y
[root@localhost ~]# rpm -ql tftp-server 查看
红色部分是比较有用的文件夹,以后会用到,
编辑/etc/xinetd.d/tftp,把14行的yes改成no
[root@localhost ~]# vim /etc/xinetd.d/tftp
安装syslinux,产生pxelinux.0文件,拷贝到/var/lib/tftpboot/目录下
[root@localhost ~]# yum install syslinux -y
[root@localhost ~]# rpm -ql syslinux|grep "0"|tail -1 找到文件路径
/usr/share/syslinux/pxelinux.0
[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
pxelinux.0
安装vsftp
[root@localhost tftpboot]# yum install vsftpd -y
[root@localhost tftpboot]# rpm -ql vsftpd|tail -2
/var/ftp 这是vsftpd的站点位置
/var/ftp/pub
[root@localhost tftpboot]# cd /var/ftp
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7 在/var/ftp目录下创建该文件夹
[root@localhost ftp]# ls
centos7 pub
[root@localhost ftp]# mount /dev/sr0 centos7/ 把光驱挂载到新建目录下
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost /]# cd /var/ftp/centos7/images/pxeboot/
[root@localhost pxeboot]# ls
initrd.img TRANS.TBL vmlinuz
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/ 拷贝2个文件到/var/lib/tftpboot/
[root@localhost ~]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
[root@localhost tftpboot]# mkdir pxelinux.cfg 创建一个文件夹
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default 创建一个default文件并编辑
[root@localhost pxelinux.cfg]# systemctl start dhcpd
[root@localhost pxelinux.cfg]# systemctl start vsftpd
[root@localhost pxelinux.cfg]# systemctl start tftp
[root@localhost pxelinux.cfg]# systemctl stop firewalld.service
[root@localhost pxelinux.cfg]# setenforce 0
启动虚拟机
成功开始安装,这种方式只会安装到选择语音项,后面的都要手动配置安装
2.制作无人值守安装系统
在pxe基础上安装kickstart
[root@localhost pxelinux.cfg]# yum install system-config-kickstart.noarch -y
进行设置,第一块设置语言,键盘,时区,密码,安装完重启
设置安装模式和安装方法和路径
3.设置引导装载程序选项
设置分区信息
清除主引导分区,清除所有现存分区,初始化磁盘分区
添加/boot,swap,和/目录磁盘
/这里是把剩下的磁盘全部给
设置网络
添加网卡
验证就用默认设置
防火墙设置,都选择关闭
中间没提到的全部默认
配置好后进行保存
保存在文件系统里的/var/ftp文件夹下
[root@localhost ~]# cd /var/ftp
[root@localhost ftp]# ls
centos7 ks.cfg pub
[root@localhost ~]# ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
[root@localhost ~]# vim anaconda-ks.cfg
复制以下行数(安装包),注意符号也要一起复制
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@development
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
kexec-tools
%end
[root@localhost ~]# vim /var/ftp/ks.cfg 把刚刚复制的内容黏贴到此文件的最后一行
[root@localhost ~]# vim /var/lib/tftpboot/pxelinux.cfg/default 编辑此文件
添加命令
然后到客户机上就可以自动安装了
总结
使用工具能半自动甚至全自动安装系统
更多推荐
所有评论(0)