Kickstart+PXE網絡自動化Centos系統安裝

    注:服務端須要安裝配置DHCP+HTTP+TFTP+Kickstart(重點建立ks.cfg文件)程序。html

服務端軟件安裝配置:java

1DHCP服務linux

yum -y install dhcp                            #安裝shell

rpm -ql dhcp |grep "dhcpd.conf"                  #檢查vim

vim /etc/dhcp/dhcpd.conf                        #配置服務器

ddns-update-style none;    # 不進行DDNS的更新網絡

 

ignore client-updates;     # 不容許客戶機更新DNS記錄app

 

subnet 172.16.1.0 netmask 255.255.255.0    # 與下面的range配合聲明可分配IP的範圍socket

{ide

        option routers 172.16.1.20 ;        # 設置網關

        range 172.16.1.30 172.16.1.50;   # 可分配的起始IP 結束IP

        option subnet-mask 255.255.255.0;      # 設定netmask

        default-lease-time 21600;              # 設置默認的IP租用期限

        max-lease-time 43200;                 # 設置最大的IP租用期限

        next-server 172.16.1.20 ;           # 用來告知主機TFTP服務器的ip

        filename "/pxelinux.0";      # tftp服務器根目錄下面的文件名(pxelinux.0PXE專用的一個boot loader 文件)

}

service dhcpd start                                 #啓動

chkconfig dhcpd on                                #設置開機啓動

netstat -nlptu |grep dhcp                             #檢查服務

sed -i 's/DHCPDARGS= /DHCPDARGS=eth0/g' /etc/sysconfig/dhcpd     #僅在eth0上提供dhcp服務

sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf&&sysctl -p  #開啓路由功能

 

2HTTP服務

yum -y install httpd                               #安裝

chkconfig httpd on                               #開機自啓動

service httpd start                                #啓動服務

mkdir -p /var/www/html/os                        #建立掛載目錄

mount /dev/cdrom /var/www/html/os/               #掛載系統鏡像

 

3TFTP服務

yum -y install tftp-server                             #安裝

vim /etc/xinetd.d/tftp                                #配置

service tftp

{

        socket_type             = dgram

        protocol                = udp

        wait                    = yes

        user                    = root

        server                  = /usr/sbin/in.tftpd

        server_args             = -s /var/lib/tftpboot        #指定默認目錄

        disable                 = no                    #由原來的yes,改成no

        per_source              = 11

        cps                     = 100 2

        flags                   = IPv4

}

yum -y install syslinux                                    #安裝引導程序(提供pxelinux.0文件)

cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/              #複製引導文件到TFTP的根目錄

cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/

cp /var/www/html/os/p_w_picpaths/pxeboot/vmlinuz /var/lib/tftpboot     

cp /var/www/html/os/p_w_picpaths/pxeboot/initrd.img /var/lib/tftpboot/   

mkdir -p /var/lib/tftpboot/pxelinux.cfg                

cp /var/www/html/os/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default    #拷貝啓動菜單

vim /var/lib/tftpboot/pxelinux.cfg/default                                     #配置文件

default vesamenu.c32

prompt 0

timeout 600

 

display boot.msg

 

menu background splash.jpg

menu title Welcome to CentOS 6.5!

menu color border 0 #ffffffff #00000000

menu color sel 7 #ffffffff #ff000000

menu color title 0 #ffffffff #00000000

menu color tabmsg 0 #ffffffff #00000000

menu color unsel 0 #ffffffff #00000000

menu color hotsel 0 #ff000000 #ffffffff

menu color hotkey 7 #ffffffff #ff000000

menu color scrollbar 0 #ffffffff #00000000

 

label linux

  menu label ^Install or upgrade an existing system

  menu default

  kernel vmlinuz

  append initrd=initrd.img ks=http://172.16.1.20/ks.cfg ksdevice=eth0 ip=dhcp

label vesa

  menu label Install system with ^basic video driver

  kernel vmlinuz

  append initrd=initrd.img xdriver=vesa nomodeset

label rescue

  menu label ^Rescue installed system

  kernel vmlinuz

  append initrd=initrd.img rescue

label local

  menu label Boot from ^local drive

  localboot 0xffff

label memtest86

  menu label ^Memory test

  kernel memtest

  append -

chmod 644 /var/lib/tftpboot/pxelinux.cfg/default                    #設置文件權限

ls /var/lib/tftpboot                                            #檢查

initrd.img  pxelinux.0  pxelinux.cfg  vesamenu.c32  vmlinuz

 

4、配置kickstart自動安裝文件

yum -y install system-config-kickstart         #建議在圖形化界面內安裝配置

vim /var/www/html/ks.cfg                       #配置

#by lrj 2016-3-29

# Kickstart file automatically generated by anaconda.

install                                     #告知安裝程序,這是一次全新安裝,而不是升級

url --url=http://172.16.1.20/os/        #告知安裝程序,這是一個網絡安裝,使用HTTP來提供安裝所需的資源

text                                        #使用文本模式安裝

lang en_US.UTF-8                            #默認語言是英語

keyboard us                                 #使用美式鍵盤

zerombr                                     #清空mbr

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"  #指定bootloader的安裝位置及參數

network --device eth0 --bootproto dhcp --onboot on --hostname=CentOS6 --noipv6     #設置安裝完成後的主機名和網絡

timezone  Asia/Shanghai                     #設置時區

auth --useshadow --passalgo=sha512          #設置密碼加密方式爲sha512 啓用shadow文件

rootpw --iscrypted $6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0                                        #設定root的密碼

clearpart --all --initlabel                 #清空全部分區

part /boot --fstype=ext4 --size=200         #新建/boot分區

part swap  --fstype=swap --size=1000        #新建swap分區

part /     --fstype=ext4 --size=10000       #新建/分區

part /data --fstype=ext4 --grow --size=1    #新建/data分區

#part pv.008002 --size=5120                  #新建2個pv,每一個pv大小爲5G

#part pv.008003 --size=5120

#volgroup vg_root --pesize=4096 pv.008002 pv.008003  #新建一個VG,名爲vg_root 包含了剛纔建立的2個PV

#建立LV

#logvol / --fstype=ext4 --name=lv_root --vgname=vg_root --size=5120

#logvol swap --name=lv_swap --vgname=vg_root --size=2048

#logvol /data --fstype=ext4 --name=lv_data --vgname=vg_root --grow --size=1   #餘下部分

firstboot --disable                          #禁止firstboot,firstboot就是咱們使用圖形化安裝完系統,重啓後有一個初始設置

selinux --disabled                           #禁止selinux

firewall --disabled                          #禁止防火牆

logging --level=info                         #設定安裝過程當中的日誌級別

reboot                                       #設定安裝完成後重啓

#安裝包我選擇的是Basic模式,添加了中文支持

%packages

@base

@development

#中文支持

@chinese-support

@console-internet

@core

@debugging

@directory-client

@hardware-monitoring

@java-platform

@large-systems

@network-file-system-client

@performance

@perl-runtime

@server-platform

@server-policy

#加上優化腳本

%post

cd /root

/usr/bin/wget http://172.16.1.20/shell.tar.gz

/bin/tar -zxf shell.tar.gz

/bin/sh ` find ./ -name '*.sh' `

%end

注意

 grub-crypt                            #密方式爲sha512生成的密碼

Password: rhce

Retype password: rhce

$6$QHOksakPohOoVUL9$CNCHfAMYDZZZzZixAGGKCWdPkK8qVvpRk9DkaDOJtrRXlJkzk5GHMZ9zqCTdr8Qiozl9qHOVT5XnbGaZKt06d0

    特別注意分區方面,大小要以機器硬盤大小爲主修改編寫(不然出錯),後續還能夠加上一些自動化腳本作優化。

相關文章
相關標籤/搜索