系统装机有三种引导方式
- 硬盘
- 光驱
- 网络
装机过程
- 加载 boot loader
- 加载启动安装菜单
- 加载内核和initrd系统
- 加载根系统
- 运行anaconda的安装向导
PXE简介
PXE(预启动执行环境)是由Intel公司开发的网络引导技术,工作在Client/Server模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE具备以下三个优点:
1.规模化:同时装配多台服务器; 2.自动化:安装系统、配置各种服务; 3.远程实现:不需要光盘、U 盘等安装介质。
若要搭建 PXE 网络体系,必须满足以下几个前提条件
① 客户机
- 客户机的网卡要支持PXE协议(集成BOOTROM芯片)。
- 网卡自带DHCP服务和TFTP服务。
- 主板支持网络引导。有一些需在BIOS设置中允许从 Network 或 LAN 启动即可。
② 服务端
- 配置 DHCP 服务器 :为客户机自动分配地址、指定引导文件位置(指明TFTP服务器地址)。
- 服务器要开启 TFTP 服务(简单文件传输协议):用来提供系统内核和引导镜像文件的下载。
- 安装软件包syslinux :提供PXE引导程序。
- 服务器提供FTP服务(或http) :提供安装源(例如镜像文件系统等)。
实验操作过程##
1、安装四个软件包:dhcp、tftp-server、vsftpd、syslinux。
[root@localhost ~]# yum install dhcp tftp-server.x86_64 vsftpd syslinux -y
2、将虚拟机的网卡设置为仅主机模式,修改网卡配置文件,重启网络服务。模拟内网环境
2.配置DHCP服务器,分配IP地址,指明tftp服务器的地址
[root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/
[root@localhost dhcp-4.2.5]# ls
dhcpd6.conf.example dhcpd.conf.example ldap
[root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost dhcp-4.2.5]#
#编辑dhcp配置文件
subnet 172.16.100.0 netmask 255.255.255.0 //设置子网IP、子网掩码
range 172.16.100.10 172.16.100.30; //设置地址池
option routers 172.16.100.100;//设置网关地址
next-server 172.16.100.100;//指明TFTP服务器地址
filename "pxelinux.0";//声明使用pxelinux.0文件
3.修改TFTP服务配置文件/etc/xinetd.d/tftp,将服务开启(默认是关闭状态)
[root@localhost ~]# 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
}
4.将光盘挂载到/var/ftp的子目录centos7下,并将三大文件先拷入/var/lib/tftpboot/ 目录中:vmlinuz,initrd.img。pxelinux.0
[root@localhost syslinux]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 centos7/ ##将光盘挂载到/var/ftp/centos7/目录下
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# systemctl start vsftpd ##开启服务
[root@localhost ftp]# systemctl enable vsftpd ##设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost ftp]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 vmlinuz
5.在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在pxelinux.cfg目录下编写引导程序的配置文件default。
[root@localhost tftpboot]# mkdir pxelinux.cfg /创建子目录pxelinux.cfg
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default /编写default文件
default auto
prompt 0
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://172.16.100.100/centos7 ##使用ftp服务,指名安装源的路径
6.关闭防火墙和selinux。启动 dhcpd、tftp、vsftpd 三个服务。
[root@localhost ~]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl start dhcpd ##启动dhcp服务
[root@localhost ~]# systemctl start tftp ##启动tftp服务
[root@localhost ~]# systemctl start vsftpd##启动ftp服务
安装一台空白虚拟机 在启动界面
无人值守装机
1、服务端,yum install system-config-kickstart -y 安装kickstart软件
[root@localhost pxelinux.cfg]# yum install system-config-kickstart -y
2、进入虚拟机,在应用程序中找到 Kickstart 工具进行配置
全部完成之后安装一台空的虚拟机,启动就可以直接安装。