PXE如何实现自动化部署Linux系统介绍
背景说明
在数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常麻烦,系统安装好了,还会涉及很多配置,工作量都非常大。很多虚拟化平台如VMware,FusionCompute等安装一般通过ISO逐台安装,或者通过厂商工具来安装,比较麻烦。
PXE is Pre-Boot Execution Environment # 预启动的执行环境
PXE 通过网卡引导的技术
1.BISO支持
2.网卡支持
3.需要在BIOS中开启;服务器BMC界面打开
部署一台服务器,在服务器上安装DHCP+tftp (DHCP提供动态获取IP)
网卡DCHP获取信息
DHCP除了分配ip地址 还能提供引导程序的名字和tftp的server的地址
引导程序加载到内存,根据配置文件来引导
思路:
配置yum源
关闭防火墙和selinux
安装dhcp,tftp-server,htppd,syslinux包
配置dhcp,tftp-server,并启动服务
安装system-config-kickstart包,并生成ks无人值守脚本
配置引导菜单
配置DHCP
挂载光盘
mount /dev/cdrom /media
配置yum源
. `vim dvd.repo [development] #定义后期选包 name=centos baseurl=file:///media gpgcheck=0 enabled=1`
编辑DHCP文件(动态主机配置协议)
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #拷贝模板,覆盖掉conf文件
vim /etc/dhcp/dhcpd.conf #全局配置和子配置二选一, 全局配置 # option definitions common to all supported networks... 7 option domain-name "example.org"; 8 option domain-name-servers ns1.example.org, ns2.example.org; 9 10 default-lease-time 600; 11 max-lease-time 7200; 12 next-server 192.168.100.10; #指定tftpserver在哪里 13 filename "/pxelinux.0"; #网络引导程序文件 # 子配置 A slightly different configuration for an internal subnet. 47 #子网配置 48 subnet 192.168.100.0 netmask 255.255.255.0 { 49 range 192.168.100.11 192.168.100.30; #DHCP地址池的范围 50 option domain-name-servers 192.168.100.2; #DNS地址 (可以设置) 51 option domain-name "example.com"; #域名地址 52 option routers 192.168.100.1; #网关地址 53 option broadcast-address 192.168.100.255; #广播地址 54 default-lease-time 600; #租约期 获取到的ip存活多长时间 55 max-lease-time 7200; #租约期到期,在的话就还可以用,不在自动回收 56 }
tftp配置
[root@pxeserver ~]# vim /etc/xinetd.d/tftp # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no ##yes修改为no per_source = 11 cps = 100 2 flags = IPv4 }
syslinux配置
yum provides "*/pxelinux.0" ##查找此文件属于那个软件包 yum install -y syslinux #安装syslinux cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制pxelinux.0文件到tftp根目录下面 mkdir -p /var/lib/tftpboot/pxelinux.cfg #安放default配置文件 cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default ##开机文件cp到pxeLinux.cfg目录下 cp /media/isolinux/* /var/lib/tftpboot/ #cp安放iso文件,default来读取(安装菜单会显示) 此时还没有系统 配置default文件 menu separator # insert an empty line menu separator # insert an empty line label linux menu label ^Install CentOS 7.5 #菜单目录 kernel vmlinuz #内核文件 append initrd=initrd.img ks=http://192.168.100.10/ks/ks.cfg
配置httpd
yum install -y httpd systemctl start httpd systemctl enable httpd mkdir -p /var/www/html/centos cp -rfv /media/* /var/www/html/centos/ [root@pxe-server ~]# cat /etc/yum.repos.d/dvd.repo [development] #定义后期选包 name=centos baseurl=http://192.168.100.10/centos gpgcheck=0 enabled=1
配置无人值守
yum install -y system-config-kickstart system-config-kickstart #启动
ks.cfg文件具体配置如下:
到此这篇关于PXE如何实现自动化部署Linux系统介绍的文章就介绍到这了,更多相关PXE自动化部署Linux内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
原文出处:https://blog.csdn.net/m0_53302715/article/details/122018931
相关文章
- 网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法。...2015-03-15
Linux安装Pytorch1.8GPU(CUDA11.1)的实现
这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25- grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令,这篇文章主要介绍了Linux中grep详解,需要的朋友可以参考下...2023-02-15
- 这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
- 这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
- 这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
Linux下升级安装python3.8并配置pip及yum的教程
这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-02- 这篇文章主要介绍了Linux下安装mysql8.0.20的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-25
- 这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
- 这篇文章主要介绍了Linux zabbix agent部署及配置方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-21
- 这篇文章主要介绍了Linux下统计当前文件夹下的文件个数、目录个数,本文使用ls命令配合管理、grep命令实现统计需求,需要的朋友可以参考下...2020-07-11
- 这篇文章主要介绍了Linux环境下nginx搭建简易图片服务器,需要的朋友可以参考下...2016-01-27
- 这篇文章主要为大家详细介绍了Linux CentOS MySQL数据库的安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-19
- 这篇文章主要介绍了linux网络配置工具的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
Linux下semop等待信号时出现Interrupted System Call错误(EINTR)解决方法
本篇文章是对在Linux下semop等待信号时出现Interrupted System Call错误(EINTR)的解决方法进行了详细的分析介绍,需要的朋友参考下...2020-04-25- 这篇文章主要介绍了Linux下常用压缩格式的压缩与解压方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
Fedora14 Linux系统安装Golang开发环境笔记
这篇文章主要介绍了Fedora14 Linux系统安装Golang开发环境笔记,本文讲解了2种安装方法,需要的朋友可以参考下...2020-05-01- 这篇文章主要为大家详细介绍了linux上mysql安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-02-08
- 这篇文章主要介绍了linux服务器下oracle开机自启动设置,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
如何解决Linux下Too many open files问题
Too many open files是Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。...2021-06-01