通過網絡啓動自動化安裝CentOS 7

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章