要批量安装CentOS 7,心情异常激动。平常自己装系统多通过U盘、光盘,或者在一个操作系统之上通过特定的软件进行操作。这些方式在每一次安装时都需要人为进行一些操作,不适合批量安装。架设一个服务器,通过网络启动从这个服务器获取镜像来安装操作系统,实为批量安装的一个好方法。
我的服务器OS是Ubuntu 14.04,下面说说基于Ubuntu 14.04搭建一个CentOS 7自动化安装服务器的过程:
1.查看本机IP
ifconfig
这里是:192.168.67.39
2.安装TFTP服务器
sudo apt-get install tftpd
修改TFTP服务器配置文件
sudo vim /etc/xinetd.d/tftp
service tftp {
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftproot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
注:xinetd.d/下并无tftp文件,要自己新建的。
新建TFTP服务的根目录/tftproot
cd /
sudo mkdir tftproot
sudo chmod -R 777 tftproot/
sudo service xinetd restart
3.安装VSFTP服务器
sudo apt-get install vsftpd
修改TFTP服务器配置文件
sudo vim /etc/vsftpd.conf
anonymous_enable=YES
在Ubuntu下,VSFTP的根目录是:/srv/ftp/
注:tftp与vsftp的区别:前者简单,无认证,常用于LAN和UNIX,端口通常为69,只支持文件传输,不支持列目录。后者有认证,用于支持FTP协议的WAN,端口通常为21,支持多种操作。
4.挂载CentOS 7镜像
cd /srv/ftp/
sudo mkdir centos
sudo mount -o loop /home/jc/Downloads/os/CentOS-7-x86_64-DVD-1511.iso /srv/ftp/centos/
5.编写kickstart文件ks.cfg
cd /srv/ftp/
sudo vim ks.cfg
lang en_US
keyboard us
timezone Asia/Shanghai
text
install
reboot
url --url ftp://192.168.67.39/centos
rootpw --iscrypted $1$ifTOTYQH$BZym5dI91L0RUCYLoL2C91
auth --useshadow --enablemd5
firewall --disabled
skipx
selinux --disabled
network --device eth0 --bootproto dhcp
bootloader --location=mbr --driveorder=sda
clearpart --all --initlabel --drives=sda
part /boot --fstype ext4 --ondisk=sda --size=256
part swap --ondisk=sda --size=8196
part / --fstype ext4 --ondisk=sda --grow --ondisk=sda --size 51200
%packages
%end
注:这里最小化安装,暂不安装额外包,但是%packages和%end需要保留。
6.处理一些事情
cp /usr/lib/syslinux/pxelinux.0 /tftproot/
cd /tftproot/
mkdir pxelinux.cfg
cd pxelinux.cfg
cp /srv/ftp/centos/isolinux/isolinux.cfg ./default
sudo vim default
修改以下内容
timeout 30
label linux
menu label ^Install CentOS 7
menu default
kernel vmlinuz
append ks=ftp://192.168.67.39/ks.cfg initrd=initrd.img
注:label check 下的menu default前加#注释掉!
cp /srv/ftp/centos/isolinux/vmlinuz /tftproot/
cp /srv/ftp/centos/isolinux/initrd.img /tftproot/
cp /srv/ftp/centos/isolinux/vesamenu.c32 /tftproot/
7.安装DHCP服务器
sudo apt-get install isc-dhcp-server
修改DHCP服务器配置文件
sudo vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.67.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.67.100 192.168.67.150;
filename "/pxelinux.0";
next-server 192.168.67.39;
}
重启dhcp服务器
sudo service isc-dhcp-server restart
至此,服务器端已搭建完毕。
同一局域网下的机器,在没有其他DHCP服务器干扰的基础上,通过网络启动就可以自动安装CentOS 7。