前言
通常情况下,我们安装Linux操作系统的时候需要从光盘启动,通过系统光盘bootloader启动安装程序,进入交互式安装模式,由用户配置安装选项,如磁盘分区、选择安装包等操作;安装完毕后重启结束安装。在生产环境中,成百上千台服务器需要安装操作系统的时候如果也采用交互式安装模式,无疑是极其低效的。本文主要介绍批量自动部署安装Linux操作系统。
服务器端环境部署:
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,为客户端分配IP地址。
tftp-server(Trivial File Transfer Protocol):简单文件传输协议,为客户端提供bootloader、kernel及其他引导文件
xinetd(eXtended InterNET services daemon):超级守护进程,tftp服务依赖于此进程
kickstart文件:自动安装配置文件
httpd:为客户端提供安装源及kickstart安装文件
引导文件:可从系统安装光盘提取。
一、安装配置DHCP服务
安装dhcp
[root@qin ~]# yum -y install dhcp
修改dhcp配置文件
[root@qin ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
[root@qin ~]# vim /etc/dhcp/dhcpd.conf
default-lease-time 28800; #默认租约时间
max-lease-time 86400; #最大租约时间
log-facility local7;
subnet 192.168.19.0 netmask 255.255.255.0 { #提供dhcp服务的子网
range 192.168.19.100 192.168.19.110; #可分配地址范围
option domain-name "qin.org"; #指定搜索域
option domain-name-servers 114.114.114.114, 8.8.8.8; #指定域名
option routers 192.168.19.1; #指定网关
next-server 192.168.19.23; #指定tftp服务器
filename "pxelinux.0"; #指定pxe引导文件
}
启动dhcp服务
[root@qin ~]# service dhcpd configtest #检查配置文件错误 Syntax: OK [root@qin ~]# service dhcpd start Starting dhcpd: [ OK ] [root@localhost ~]# ss -unl|grep :67 UNCONN 0 0 *:67 *:* [root@qin ~]# chkconfig dhcpd on
二、安装配置tftp-server。
安装
[root@qin ~]# yum -y install tftp-server
为客户端提供引导文件
[root@qin ~]# mkdir /media/cdrom #引导文件可从系统安装光盘拷贝
[root@qin ~]# mount /dev/cdrom /media/cdrom
[root@qin ~]# cp /media/cdrom/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
[root@qin ~]# cp /media/cdrom/isolinux/{boot.msg,splash.jpg,vesamenu.c32} /var/lib/tftpboot/
[root@qin ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@qin ~]# cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root@qin ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.19.23/ks.cfg #指定kickstart文件路径
[root@qin ~]# yum -y install syslinux #pxe引导文件由此包提供
[root@qin ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@qin ~]# tree /var/lib/tftpboot/ #检查内核及引导文件是否完整 /var/lib/tftpboot/ ├── boot.msg ├── initrd.img ├── pxelinux.0 ├── pxelinux.cfg │ └── default ├── splash.jpg ├── vesamenu.c32 └── vmlinuz 1 directory, 7 files
启动tftp-server
[root@qin ~]# chkconfig tftp on [root@qin ~]# service xinetd start Starting xinetd: [ OK ] [root@qin ~]# ss -unl|grep :69 UNCONN 0 0 *:69 *:*
三、kickstart文件生成
[root@qin ~]# yum -y groupinstall "X Window System" "Desktop" #kickstart文件创建依赖与图形桌面 [root@qin ~]# yum -y install system-config-kickstart
在图形桌面执行system-config-kickstart命令,根据需要选择或填写相关信息即可。

保存退出后会生成一个配置文件,可以根据需要再次修改。
firewall --disabled selinux --disabled install url --url="http://192.168.19.23/centos6" #指定网络安装路径 repo --name="CentOS" --baseurl=http://192.168.19.23/centos6 --cost=100 #指定安装源地址 rootpw --iscrypted $1$RWj/3$0JlND19WoyIh3cIx1zdCE0 #密码字符串也可以通过grub-md5-crypt命令生成 auth --useshadow --passalgo=sha512 text #文本界面安装,默认为graphics keyboard us lang en_US skipx logging --level=info reboot timezone Asia/Chongqing network --bootproto=dhcp --device=eth0 --onboot=on bootloader --location=mbr zerombr #清空mbr clearpart --all part pv.01 --grow --size=1 #配置逻辑卷,system-config-kickstart不支持逻辑卷,需要直接修改配置文件 part /boot --fstype=ext4 --size=500 volgroup VolGroup --pesize=4096 pv.01 logvol / --fstype=ext4 --name=lv_root --vgname=VolGroup --grow --size=1024 --maxsize=8192 logvol swap --name=lv_swap --vgname=VolGroup --grow --size=1984 --maxsize=1984 %packages #指定安装包或包组,包组以@打头 @base @development @server-platform-devel %end %pre #安装前执行脚本,此处未指定 %end %post #安装后执行脚本 groupadd -g 1001 qin useradd -u 1001 -g 1001 qin %end
四、安装配置httpd。
安装
[root@qin ~]# yum -y install httpd
配置
[root@qin ~]# mkdir /var/www/html/centos6 [root@qin ~]# mount /dev/cdrom /media/cdrom [root@qin ~]# mount --bind /media/cdrom /var/www/html/centos6 #绑定光盘镜像到httpd工作目录作为安装源供客户端使用 [root@qin ~]# cp /root/ks.cfg /var/www/html/ #把此前生成的kickstart文件放到http工作目录供客户端调用
启动
[root@qin ~]# service httpd start [root@qin ~]# chkconfig httpd on
客户端配置
1、修改bios设置,从网卡启动


2、选择第一项,可以直接回车执行自动安装;亦可以按TAB键手动修改需要读取的kickstart文件

3、开始安装

4、安装完验证是否与kickstart文件一致



原创文章,作者:秦,如若转载,请注明出处:http://www.178linux.com/4350


评论列表(1条)
有qa过程吗?虚拟化机器能正常安装吗?一个网络同时有多个dhcp服务会出什么问题吗?