无人值守安装Linux操作系统

无人值守安装流程:

客户端BIOS中设置为通过网络启动,客户端启动后通过发送广播包方式寻找dhcp服务器,如果找到dhcp服务器,即可向dhcp服务器申请获得ip地址在内的网络参数等,并通过dhcp获得tftp的位置,当客户端获得tftp服务器地址后,可从tftp服务器上将启动文件下载至本机内存运行,最终实现无盘启动功能。在启动文件中设置kickstart文件共享的位置,客户端启动后,可以自动寻找kickstart文件实现无人值守安装系统。kickstart文件只能通过网络共享,此文件中定义了如何安装操作系统,运行部署脚本等。

配置安装服务器:

IP Server
192.168.77.100 dhcp、tftp
192.168.77.101 nfs

1.安装DHCP服务器

dhcp服务器主要实现为客户端分配ip地址等网络参数,在无人值守环境中,当客户端从网络启动后,会通过发广播包的形式寻找dhcp服务器,从dhcp服务器获得IP地址等参数后才可以通过tftp共享读取启动文件。

安装dhcp服务:yum install -y dhcp

编辑dhcp配置文件:vi /etc/dhcp/dhcpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
#dhcpd.conf
#Sample configuration file for ISC dhcpd
log-facility local7;
#A slightly different configuration for an internal subnet.
subnet 192.168.77.0 netmask 255.255.255.0 {
range 192.168.77.200 192.168.77.250;
option domain-name-servers 8.8.8.8;
option routers 192.168.77.2;
default-lease-time 600;
max-lease-time 7200;
next-server 192.168.77.100;
filename "pxelinux.0";
}

启动dhcpd并设置为开机启动:

service dhcpd start

chkconfig dhcpd on

启动dhcpd时failed,查询/var/log/messages,看到Can’t chown new lease file: Operation not permitted,修改/etc/init.d/dhcpd中user,group为root,问题解决。

2.安装TFTP服务器

yum install -y tftp-server

vi /etc/xinetd.d/tftp #修改配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

把disable的值设置为no

共享路径为/var/lib/tftpboot

3.将客户端所需启动文件复制到TFTP服务器中

yum install -y syslinux

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

将Centos光盘光盘放入光驱中,从光盘中复制启动镜像文件和启动配置文件至tftp共享目录。

mount /dev/cdrom /media

cp /media/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/

mkdir /var/lib/tftpboot/pxelinux.cfg

cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

chmod 644 /var/lib/tftpboot/pxelinux.cfg/default

修改启动配置文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
default linux
timeout 600
display boot.msg
menu title Welcome to CentOS 6.5!
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=nfs:192.168.77.101:/ks/ks.cfg
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue

配置说明:default指定默认引导方式,从配置文件可以看出,有一种以label开始的名称为Linux的正常引导方式,另一种是名称为rescue的救援模式引导方式,而default决定默认采用哪种引导方式引导安装程序。此外,kernel指定的是系统内核文件,我们已经将其复制到tftp共享目录下,如果没有后面的ks参数,至此,我们可以实现无光盘启动,后面的安装步骤可手动进行,设置ks参数可以指定自动应答文件的位置,从而实现无人值守自动安装部署操作系统。

重启tftp服务并设置为开机启动:

service xinetd restart

chkconfig xinetd on

关闭防火墙防止客户端无法访问服务器:

service iptables stop

4.创建Kickstart自动应答文件

yum install -y system-config-kickstart

mkdir /ks #创建nfs共享ks文件夹

yum groupinstall -y “X Window System” “Desktop”

启动图形startx

运行system-config-kickstart

可以按需要配置,设置完成后,通过File菜单中的Save,可以保存Kickstart文件。

5.部署NFS服务器(在192.168.77.101上)

yum install -y rpcbind nfs-utils

vi /etc/exports

/ks 192.168.77.0/255.255.255.0(ro)

/media 192.168.77.0/255.255.255.0(ro)

vi /etc/hosts 添加本机主机名和IP的解析,否则用showmount -e时可能提示Unknown host

将光盘挂载到/media上:

mount /dev/cdrom /media

如果没有光盘,只有ISO镜像,也可将镜像挂载到/media上:

mount -o loop -t iso9660 ISO镜像 /media

启动NFS并设为开机启动:

service nfs start

chkconfig nfs on

关闭iptables:

service iptables stop

6.启动客户端,安装系统

所有客户端在BIOS中设置第一启动方式为PXE启动,进行系统安装。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

😉😐😡😈🙂😯🙁🙄😛😳😮:mrgreen:😆💡😀👿😥😎😕