Linux下搭建无人执守安装服务器

简介:

Linux下搭建无人执守安装服务器

什么是PXE

PXE(预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTPMTFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE ClientPXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

什么是Kickstart

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装

设置BIOS引导顺序为:  硬盘,网络   

前提:硬盘中没有系统。否则直接从硬盘启动了

 

PXE+Kickstart 无人值守安装操作系统完整过程如下:

 

wKiom1j-4izABhCiAAASstoPKk0650.png

wKiom1j-4iyQ_6G3AAIDJZa6jWA359.png

 

 

一:实验环境: 

服务端:xuegod-63   IP192.168.1.63   网卡模式: vmnet4

客户端:xuegod-64   IP192.168.1.64   网卡模式: vmnet4

二:实验代码

第一块:安装ftp,tftp服务部分

1.安装ftp服务以及开启服务,设置为开机自动启动。

[root@xuegod-63 ~]# yum install vsftpd -y

[root@xuegod-63 ~]# service vsftpd restart

[root@xuegod-63 ~]# chkconfig vsftpd on

 

2.安装TFTP,修改tftp配置文件及开启服务

[root@xuegod-63 ~]# yum install tftp tftp-server xinetd -y

[root@xuegod-63 ~]# vim /etc/xinetd.d/tftp #修改下面红色部分

wKiom1j-4kXBEb43AAAVArDSHVU543.png 

 

#server_args = -s /tftpboot是tftp服务器运行时的参数。-s /tftpboot表示服务器默认的目录是 /tftpboot

 

1)接着重新启动xinetd服务,然后查看服务端口是否打开。

[root@xuegod-63 ~]# /etc/init.d/xinetd  restart

[root@xuegod-63 ~]# netstat -anutp | grep xinetd

udp        0      0 0.0.0.0:69                  0.0.0.

#OKTFTP服务正常启动。Xinetd服务本来就是开机启动的,所以这里我们不再需要设置。

 

第二块:安装dhcp,修改配置文件及开启服务:

1:配置DHCP服务器:

[root@xuegod-63 ~]# yum install dhcp –y

[root@xuegod-63 ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

cp:是否覆盖"/etc/dhcp/dhcpd.conf"? Y #复制配置模板文件到DHCP的配置目录中

 

2:修改配置文件

[root@xuegod-63 ~]# vim /etc/dhcp/dhcpd.conf

# A slightly different configuration for an internal subnet.

subnet 192.168.1.0 netmask 255.255.255.0 {

  range 192.168.1.100 192.168.1.200;

  option domain-name-servers 192.168.1.1;

  option domain-name "internal.example.org";

  option routers 192.168.1.1;

  option broadcast-address 192.168.1.255;

  default-lease-time 600;

  max-lease-time 7200;

  next-server 192.168.1.63;

  filename "pxelinux.0";

}

注: 只保留一个subnet {。。。}

 

3:启动DHCP,设置为开机启动

[root@xuegod-63 ~]# service dhcpd restart

[root@xuegod-63 ~]# chkconfig dhcpd on

 

第三块:配置使用PXE,kickstart  启动所需的相关文件

1:安装软件:安装包

[root@xuegod-63]# yum -y install system-config-kickstart  #安装此包时,会把syslinux软件包也安装上。

2:准备tftp需要共享出去的文件

[root@xuegod-63 ~]# grep tftpboot /etc/xinetd.d/tftp

server_args= -s /var/lib/tftpboot

[root@xuegod-63 ~]# vim /etc/xinetd.d/tftp

wKioL1j-4lTwPazPAABEuKE6aZc709.png 

[root@xuegod-63 ~]# mkdir /tftpboot

[root@xuegod-63 ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/#注,只有安装了system-config-kickstart软件包,才会有/usr/share/syslinux/目录及目录中的文件。 复制pxelinux.0 文件至/tftpboot/ 文件夹中

[root@xuegod-63 ~]# cp /mnt/images/pxeboot/initrd.img /tftpboot/#虚拟到内存中的镜像文件

[root@xuegod-63 ~]# cp /mnt/images/pxeboot/vmlinuz /tftpboot/#内核

[root@xuegod-63 ~]#  mkdir /tftpboot/pxelinux.cfg

#iso 镜像中的/isolinux 目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为default

[root@xuegod-63 ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default #系统启动

[root@xuegod-63 ~]# chmod 644 /tftpboot/pxelinux.cfg/default#或者给755权限

3:修改/tftpboot/pxelinux.cfg/default的配置文件

[root@xuegod-63 ~]# vim /tftpboot/pxelinux.cfg/default

#文件里面需要修改两行,修改第1linux意思是寻找下面18行的label linux,然后修改下22行(即在后面添加ks=ftp://192.168.1.63/ks.cfg)。第22行的意思是使安装程序通过FTP服务器访问主机是192.168.1.63kickstart文件。

 

wKiom1j-4nDCSvXGAAA2kHjqmyc999.png

wKioL1j-4nHRkj6iAAAnse1X_Ts667.png

 

#以上有关default配置文件的修改就是通过ftp服务器方式来访问kickstart文件。

4:打开终端输入system-config-kickstart弹出来界面。

[root@xuegod63 ~]# echo $LANG

en_US.UTF-8

[root@xuegod63 ~]#.UTF-8

 [root@xuegod-63 ~]# system-config-kickstart#执行system-config-kickstart弹出来界面。

设置自己后期无人执守安装需要配置的参数:

wKiom1j-4oKge9RvAACJZAM7bU0975.png 

我们设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导。然后选择安装方法。

wKioL1j-4o_zfvLCAABfGw2MUbo228.png 

我们配置ftp服务器的安装方法。选择执行新安装。然后点击引导装载程序选项

wKiom1j-4p6w5ffhAABykCP5-7o070.png 

配置grub相关选项。

 

wKioL1j-4rix9oXSAAA7D3WW80k240.png 

设置分区大小

配置网络,默认没有网络设置,点击添加网络,设备名称为eth0,网络类型为dhcp

wKiom1j-4tTR2fxcAABKpvkbFkw024.png

wKiom1j-4tSwQTeSAAAwryLySV4821.png

wKioL1j-4tTBmbjZAABHVvmcS7E800.png

 

验证,默认就可以了。

wKioL1j-4uXTmjGUAABXLkIbbsg130.png 

防火墙和selinux根据自己需求选择开启或者禁用。选择关闭selinux和防火墙。

 

wKiom1j-4vPwIEHUAABaFJLKK2g656.png 

 

打上对勾以图形界面安装系统:

wKioL1j-4wKyzBqgAAA1q0dYyfU580.png 

 #自定义软件包默认可能没有勾选桌面。根据自己需求勾选。 我们为了快速度演示安装,不选择安装桌面。

wKiom1j-4w_SDhI4AACp_1NEbJ0411.png 

 

 #安装脚本:在"预安装脚本","安装后脚本"对话框中,可以分别添加在安装前、安装后自动动行的可执行语句。此项设置可以使服务器自动化配置变得更加容易

例如:配置客户机在完成安装后自动设置YUM仓库

wKioL1j-4xzBk2fUAACTDdiLh0A732.png 

rm -rf /etc/yum.repos.d/*

echo '[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt/

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release> /etc/yum.repos.d/rhel6.repo

 

wKioL1j-4yqhPVQrAACWb8GffZA373.png 

点击左上角的文件选择保存,选择下保存的路径 到此所有关于安装的配置已经配置完毕,

 

[root@test1 ~]#cp /root/ks.cfg /var/ftp  #复制ks.cfg文件到/var/ftp目录下

注:ks.cfg就是无人值守安装时要用的Kickstart文件。

要对应:/tftpboot/pxelinux.cfg/default文件中设置过ks=ftp://192.168.10.1/ks.cfg

配置基于ftpyum源,用于客户端安装时,读取软件包用:

 

5检测各项参数

[root@xuegod-63 ~]# vim /var/ftp/ks.cfg

wKioL1j-4zyAbFYfAAAZsS2gt6E160.png 

[root@xuegod-63 ~]# vim /tftpboot/pxelinux.cfg/default

wKiom1j-40mCUVTwAAAUlEWx0YM942.png 

#此时这里两处必须要显示一致

 

1挂载光盘并查看

[root@xuegod-63 ~]# mount /dev/cdrom /var/ftp/pub/

mount: block device /dev/sr0 is write-protected, mounting read-only

[root@xuegod-63 ~]# mount

/dev/sr0 on /var/ftp/pub type iso9660 (ro)

 

2重启服务

[root@xuegod-63 ~]# getenforce

Disabled

[root@xuegod-63 ~]# service vsftpd restart

3清空防火墙并保存

[root@xuegod-63 ~]# iptables -F

[root@xuegod-63 ~]# service iptables save

 

 

4查看

修改xuegod64 BIOS启动顺序为网络优先,加电后开始启动。

wKioL1j-42bw5ATGAAA86V7dJ9U616.png

wKiom1j-42fw5OMUAABNLFktKjw281.png

wKioL1j-42jxCW_CAAJzYLWetz8770.png

 

检查安装后,是否执行了脚本

wKiom1j-44LTQpfHAAAV2brZ25Y337.png 










本文转自 于学康 51CTO博客,原文链接:http://blog.51cto.com/blxueyuan/1919197,如需转载请自行联系原作者

目录
相关文章
|
5天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3天前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
4天前
|
Ubuntu Linux Shell
Linux系统命令 安装和文件相关命令
本文档详细介绍了Linux系统中的常用命令,包括软件安装卸载命令如`dpkg`和`apt-get`,压缩与解压命令如`gzip`、`bzip2`和`xz`,以及`tar`命令用于打包和解包。此外还介绍了文件分割命令`split`,文件操作命令如`cat`、`head`、`tail`、`more`、`less`等,管道命令和`wc`、`grep`、`find`、`cut`、`sort`、`uniq`、`diff`等实用工具。最后,文档还讲解了文件属性相关的命令如`chmod`、`chown`、`chgrp`以及创建硬链接和软链接的`ln`命令。
|
5天前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
16 0
监控Linux服务器
|
10天前
|
Linux TensorFlow 算法框架/工具
在Linux上安装其他版本的cmake 或 升级cmake
在Linux上安装其他版本的cmake 或 升级cmake
18 2
|
10天前
|
人工智能 Linux 开发工具
Linux安装Taiyi stable-diffusion-webui
Linux安装Taiyi stable-diffusion-webui
|
11天前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
43 2
|
5天前
|
监控 安全 网络协议
快速配置Linux云服务器
快速配置Linux云服务器
|
10天前
|
缓存 Linux 调度
Linux服务器如何查看CPU占用率、内存占用、带宽占用
Linux服务器如何查看CPU占用率、内存占用、带宽占用
42 0
|
11天前
|
Linux 网络安全 网络架构
如何处理在学校Linux连接不上服务器
如何处理在学校Linux连接不上服务器
27 0
下一篇
DDNS