Linux运维进阶(四)批量装机环境 、 配置PXE引导 、 kickstart自动应答

综合实验:
1.构建虚拟机C与虚拟机D的Web服务器
虚拟机C:
[root@svr10 ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq

<VirtualHost *:80>
ServerName www.163.com
DocumentRoot /var/www/163

[root@svr10 ~]# mkdir /var/www/qq /var/www/163
[root@svr10 ~]# echo ‘

Web1 QQ’ > /var/www/qq/index.html
[root@svr10 ~]# echo ‘

Web1 163’ > /var/www/163/index.html

虚拟机D
[root@svr10 ~]# vim /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
ServerName www.qq.com
DocumentRoot /var/www/qq

<VirtualHost *:80>
ServerName www.163.com
DocumentRoot /var/www/163

[root@svr10 ~]# mkdir /var/www/qq /var/www/163
[root@svr10 ~]# echo ‘

Web2 QQ’ > /var/www/qq/index.html
[root@svr10 ~]# echo ‘

Web2 163’ > /var/www/163/index.html

2.虚拟机A构建DNS服务器
[root@svr7 ~]# vim /etc/named.conf
options {
directory “/var/named”;
};

view “nsd” {
match-clients { 192.168.4.7; };
zone “163.com” IN {
type master;
file “163.com.zone”;
};
zone “qq.com” IN {
type master;
file “qq.com.zone”;
};
};
view “other” {
match-clients { any; };
zone “163.com” IN {
type master;
file “163.com.other”;
};
zone “qq.com” IN {
type master;
file “qq.com.other”;
};
};

[root@svr7 ~]# cd /var/named/
[root@svr7 named]# vim qq.com.zone
qq.com. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.10

[root@svr7 named]# vim qq.com.other
qq.com. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.20

[root@svr7 named]# cp -p qq.com.zone 163.com.zone
[root@svr7 named]# vim 163.com.zone
163.com. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.10

[root@svr7 named]# cp -p 163.com.zone 163.com.other
[root@svr7 named]# vim 163.com.other
163.com. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.20
[root@svr7 /]# systemctl restart named

3.指定DNS服务器地址

[root@svr7 /]# echo ‘nameserver 192.168.4.7’ > /etc/resolv.conf

[root@pc207 ~]# echo ‘nameserver 192.168.4.7’ > /etc/resolv.conf

[root@svr10 ~]# echo ‘nameserver 192.168.4.7’ > /etc/resolv.conf

[root@pc20 ~]# echo ‘nameserver 192.168.4.7’ > /etc/resolv.conf

###################################################
部署DHCP服务器
• Dynamic Host Configuration Protocol
– 动态主机配置协议,由 IETF(Internet 网络工程师任
务小组)组织制定,用来简化主机地址分配管理

• 主要分配以下入网参数
– IP地址/子网掩码/广播地址
– 默认网关地址、DNS服务器地址

• DHCP地址分配的四次会话(以广播形式进行,先到先得)
– DISCOVERY --> OFFER --> REQUEST -->ACK

在一个网络中,只能有一个DHCP服务器

• 服务端基本概念
– 租期:允许客户机租用IP地址的时间期限,单位为秒
– 作用域:分配给客户机的IP地址所在的网段
– 地址池:用来动态分配的IP地址的范围

虚拟机A:
1.安装dhcp软件包
[root@svr7 ~]# yum -y install dhcp
2.修改配置文件
[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf
末行模式下:
:r /usr/share/doc/dhcp*/dhcpd.conf.example

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;
}

3.重启dhcpd服务
[root@svr7 ~]# systemctl restart dhcpd

###################################################
网络装机概述

网络装机的优势
• 规模化:同时装配多台主机
• 自动化:装系统、配置各种服务
• 远程实现:不需要光盘、U盘等物理安装介质

什么是PXE网络
• PXE,Pre-boot eXecution Environment
– 预启动执行环境,在操作系统之前运行
– 可用于远程安装

• 工作模式
– PXE client 集成在网卡的启动芯片中
– 当计算机引导时,从网卡芯片中把PXE client调入内存
执行,获取PXE server配置、显示菜单,根据用户选
择将远程引导程序下载到本机运行

•服务端需要哪些服务组件
– DHCP服务,分配IP地址、定位引导程序
– TFTP服务,提供引导程序下载
– HTTP服务,提供yum安装源

###################################################
在虚拟机A构建PXE网络装机服务器
一 配置DHCP服务器,指定下一个服务器地址
[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.100 192.168.4.200;
option domain-name-servers 192.168.4.7;
option routers 192.168.4.254;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.4.7; #指定下一个服务器地址
filename “pxelinux.0”; #指定网卡引导文件名称
}

[root@svr7 ~]# systemctl restart dhcpd

pxelinux.0:网卡引导文件 ,安装说明书,二进制文件
安装一个软件即可获得,默认生成的名字pxelinux.0

####################################################
二 构建tftp服务

tftp:简单的文件传输协议
端口默认为:69
默认共享位置:/var/lib/tftpboot

1.安装软件包为tftp-server
[root@svr7 ~]# yum -y install tftp-server
2.重启服务
[root@svr7 ~]# systemctl restart tftp

3.部署pxelinux.0引导文件
]# yum provides */pxelinux.0 #查询那个包产生的该文件
]# yum -y install syslinux
]# rpm -ql syslinux | grep pxelinux.0 #查询软件包安装清单

]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
]# ls /var/lib/tftpboot/

客户端----->DHCP---->next-server—>pxelinux.0
pxelinux.0---->/var/lib/tftpboot/pxelinux.cfg/default

4.部署默认菜单文件
首先关闭虚拟机A,图形添加一个光驱设备,放入光盘文件
[root@svr7 ~]# ls /dev/cdrom
[root@svr7 ~]# mount /dev/cdrom /mnt/
[root@svr7 ~]# ls /mnt/

]# mkdir /var/lib/tftpboot/pxelinux.cfg
]# cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

]# ls -l /var/lib/tftpboot/pxelinux.cfg/default

5.部署图形模块(vesamenu.c32)和背景图片(splash.png)
]# cp /mnt/isolinux/vesamenu.c32 /mnt/isolinux/splash.png /var/lib/tftpboot/

]# ls /var/lib/tftpboot/
pxelinux.0 pxelinux.cfg splash.png vesamenu.c32

6.部署启动内核(vmlinuz)和驱动程序(initrd.img)
]# cp /mnt/isolinux/vmlinuz /mnt/isolinux/initrd.img /var/lib/tftpboot/

]# ls /var/lib/tftpboot/
initrd.img pxelinux.cfg vesamenu.c32
pxelinux.0 splash.png vmlinuz

##################################################
总结:
dhcp—>IP地址 next-server filename
tftp—>pxelinux.0
pxelinux.0—>读取default菜单文件
default—>vesamenu.c32 splash.png vmlinuz initrd.img

7.修改菜单文件内容
]# vim /var/lib/tftpboot/pxelinux.cfg/default
末行模式 :set nu
1 default vesamenu.c32 #默认加载运行图形的模块
2 timeout 600 #默认读秒时间 1/10秒

10 menu background splash.png #背景图片
11 menu title NSD1904 PXE Server #显示标题信息

61 label linux
62 menu label Install CentOS7.5 #屏幕显示信息
63 menu default #读秒结束后默认选项
63 kernel vmlinuz #指定启动内核
64 append initrd=initrd.img #指定驱动程序
##################################################
[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl restart tftp
##################################################
初步测试:
新建一台全新的虚拟机
1.安装方式选择:PXE网络引导安装
2.内存必须2G
3.网络类型选择:private1

总结:
dhcp—>IP地址 next-server filename
tftp—>pxelinux.0
pxelinux.0—>读取default菜单文件
default—>vesamenu.c32 splash.png vmlinuz initrd.img

#################################################
三 构建Web服务器,将光盘内容共享给客户端
1.安装软件包
[root@svr7 ~]# yum -y install httpd

[root@svr7 ~]# mkdir /var/www/html/centos
[root@svr7 ~]# ls /var/www/html/centos

[root@svr7 ~]# mount /dev/cdrom /var/www/html/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# ls /var/www/html/centos
[root@svr7 ~]# systemctl restart httpd

[root@svr7 ~]# firefox http://192.168.4.7/centos

##################################################
四 部署无人值守安装,生成应答文件

1.安装一个system-config-kickstart图形化软件,生成应答文件
[root@svr7 ~]# yum -y install system-config-kickstart

2.运行图形化工具
以英文语言进行运行
[root@svr7 ~]# LANG=en system-config-kickstart

点击 “软件包选择(Package Selection)” 查看是否可以进行选择
需要Yum仓库的支持:指向光盘的内容仓库,标识必须为 [development]
[root@svr7 ~]# vim /etc/yum.repos.d/local.repo
[development]
name=CentOS-$releasever - Base
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0

[root@svr7 ~]# LANG=en system-config-kickstart
点击 “软件包选择(Package Selection)” 查看是否可以进行选择

[root@svr7 ~]# ls /root/ks.cfg
/root/ks.cfg

[root@svr7 ~]# vim /root/ks.cfg

3.利用Web服务器共享应答文件
[root@svr7 ~]# cp /root/ks.cfg /var/www/html/
[root@svr7 ~]# ls /var/www/html/
centos ks.cfg
[root@svr7 ~]# firefox http://192.168.4.7/ks.cfg

4.通过菜单文件,指定ks应答文件获取方式
]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label Install CentOS7.5
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.4.7/ks.cfg

]#
##################################################
总结:
dhcp—>IP地址 next-server filename
tftp—>pxelinux.0
pxelinux.0—>读取default菜单文件
default—>图形模块 背景 内核 驱动 ks应答文件
ks应答文件—>语言 分区 密码 时区 … 指定获取软件包的方式
获取软件包的方式—> --url=“http://192.168.4.7/centos

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值