您的位置:首页 > 编程语言 > PHP开发

[无人值守安装操作系统]__RHEL6__FTP+TFTP+DHCP+Kickstart+PXE

2016-06-30 14:45 846 查看
实验环境

1.实验平台:VMware Workstation 10

2.实验OS:RHEL6

3.服务器A:

(1) 10.0.10.158

(2) DHCP/FTP/TFTP

(3) 有可使用的yum源

(4) 关闭防火墙和SELinux

4.服务器B:

(1) 为RHEL6被安装端

(2) 设置为网络引导安装

(3) 在VM中设置A和B连接在同一个LAN segement

准备工作

生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依赖于X Windows。所以我们需要在服务器A安装X Windows 和Desktop(图形界面支持):

# yum groupinstall Desktop
# yum groupinstall "X Window System"
# startx  ----->#可启动图形界面


FTP的安装与配置

# yum install vsftp*  -y   ------>#安装ftp
# service vsftpd start     ------>#启动ftp服务
# chkconfig vsftpd on      ------>#设置为开机自动启动


注意:FTP的配置,一定要保证anonymous匿名用户可以登录!

TFTP的安装与配置

1.安装tftp服务

# yum install tftp  -y
# yum install tftp-server -y


2.修改配置文件中13、14行的内容

# vim /etc/xinetd.d/tftp
1 # default: off
2 # description: The tftp server serves files using the trivial file transfer \
3 #       protocol.  The tftp protocol is often used to boot diskless \
4 #       workstations, download configuration files to network-aware printers, \
5 #       and to start the installation process for some operating systems.
6 service tftp
7 {
8         socket_type             = dgram
9         protocol                = udp
10         wait                    = yes
11         user                    = root
12         server                  = /usr/sbin/in.tftpd
13         server_args             = -s /tftpboot   #修改
14         disable                 = no             #修改
15         per_source              = 11
16         cps                     = 100 2
17         flags                   = IPv4
18 }


3.重启xinetd服务,检查端口(xinetd本来就是开机自启的),则TFTP服务可正常启动了

# /etc/init.d/xinetd  start
# lsof -i:69
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
xinetd  16111 root    5u  IPv4  76202      0t0  UDP *:tftp


DHCP的安装与配置

1.安装DHCP,修改配置文件

# yum install dhcp  -y
# vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
log-facility local7;
default-lease-time 3600;
max-lease-time 72000;
subnet 10.0.10.0 netmask 255.255.255.0 {
range 10.0.10.1  10.0.10.200;
option routers 10.0.10.158;
option subnet-mask 255.255.255.0;
}
filename "pxelinux.0";       ------>#这是网络引导必须有的配置
next-server 10.0.10.158;     ------>#这是网络引导必须有的配置


2.重启服务,设置为开机自启

# service dhcpd restart
# chkconfig dhcpd on


配置Kicksart

# mkdir /tftpboot    ------>#这对应了我们之前在xinetd.d/tftp配置文件中的设置(13行)
# mkdir /tftpboot/pxelinux.cfg
# yum  install  system-config-kickstart.noarch  –y
# cp /usr/share/syslinux/pxelinux.0 /tftpboot/  ------>#要安装system-config-kickstart.noarch才找得到syslinux这个目录的


# mount /dev/sr0 /mnt    ------>挂载光盘到/mnt下,就可以拷贝光盘中需要的文件了
# cp /mnt/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default
# cp /mnt/images/pxeboot/initrd.img  /tftpboot/
# cp /mnt/images/pxeboot/vmlinuz /tftpboot/
# chmod 644 /tftpboot/pxelinux.cfg/default


# vim /tftpboot/pxelinux.cfg/default
1	default linux     ------>#修改这里为linux,表示寻找18行的label linux
2	#prompt 1
3	timeout 600
4
5	display boot.msg
6
7	menu background splash.jpg
8	menu title Welcome to Red Hat Enterprise Linux 6.4!
9	menu color border 0 #ffffffff #00000000
10	menu color sel 7 #ffffffff #ff000000
11	menu color title 0 #ffffffff #00000000
12	menu color tabmsg 0 #ffffffff #00000000
13	menu color unsel 0 #ffffffff #00000000
14	menu color hotsel 0 #ff000000 #ffffffff
15	menu color hotkey 7 #ffffffff #ff000000
16	menu color scrollbar 0 #ffffffff #00000000
17
18	label linux
19	  menu label ^Install or upgrade an existing system
20	  menu default
21	  kernel vmlinuz
22	  append initrd=initrd.img ks=ftp://10.0.10.158/ks.cfg    ------>#修改这里(我们后面会生成ks.cfg这个文件的)------>如果要做成有人值守安装这行应该注释掉
23	label vesa
24	  menu label Install system with ^basic video driver
25	  kernel vmlinuz
26	  append initrd=initrd.img xdriver=vesa nomodeset
27	label rescue
28	  menu label ^Rescue installed system
29	  kernel vmlinuz
30	  append initrd=initrd.img rescue
31	label local
32	  menu label Boot from ^local drive
33	  localboot 0xffff
34	label memtest86
35	  menu label ^Memory test
36	  kernel memtest
37	  append -


制作无人值守安装文件

1.在图形界面下,打开终端输入system-config-kickstart,弹出界面

(1)基本配置:

设置下默认安装的语言,时区,根口令,然后勾选下面的安装后重新引导



(2).安装方法:

选择执行新安装,配置ftp服务器的安装方法。



(3).引导程序选项(漏截了盗个图)



(4).分区信息

根据需要规划分区大小



(5).网络配置

选择DHCP方式



(6).验证



(7).防火墙配置

根据需求选择开启或关闭防火墙和SELinux



(8).显示配置(再次盗图...)



(9).软件包选择

根据需求选择



(10).预安装脚本和安装后脚本

根据需求配置





2.左上角file,点击保存,命令为ks.cfg



最后一点步骤~

1.记得我们的在/tftpboot/pxelinux.cfg/default文件的22行中写过:

append initrd=initrd.img ks=ftp://10.0.10.158/ks.cfg

我们告诉了被安装机子要去哪里找这个安装文件,所以得把ks.cfg这个安装文件放到/var/ftp下,让它到时候可以去FTP服务器下载到这个安装文件

# cp  /root/ks.cfg  /var/ftp


2.记得我们在制作安装文件ks.cfg时,对于第(2)安装方法的配置吗。我们的安装源设置成了FTP方式,目录写了/pub

所以,要把光盘挂到/var/ftp/pub下,被安装机子需要的安装光盘里面的内容,就是到这里去找的

# mount  /dev/sr0  /var/ftp/pub


补充


1.可以查看一下安装文件ks.cfg的内容,会发现实质就是我们在制作过程中选择的那些设置

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="ftp://10.0.10.158/pub"
# Root password
rootpw --iscrypted $1$4mwMdVVg$x40MwRz3xD13hzBGOIwUs0
# System authorization information
auth  --useshadow  --passalgo=md5
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang zh_CN
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone  Africa/Abidjan
# Network information
network  --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=200
part /home --fstype="ext4" --size=500
part swap --fstype="swap" --size=1024
part / --fstype="ext4" --grow --size=1

%packages
@additional-devel
@base
@basic-desktop
@chinese-support
@console-internet
@desktop-debugging
@desktop-platform
@development
@emacs
@fonts
@general-desktop
@graphical-admin-tools
@graphics
@input-methods
@internet-applications
@internet-browser
@kde-desktop
@network-tools
@nfs-file-server
@office-suite
@remote-desktop-clients
@system-admin-tools
@system-management
@system-management-snmp
@system-management-wbem
@tex
@x11
git
ftp
tftp
wget
xsettings-kde
-ibus-table-cangjie
-ibus-table-erbi
-ibus-table-wubi
%end
%post
chkconfig NetworkManager off          ------>#所以可以在其中添加一些脚本来实现一些自定义的设置
sed -i '/NM/s/yes/no/' /etc/sysconfig/network-scripts/ifcfg-eth0
mkdir /myfile
wget ftp://10.0.0.254/pub/service.txt -O /myfile
chmod 600 /myfile/service.txt
useradd user01
echo "aixocm" | passwd --stdin user01
%end


2.实验过程遇到的错误

见博文:http://www.cnblogs.com/snsdzjlz320/p/5630268.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: