Centos通過PXE自動化安裝

來源:互聯網
上載者:User

標籤:pxe安裝

Centos的安裝管理程式是anaconda,系統安裝完成之後會在root的家目錄下自動產生一個kickstart設定檔:anaconda_ks.cfg。這個檔案主要是由命令段,軟體包段和指令碼段構成。

命令段:包含安裝系統是的各種操作命令

軟體包段:包含指定安裝或者不安裝的軟體包和包組

      %packages表示此段是軟體包段,以%end結束段

      PKG_NAME:指定要安裝的軟體包

      @GROUP_NAME: 指定要按裝的包組

      -PKG_NAME:表示不安裝此包,如果此包被依賴,也會被安裝

指令碼段:

      %pre: 安裝前指令碼,安裝環境的準備工作,以%end結束此段

      %post:安裝後指令碼,安裝完成後要執行的操作,以%end結束此段

kickstart檔案可以通過system-config-kickstart圖形化介面來配置,然後組建組態檔案,可以以指定的檔案名稱儲存在指定目錄。也可以開啟一個已有的kickstart設定檔來匯入配置在原來的基礎上做修改。

      安裝system-config-kickstart     

# yum install system-config-kickstart

      還有個命令ksvalidator可以檢查kickstart檔案的文法

# kickstart ks.cfg


PXE自動安裝:


1、配置DHCP

安裝DHCP

# yum install dhcp

配置DHCP,編輯設定檔/etc/dhcp/dhcpd.conf

option domain-name "example.org"; # 指定網域的網域名稱option domain-name-servers 172.16.142.1; # DNS 多個可用逗號隔開default-lease-time 86400; # 預設租約期限max-lease-time 100000; # 最大租約期限 log-facility local7; # 日誌裝置類型為local7subnet 172.16.0.0 netmask 255.255.0.0 {  # 指定網段的分配ip 和子網路遮罩   range 172.16.142.2 172.16.142.254; # 可使用的位址集區範圍   option routers 172.16.142.1; # 指定網關   next-server 172.16.142.1; # 指定下一個Server為tftp伺服器位址   filename "pxelinux.0 "; # 指定到tftp伺服器上下載pxelinux.0檔案}

檢查設定檔是否有語法錯誤

# service dhcpd configtestSyntax:OK

重新裝載dhcp服務組態檔

# service dhcpd force-reload

設定開機啟動服務

# chkconfig dhcpd on

查看開機啟動情況

# chkconfig --list dhcpddhcpd           0:off 1:off 2:on 3:on 4:on 5:on 6:off # 在2,3,4,5運行層級開機啟動服務

租約資訊庫查看ip的分配資訊:

# cat /var/lib/dhcpd/dhcpd.leases# The format of this file is documented in the dhcpd.leases(5) manual page.# This lease file was written by isc-dhcp-4.1.1-P1lease 172.16.142.4 {  starts 2 2014/07/29 10:53:30;  ends 2 2014/07/29 10:55:30;  tstp 2 2014/07/29 10:55:30;  cltt 2 2014/07/29 10:53:30;  binding state free;  hardware ethernet c4:6a:b7:d8:78:b0;  client-hostname "android-ef3831713d10353c";}lease 172.16.142.6 {  starts 2 2014/07/29 11:02:12;  ends 2 2014/07/29 11:04:12;  tstp 2 2014/07/29 11:04:12;  cltt 2 2014/07/29 11:02:12;  binding state free;  hardware ethernet 20:1a:06:bf:dc:43;  uid "\001 \032\006\277\334C";  client-hostname "PC201406062256";}


2、配置tftp Server

安裝tftp & tftp-server

# yum install tftp tftp-server

開啟tftp服務

# chkconfig tftp on# service xinetd restart

查看tftp服務是否啟動

# ss -unl |grep :69UNCONN     0      0                         *:69                       *:*


3、提供PXE工作環境

安裝syslinux

# yum install syslinux

複製pxelinux.0檔案到tftp上

# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


4、提供引導核心等所需檔案

掛載系統光碟片至/media/cdrom

# mount /dev/cdrom /media/cdrom

複製檔案到tftpboot目錄中

# cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot# cp /media/cdrom/isolinux/{splash.jpg,vesamenu.c32,boot.msg}  /var/lib/tftpboot

vesamenu.c32啟動菜單所需檔案,在tftpboot目錄下建立pxelinux設定檔目錄pxelinux.cfg目錄

然後複製/media/cdrom/isolinux/isolinux.cfg啟動菜單檔案到pxelinux.cfg目錄中,並且重新命名為default檔案

# mkdir /var/lib/tftpboot/pxelinux.cfg # cp /media/cdrom/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default# 設定檔的內容default vesamenu.c32  # 使用vesamenu.c32文本介面程式#prompt 1timeout 600  # 設定逾時60秒,單位為0.1秒display boot.msgmenu background splash.jpg   # 設定背景圖片menu title Welcome to CentOS 6.5! # 設定標題menu color border 0 #ffffffff #00000000menu color sel 7 #ffffffff #ff000000menu color title 0 #ffffffff #00000000menu color tabmsg 0 #ffffffff #00000000menu color unsel 0 #ffffffff #00000000menu color hotsel 0 #ff000000 #ffffffffmenu color hotkey 7 #ffffffff #ff000000menu color scrollbar 0 #ffffffff #00000000label linux    # 設定標籤,啟動時按tab鍵進入命令列介面是,可以使用標籤代替命令和參數  menu label ^Install or upgrade an existing system  menu default  kernel vmlinuz # 核心位置  append initrd=initrd.img ks= # 核心後帶的參數,指定了ks檔案位置 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 -


5、提供安裝源

安裝httpd

# yum install httpd# 建立光碟片掛載目錄# mkdir /var/www/html/centos# 掛載光碟片到目錄# mount /dev/cdrom /var/www/html/centos# 或者把光碟片掛載至/media/cdrom,再將/var/www/html/centos綁定掛載至/media/cdrom# mount /dev/cdrom /media/cdrom# mount /media/cdrom /var/www/html/centos


6、提供ks.cfg檔案

注意:ks.cfg 檔案other使用者要擁有可讀許可權

將ks.cfg檔案複製到http預設目錄下

# cp ~/anaconda_ks.cfg /var/www/html/ks.cfg# Kickstart file automatically generated by anaconda.#version=DEVELinstall# 相容Centos5的安裝源,不可省略,會報錯url --url=http://172.16.142.1/centos ....# 分區格式化clearpart --allpart /boot --fstype=ext4 --size=200part pv.008002 --size=61440volgroup vg0 --pesize=8192 pv.008002logvol / --fstype=ext4 --name=root --vgname=vg0 --size=20480logvol swap --name=swap --vgname=vg0 --size=2048logvol /usr --fstype=ext4 --name=usr --vgname=vg0 --size=10240logvol /var --fstype=ext4 --name=var --vgname=vg0 --size=20480# 指定安裝源repo --name="CentOS"  --baseurl=http://172.16.142.1/centos --cost=100# 配置安裝的包和包組%packages@Base@Core@base@basic-desktop...ibus-table-cangjieibus-table-erbiibus-table-wubilftp%end# 安裝後指令碼%post...%end


本文出自 “BH4CXJ” 部落格,請務必保留此出處http://9144446.blog.51cto.com/9134446/1533008

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.