Linux無人值守自動安裝詳細配置流程

以下配置流程均在CentOS 6.7實現


實驗環境:

PXE + httpd + dhcp + tftp-server + kickstart


實現環境:

    PXE+httpd + dhcp + tftp-server + kickstart


簡單介紹相關概念:

    PXE:是一種安裝方式,支持通過網絡引導,訪問服務器的文件來安裝系統,需要網卡支持

    http:文件服務器,存放系統ISO文件

    dhcp:實現客戶機地址分配

    tftp:存放PXE相關的文件的服務器

    kickstart:是安裝程序anaconda的安裝配置文件

    注意:若沒有PXE相關文件,如pxelinux.0,則需要安裝syslinux


1.配置文件服務器,http文件服務器
     安裝httpd並設置開機啓動

[root@johnson_linux ~]# yum install httpd
======================================================================================
 軟件包                            架構                       版本                                       倉庫                         大小
=======================================================================================
正在安裝:
 httpd                             x86_64                     2.2.15-47.el6.centos.4                     updates                     831 k
爲依賴而安裝:
 apr-util-ldap                     x86_64                     1.3.9-3.el6_0.1                            base                         15 k
 httpd-tools                       x86_64                     2.2.15-47.el6.centos.4                     updates                      77 k

#設置開機啓動
[root@johnson_linux ~]# chkconfig httpd on


掛載光盤並複製光盤的所有內容至/var/www/html目錄下

我這邊掛載點是/madia/dvd1,掛載點可自行創建目錄

#掛載光盤
root@johnson_linux ~]# mount /dev/cdrom /media/dvd1

#看一下掛在後光盤的內容
[root@johnson_linux ~]# ls /media/dvd1
CentOS_BuildTag  isolinux                RPM-GPG-KEY-CentOS-Debug-6
EFI               Packages            RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL               repodata            TRANS.TBL
images             RPM-GPG-KEY-CentOS-6

#cp光盤內容至/var/www/html目錄
[root@johnson_linux ~]# cp -r /media/dvd1 /var/www/html

#我把文件夾改名爲centos6.7方便辨認
[root@johnson_linux ~]# mv /var/www/html/dvd1 /var/www/html/centos6.7

 


2.配置tftp服務器:
安裝tftp-server並設置開機啓動

[root@johnson_linux ~]# yum install tftp-server
=====================================================================================
 Package              Arch            Version               
=====================================================================================
Installing:
 tftp-server          x86_64          0.49-7.el6                
Installing for dependencies:
 xinetd               x86_64          2:2.3.14-39.el6_4       

Transaction Summary
=====================================================================================

創建tftpboot文件夾

[root@johnson_linux ~]# mkdir /tftpboot

將以下這些文件複製到tftpboot目錄下

boot.msg  initrd.img  pxelinux.0  vmlinuz isolinux.cfg

#複製boot.msg
[root@johnson_linux ~]# cp /var/www/html/centos6.7/isolinux/boot.msg /tftpboot

#複製initrd.img
[root@johnson_linux ~]# ls /var/www/html/centos6.7/images/pxeboot/initrd.img /tftpboot

#複製 vmlinuz
[root@johnson_linux ~]# cp /var/www/html/centos6.7/images/pxeboot/vmlinuz /tftpboot

#複製pxelinux.0
[root@johnson_linux ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot

#創建pxelinux.cfg目錄
[root@johnson_linux ~]# mkdir /tftpboot/pxelinux.cfg

#複製isolinux.cfg文件到/tftpboot目錄並改名爲default
[root@johnson_linux ~]# cp /var/www/html/centos6.7/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

 

配置default文件

default linux    # 修改爲下面的label名字
#prompt 1
timeout 1

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.7!
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    # 此處label名對應上面的default
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=172.18.0.144      # 添加ks文件的地址

配置/etc/xinetd.d/tftp

修改以下兩處即可

service tftp
    {
        socket_type     = dgram
        protocol        = udp
        wait            = yes
        user            = root
        server          = /usr/sbin/in.tftpd
        server_args     = -s /tftpboot  ------#修改爲自己創建的目錄路徑
        disable         = no        ------#此處的yes改爲no
        per_source      = 11
        cps             = 100 2
        flags           = IPv4
    }

 

最後重啓tftp服務

[root@localhost ~]# service xinetd restart
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]

#設置開機啓動
[root@localhost ~]# chkconfig xinetd on

 


3.配置dhcp服務器
安裝dhcp並設置開機啓動

[root@localhost ~]# yum inatall dhcp

=====================================================================================
 Package      Arch           Version                              Repository    Size
=====================================================================================
Installing:
 dhcp         x86_64         12:4.1.1-49.P1.el6.centos            base         822 k

Transaction Summary
====================================================================================

編輯/etc/dhcp/dhcpd.conf

  # dhcpd.conf

    ddns-update-style none;

    next-server 172.18.0.144;                 #tftp地址
    
    filename "pxelinux.0";              # PXE文件名

    subnet 172.18.0.0 netmask 255.255.0.0 {   # 設定子網

    range  172.18.0.0 172.18.200.200;         # 設定可分配的子網範圍

    option routers 172.18.0.1;                # 配置路由網關

    }

 


4.配置kickstart文件
安裝system-config-kickstart.noarch 
   

[root@johnson_linux ~]# yum install system-config-kickstart.noarch

 

在圖形終端打開命令行窗口鍵入命令system-config-kickstart啓動配置窗口

wKiom1b72y-CnGS0AAG6cgmSKBM187.png基本配置

wKiom1b72zmhHZpcAAGh_fCRebE734.png

 

引導選項配置

wKioL1b73S_ikxRGAAFxHY9r8NQ296.png

 

分區配置

wKiom1b73KPD6y4zAAGdPxMO60U283.png

    

網絡配置

wKiom1b73WqQ2XlRAAFDupJkWOc412.png


加密配置

wKioL1b73hKh3Sg5AAEi9NKIIsk799.png

 

防火牆配置

wKiom1b73gvh7zRbAAEW7_XLvRc801.png

 

顯示配置

wKiom1b73g-yHxADAADi2OpDdtQ742.png

安裝包選擇

wKioL1b73wPhEbvQAAGh4TNQu40780.png


安裝腳本配置

wKiom1b73maRPlDYAAE9TvN5sAc652.png

   

 保存退出,文件名ks.cfg   

wKioL1b73yKB_cBwAAERhjB0fCw154.png

 

最後將生成的ks.cfg文件放在/var/www/html目錄下即可

至此自動化安裝環境配置完畢


    使用虛擬器實驗一定要將網絡設置爲橋接,否則服務無法連接dhcp服務器

關於ks文件的配置,想嘗試去自己去編寫,可以查考anaconda生成的anaconda-ks.cfg文件,就在root的家目錄下

 

貼上我的ks文件:(以下ks文件以馬哥的爲範本做了簡要的修改)

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall –disabled
# Install OS instead of upgrade
install
# Use network installation
url –url=”http://172.18.17.2/centos6.7″
# Root password
rootpw –iscrypted $1$Ga8vc8m.$fmBL3Rail7oAeErVtJM/9/
# System authorization information
auth  –useshadow  –passalgo=sha512
# Use text mode install
text
firstboot –disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux –disabled
# Installation logging level
logging –level=info
# Reboot after installation
reboot
# System timezone
timezone  Asia/Shanghai
# Network information
network  –bootproto=dhcp –device=eth0 –onboot=on
# System bootloader configuration
bootloader –append=”quiet” –location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart –all
# Disk partitioning information
part /boot –fstype=”ext4″ –size=200
part pv.008 –size=61440

volgroup vg0 –pesize=8192 pv.008
logvol / –fstype=ext4 –name=root –vgname=vg0 –size=20480
logvol swap –name=swap –vgname=vg0 –size=2048
logvol /usr –fstype=ext4 –name=usr –vgname=vg0 –size=10240
logvol /var –fstype=ext4 –name=var –vgname=vg0 –size=20480

%post
# set hostname
sed -i ‘s@HOSTNAME=.*@HOSTNAME=johnson_linux.server@’ /etc/sysconfig/network

# set hosts
echo “172.18.17.2 johnson_server” >> /etc/hosts

%end

%packages
@base

%end

    總結:ks文件配置比較重要,也是比較有技術含量的一環,網絡環境配置可以按部就班,但是ks文件卻需要自己去定製,能讀懂ks文件是關鍵,用system-config-kickstart來生成的ks文件也有不足之處,比如分區,就不能使用LVM,需要用到邏輯卷需要自己手動去編寫ks文件



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