通过网络启动自动化安装CentOS 7

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/SCNU_Jiechao/article/details/52081303

要批量安装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。

展开阅读全文

没有更多推荐了,返回首页