Linux——pxe中ks脚本增强

1)DHCP服务器,为上面两个虚拟机指定固定IP地址比如:第一台服务器分配.101,第二台服务器分配.102地址默认租期2小小时

2)修改ks脚本

磁盘分区:不使用逻辑卷,使用普通分区(注意SATA硬盘是sda)

参照ks脚本中part /boot的写法

/boot分配1G空间

swap分配2G空间

/ 分配剩余所有空间

创建用户:客户机自动创建用户dbuser,密码设置为redhat123

3)预定义软件包

不带图形界面的Server

定义两台虚拟机分别有两个网卡一个net,一个仅主机

一、DHCP

cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp-server/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
subnet 192.168.99.0 netmask 255.255.255.0 {
range 192.168.99.100 192.168.88.150;
option domain-name-servers 114.114.114.114;
option domain-name "example.com";
option routers 192.168.99.127;
option broadcast-address 192.168.99.255;
default-lease-time 3600;
max-lease-time 7200;
next-server 192.168.99.128;
filename "pxelinux.0";
 
host test1 {  
    hardware ethernet 00:50:56:2C:62:8B;  
    fixed-address 192.168.99.101; 
    server-name "test1.example.com"; 
  }  
  
  host test2 {  
    hardware ethernet 00:0C:29:FE:F2:7F;    
    fixed-address 192.168.99.102;
    server-name "test2.example.com";  
  } 
}

上部分

domain-name和之后要修改的配置,做一个匹配

假设所有客户机处于example.com这个领域

每个主机又有自己不同的主机名称

增加了DHCP默认租期,尽量让租用时间能覆盖PXE部署过程

下部分,对于每个客户机的配置

每个机器的MAC地址,提前收集

每个对应MAC的主机,匹配一个特定的IP地址

然后,每个主机,也有特定的主机名

二、TFTP

1)配置文件,没有变化,因为TFTP只是让客户能从指定目录,下载文件

本身没有更多个性化配置

2)tftp工作目录中的文件和特定配置

开机启动菜单,取消倒计时等待,设定超时时间

默认使用下面的linux这一段配置

menu部分

每个label是一个单独的菜单项,在开机启动菜单

kernel指定要使用的启动的内核

append部分指定内核参数......

有一个小改动:(不改也没问题,只是为了完全适应8以及后续版本系统的要求)

inst.ks=......(原本写ks=......也能识别加载ks文件)

=后面,写了http,接下来,用http提供软件仓库

default文件是只读,需要root用户操作,强制保存......

3)tftp工作目录中需要拷贝的文件不变

三、HTTP

原本使用apache

在/etc/http/conf/httpd.conf修改配置

默认目录是/var/www/html/

整个系统镜像内容,全部移到上面的这个目录

......

接下来,使用nginx做http的部分

1)安装软件包

yum install nginx -y

2 )修改配置文件

vi /etc/nginx/nginx.conf

监听端口,确保是80

root工作目录,使用默认目录

location做访问控制,只允许客户机所在网段访问

nginx自己自带的页面:index.html文件,404和50x的页面文件

现在把CentOS整个安装镜像的内容,拷贝到centos84目录

ks.cfg文件也拷贝到这里

3)启动启用http服务

四、ks脚本

修改原有的脚本,对将要安装的客户机,做一定程度的自定义配置

现在做其中一部分,还可以做更多......

repo指定http的路径

指定软件包

@^ 指定安装软件的套装

上面指定的,等效于自己图形化安装时指定的:Server

比Server GUI,少图形桌面,但是包含大部分需要用的必要软件包

比最小化安装,容量略大,但是软件包更全

还可以@ 后面跟要额外安装的软件包名称......

最后%end结束

如果有多个网卡需要在安装时候配置,可以写多条network

因为已经使用DHCP分配主机名,所以在ks里不单独指定主机名配置

安装介质的路径,也是http

上面,是客户机分区的配置

part条目,配置普通分区,如果要配置多个普通分区,按顺序写多条part

例子里用的是nvme硬盘,所以盘号是nvme0n1

如果是使用SATA盘,这盘号是sda

如果使用逻辑卷部署,但是又要保证/boot使用普通分区

先写part /boot的条目

之后的条目,先创建物理卷

part pv.编号

磁盘分区:不使用逻辑卷,使用普通分区(注意SATA硬盘是sda)

参照ks脚本中part /boot的写法

/boot分配1G空间

swap分配2G空间

/ 分配剩余所有空间

选项:--size=1,只给了1M,但是它要从1M起,后面跟着另一个选项

--grow,配合到一起,从1M容量起,自动分配剩余所有空间

volgroup建立卷组,并且,也没有指定容量,卷组占用pv所有空间

之后是创建每个逻辑卷lv,逻辑卷要指定容量

文件系统,上面例子使用了ext4,没使用xfs......

上面的分区配置方式

并不限定客户机磁盘总容量,可以根据磁盘容量自动适应上限

客户机的系统盘,只要留出足够空间即可

配置客户机系统内的用户

每创建一个用户,都写一行配置

再往后,可以指定安装后要执行的脚本或命令

写%post部分

会在系统软件包都装完,但是第一次重启前,执行

例子里

把自带的repo文件备份到其他位置,不使用

从服务器,下载一个repo文件

从服务器,又下载一个文件:hosts文件

下载文件,用的是wget,通过http下载

selinux更改模式

在初次安装时,关闭了防火墙服务(不关闭也可以,默认是放行ssh的)

在%post ...... %end

这段,可以写各种命令,也可以指定执行脚本......

最后,自动重启

5.额外准备的文件,客户机要从服务器下载的

1)hosts文件

这个文件直接会覆盖客户机的hosts

例子里,解析了服务器、两台客户机

cat hosts 
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1       localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.99.128 server8.example.com
192.168.99.101 test1.example.com
192.168.99.102 test2.example.com

2)repo文件

给客户机用,通过服务器,提供yum源

cat inter.repo 
[Appstream]
name=Appstream
baseurl=http://192.168.99.128/centos84/AppStreamenabled=1gpgcheck=0
[BaseOS]
name=local
baseurl=http://192.168.99.128/centos84/BaseOSenabled=1
gpgcheck=0

6.客户机安装后

1)有特定自己的IP地址,有自己的主机名

2)有hosts做基本名称解析

3)有网络yum源,指向服务器

相关推荐
活跃的煤矿打工人6 分钟前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
北京智和信通43 分钟前
云平台和虚拟化智慧运维监控,全面提升故障感知与处置能力
运维·虚拟化·云平台·虚拟机监控
fasewer1 小时前
第五章 linux实战-挖矿 二
linux·运维·服务器
楚灵魈1 小时前
[Linux]从零开始的网站搭建教程
linux·运维·服务器
小小不董1 小时前
《Linux从小白到高手》理论篇:深入理解Linux的网络管理
linux·运维·服务器·数据库·php·dba
豆豆2 小时前
为什么用PageAdmin CMS建设网站?
服务器·开发语言·前端·php·软件构建
这可就有点麻烦了2 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
DY009J2 小时前
深度探索Kali Linux的精髓与实践应用
linux·运维·服务器
程序员-珍2 小时前
虚拟机ip突然看不了了
linux·网络·网络协议·tcp/ip·centos
什么鬼昵称3 小时前
Pikachu- Over Permission-垂直越权
运维·服务器