使用RHEL6.4部署PXE+kickstart,實現自動安裝linux系統

使用RHEL6.4部署PXE+kickstart,實現自動安裝linux系統

準備環境 rhel6.4 配置好本地yum源,安裝dhcp,tftp-server,syslinux,xinetd服務

yum install -y dhcp tftp-server syslinux xinted ##有的linux版本在安裝tftp-server時會自動安裝xinted

服務安裝完成後,先配置dhcp

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf ## 複製dhcp.conf配置模板到dhcp配置目錄下命名爲dhcpd.conf
編輯複製過來的配置文件dhcpd.conf,添加配置
vim /etc/dhcp/dhcpd.conf

> option domain-name "xiewl.com"; //配置域名
option domain-name-servers vcenter.xiewl.com; //配置dns

default-lease-time 86400;//設置默認dhcp租約時間
max-lease-time 86400;//設置最大dhcp租約時間

subnet 10.33.133.0 netmask 255.255.255.0 { //配置網段
option routers 10.33.133.1;//配置默認路由
range 10.33.133.240 10.33.133.245;//配置地址池
next-server 10.33.133.220;//配置tftp-server地址
filename "pxelinux.0";//指定通過tftp傳送的引導程序,此文件需在tftp的文件目錄內存在

配置完dhcp再修改tftp配置
修改/etc/xinetd.d/tftp

vim /etc/xinetd.d/fttp

> service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot //tftp的主目錄
        disable                 = no  //默認爲yes,修改爲no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

配置完成後拷貝系統光盤內的安裝文件及pxelinux文件

cp /media/images/pxeboot/{vmlinuz,init.img} /var/lib/tftpboot/
cp /media/isolinux/{splash.jpg,vesamenu.c32,boot.msg} /var/lib/tftpboot/
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg //創建pxelinux配置文件目錄
cp /media/isolinux/isolinux.cfg //var/lib/tftpboot/pxelinux.cfg/default //將默認配置文件複製命名爲default

編輯配置
vim /var/lib/tftpboot/pxelinux.cfg/default

default vesamenu.c32 
prompt 5 
timeout 600
display boot.msg 
menu background splash.jpg
menu title Welcome to Red Hat Enterprise Linux 6.4!
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 RHEL6.4
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=http://10.33.133.191/kickstart/rhel6.cfg 

//此爲kickstart配置文件,使用httpd服務搭建的文件服務。也可使用ftp,nfs等其他方式實現

配置kickstart文件。
需在rhel6.4上安裝桌面環境及安裝system-config-kickstart
yum groupinstall “Desktop” “Desktop Platform”
yum groupinstall “X window System” “Graphics Creation Tools”
yum install -y system-config-kickstart
然後在桌面環境在命令行界面執行system-config-kickstart

1.
設置語言時區及root密碼
2.設置安裝源地址
3.設置grub密碼及安裝MBR
4.磁盤分區
5.配置網卡IP地址信息
6.選擇密碼加密方式
7.是否啓用selinux和firewall
8.這裏寫圖片描述
9.選擇需要安裝的包組

以上基本kickstart文件配置完成,另存即可。
完整的kickstart文件內容如下:

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
#Firewall configuration
firewall --disabled
#Install OS instead of upgrade
install
#Use network installation
url --url="http://10.33.133.191/rhel6.4/"
#Root password
rootpw --iscrypted $1$RB2TYcl5$fASrjF8PQjhHUWaMzzF4N.
#System authorization information
auth  --useshadow  --passalgo=sha512
#Use graphical install
graphical
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 
network  --bootproto=dhcp --device=eth1 --onboot=on
#System bootloader configuration
bootloader --append="crashkernel=auto rhgb rhgb quiet" --location=mbr --password="$1$kD8swauv$buWM69ctXiQd0YxKShwT5/" --md5pass="$1$vGptmW8d$9s01KD/CPnou5tcvkqDDH/"
# Clear the Master Boot Record
zerombr
# Partition clearing information
#clearpart --all --initlabel 
clearpart --all --drives=sda

part /boot --fstype=ext4 --size=500
part pv.008002 --grow --size=1

volgroup vg_rhel6 --pesize=4096 pv.008002
logvol / --fstype=ext4 --name=lv_root --vgname=vg_rhel6 --grow --size=1024 --maxsize=51200
logvol swap --name=lv_swap --vgname=vg_rhel6 --grow --size=2560 --maxsize=2560
 Disk partitioning information
part / --fstype="ext4" --size=51200

%packages
@additional-devel
@base
@client-mgmt-tools
@core
@debugging
@desktop-platform-devel
@development
@directory-client
@eclipse
@emacs
@graphics
@internet-browser
@java-platform
@network-file-system-client
@performance
@perl-runtime
@print-client
@server-platform
@server-platform-devel
@server-policy
@technical-writing
@tex
@virtualization
@virtualization-client
@virtualization-platform
ant
certmonger
desktop-file-utils
device-mapper-persistent-data
genisoimage
gnutls-devel
jpackage-utils
junit
krb5-workstation
libXau-devel
libXinerama-devel
libXmu-devel
libXrandr-devel
libbonobo-devel
libdrm-devel
libgcrypt-devel
libglade2-devel
libgnomeui-devel
libvirt-java
libxslt-devel
mtools
netpbm-progs
oddjob
openmotif-devel
pam_krb5
pax
perl-DBD-SQLite
popt-devel
python-dmidecode
rpmdevtools
rpmlint
samba-winbind
sgpio
startup-notification-devel
systemtap-client
wodim
xorg-x11-proto-devel

%end

如上配置就算完成。
啓動dhcp,xinetd服務即可。

service dhcpd start
service xinetd start

安裝中遇到的問題及錯誤。
1.能獲取到dhcp,在tftp下載文件時提示 “unable to local configuration file”。
解決方法:配置文件default配置錯誤,將boot.msg寫成boot.cat
2.配置完成dhcp和syslinux和tftp-server後啓動dhcp服務報錯
Job for dhcpd.service failed because the control process exited with error code. See “systemctl status dhcpd.service” and “journalctl -xe” for details.
解決方法:使用journalctl -xe命令查看錯誤
Failed to start DHCPv4 Server Daemon
網上一直沒找到原因,後來有帖子說使用dhcpd -t檢查配置文件語法後發現是配置地址池的range命令寫錯導致。
3.配置完成後使用tftp下載文件時提示transfer timed out。無法完成文件下載
解決方法:檢查服務後發現是未安裝xinetd程序導致
安裝xinetd後tftp正常。

發佈了26 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章