使用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正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值