linux无人值守
无人值守自动安装Linux操作系统
一、 简介
无人值守自动进行系统的安装是一种很有效的进行操作系统大规模安装的方式,可以避免很多不必要的麻烦!
要实现无人值守自动安装操作系统,需要设备本身具有一下功能:
1、PXE技术
PXE技术是由Intel公司开发的一种基于C/S模式的技术,其核心功能是能够让客户端通过网络从远程服务器上下载启动镜像,从而实现网络启动。在整个过程中,客户端会从服务器处得到分配的IP地址,再利用TFTP协议下载位于服务器上的启动镜像到本机内存中,并执行,最后再由这个启动文件完成客户端基本软件的设置。
2、Kickstart技术
要实现无人值守自动安装操作系统,除了上面提到的PXE技术外,还需要一种名为Kickstart的技术。Kickstart安装是目前主要的一种无人值守自动部署安装操作系统的方式,使用这种技术可以很方便的实现自动安装及配置操作系统。这种技术的核心是一种名叫自动应答的文件,即Kickstart文件,该文件的内容是将系统安装过程中需要手动设置的内容文本化了,让系统通过执行该文件中的内容进行系统安装时的自动设置。Kickstart文件有以下三种生成方式:
1)手动书写(只需要有一个文本编辑器即可);
2)通过system-config-kickstart图形化工具;
3)通过红帽的安装程序anaconda自动生成。
本文主要以system-config-kickstart图形化工具进行介绍!
二、 安装与配置服务器
-
安装部署dhcp服务器
[[email protected] ~]# yum -y install dhcp [[email protected] ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #复制配置文件到dhcp目录下 cp:是否覆盖"/etc/dhcp/dhcpd.conf"?y
修改dhcp配置文件
[[email protected] ~]# vim /etc/dhcp/dhcpd.conf subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.90; #dhcp地址池 option domain-name-servers ns1.internal.example.org; option domain-name "internal.example.org"; option routers 192.168.0.1; #默认路由,即网关 option broadcast-address 192.168.0.255; #广播地址 default-lease-time 600; max-lease-time 7200; next-server 192.168.0.63; #下一跳地址,即tftp服务器的地址 filename "pxelinux.0"; }
启动dhcp服务,并开机自启
[[email protected] ~]# systemctl start dhcpd && systemctl enable dhcpd
-
安装配置tftp服务
[[email protected] ~]# yum -y install tftp tftp-server xinetd syslinux
修改tftp配置文件
[[email protected] ~]# vim /etc/xinetd.d/tftp service tftp{ socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot #tftp的目录 disable = no #是否开启服务,yes为不开启,no为开启 per_source = 11 cps = 100 2 flags = IPv4 } [[email protected] ~]# mkdir /tftpboot/
复制客户端需要的文件到tftp目录下
[[email protected] ~]#cp /usr/share/syslinux/pxelinux.0 /tftpboot
[[email protected] ~]# mount /dev/sr0 /mnt
[[email protected] ~]# cp /mnt/isolinux/initrd.img /tftpboot
[[email protected] ~]# cp /mnt/isolinux/vmlinuz /tftpboot
[[email protected] ~]# mkdir /tftpboot/pxelinux.cfg
[[email protected] ~]# cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
[email protected] ~]# chmod 644 /tftpboot/pxelinux.cfg/default
修改配置文件
[[email protected] ~]# vim /tftpboot/pxelinux.cfg/default
1 default linux
2 timeout 600
62 menu label ^Install CentOS 7
63 kernel vmlinuz
64 #append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
65 append initrd=initrd.img inst.repo=ftp://192.168.0.63/pub inst.ks=ftp://192.168.0.63/ks.cfg #把64行注释掉,添加65行
-
安装vsftp服务
[[email protected] ~]# yum -y install vsftpd [[email protected] ~]#systemctl start vsftpd && systemctl enable vsftpd
验证服务是否成功
挂载光盘到ftp目录下
[[email protected] ~]#mount /dev/sr0 /var/ftp/pub
查看
配置本地yum源
[[email protected] ~]#cd /etc/yum.repos.d/
[[email protected] yum.repos.d]#mkdir bak
[[email protected] yum.repos.d]#mv *.repo bak/
[[email protected] yum.repos.d]#vim my,repo
[development]
name=my-centos7-yum
enabled=1
gpgcheck=0
baseurl=file:///var/ftp/pub
-
安装kickstart自动应答文件
[[email protected] ~]# yum -y install system-config-kickstart
[[email protected] ~]# system-config-kickstart
复制配置文件到/var/ftp下
[[email protected] ~]# cp ks.cfg /var/ftp/
- 配置pxe客户端机器
新建一台虚拟机,和服务器在同一个网络下
进入bios固件修改启动项
保存
启动虚拟机即可