全部博文(68)
分类: LINUX
2012-12-27 18:38:44
最近在安装操作系统,顺便尝试了几种安装方式把玩一下。一般来说,安装系统的方法不外乎以下几种:光盘安装,U盘安装,iso硬盘安装,网络安装等。这里主要介绍网络安装方式。
有时,在面对要安装几十台甚至上百台服务器时,网络安装是一种方便和有效的安装方法。它的原理是一种C/S的工作模式,server端包括DHCP服务器,文件服务器等来提供系统安装的内容,client端,即要安装系统的机器,首先通过DHCP服务器获得IP地址和网络引导文件(pxelinux.0)存放的位置,然后据此到文件服务器(TFTP服务器)上取得启动文件(pxelinux.0),内核映象文件(vmlinuz,initrd.img),启动配置信息(boot.msg,pxelinux.cfg/default),接着启动加载内核,系统安装文件的传输可以通过TFTP,NFS,HTTP的方式取得。到这一步,接下来基本就和光盘安装一样了。但要做到无人值守安装,就需要进一步将安装过程中的参数进行配置并加到引导配置文件中。在不同的操作系统下有些不同,如在网络安装Debian时可能要用到FAI工具并按照Debian安装的方式编写一个预配置文件,而CentOS可能用到kickstart来配置。
本人在win7虚拟的系统是Debian6,要安装的系统是CentOS6,采用PXE DHCP TFTP NFS的方式,下面介绍下过程。
一.准备工作
要进行网络安装,需要的设备:
1)DHCP服务器;
2)TFTP服务器;
3)一台存放系统安装文件的文件服务器,如TFTP,NFS,HTTP服务器;
4)客户机网卡支持PXE。
当然,以上服务器可以采用一台物理机。
二.安装过程
1.安装配置DHCP服务器
aptitude install dhcp3-server 来安装DHCP服务端。
注:我使用的是Debian系统,不同系统可能不一样。
vim /etc/dhcp/dhcpd.conf 修改DHCP配置文件:
subnet 192.168.164.0 netmask 255.255.255.0 {
range 192.168.164.10 192.168.164.110; #分配IP范围
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.164.255;
option routers 192.168.164.129; #网关
option domain-name-servers 192.168.164.129;
option domain-name "localhost";
option host-name "debian6";
allow unknown-clients;
allow booting;
allow bootp;
filename "/pxelinux.0"; #tftp服务器根目录存放
next-server 192.168.164.129; #pxe服务端IP
重启dhcp服务:dhcpd restart
2.安装配置TFTP服务器
aptitude install tftpd-hpa xinetd
注:不用装tftpd,它不支持bootp协议。
vim /etc/xinetd.d/tftp 添加xinetd管理tftp服务:
service tftp{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /srv/tftp #tftp 服务器的根目录
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
重启服务:
service tftp-hpa restart
service xinetd restart
3.安装NFS服务
aptitude install nfs-common nfs-server nfs-kernel-server
mount -o loop, ../centos6.iso /root/mnt #挂载安装镜像
将共享目录写入到/etc/exports中:
echo "/root/mnt *(ro,sync)" > /etc/exports #/root/mnt是我安装镜象挂载的位置
echo "/srv/tftp *(ro,sync)" >> /etc/exports #/srv/tftp是tftp服务的根目录
exportfs -a #使配置生效
showmount -e localhost #查看共享的目录,检查是否共享。
4.将启动相关文件放入TFTP文件服务器根目录
安装syslinux,Debian默认是没装的。
aptitude install syslinux #收集bootloader
cp /usr/lib/syslinux/pxelinux.0 /srv/tftp #将/usr/lib/syslinux/pxelinux.0拷贝到tftp服务器根目录/srv/tftp
#将光盘中的启动相关文件拷贝到tftp服务器根目录
cp /root/mnt/isolinux/vmlinuz /srv/tftp
cp /root/mnt/isolinux/initrd.img /srv/tftp
cp /root/mnt/isolinux/*.msg /srv/tftp
cp /root/mnt/isolinux/vesamenu.c32 /srv/tftp
mkdir /srv/tftp/pxelinux
cp /root/mnt/isolinux/isolinux.cfg /srv/tftp/pxelinux.cfg/default
到这一步止,客户端只要在开机时按F12进行网络引导就可以进行象光盘安装一样进行安装了,但正如前面所讲的,若要进行无人值守,还需要进行预配置,这部分内容比较烦杂,要根据具体情况来配,这里就不详细说明了,网络上这方面配置有很多。