Pxe+dhcp+nfs+tftp 从网络安装centos 6.0 最近给一台服务器安装操作系统,服务器光驱主板接口坏了,软驱也没有,也不支持从usb启动,快无语了…… 在网上搜了集一些从网络安装linux的文章,经过多次尝试终于安装好了。 简单原理介绍:无光软驱服务器通过PXE网卡启动,从dhcp服务器获取IP 通过tftp 取到pxelinux配置文件,按配置文件进行启动centos文件进行引导系统安装。这里我们需要另外的一台服务器来安装服务。 一、安装相关软件 yum -y install dhcp* nfs* tftp* 二、配置dhcp vim /etc/dhcpd.conf 默认的文件里边只有几行 # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # 根据提示我们找到这个配置示例文件 more /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample 示例文件内容如下 ddns-update-style interim; ignore client-updates; subnet 192.168.0.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.0.1; option subnet-mask 255.255.255.0; option nis-domain "domain.org"; option domain-name "domain.org"; option domain-name-servers 192.168.1.1; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.0.128 192.168.0.254; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address host ns { next-server marvin.redhat.com; hardware ethernet 12:34:56:78:AB:CD; fixed-address 207.175.42.254; } } 我们可以根据这个示例文件的说明来配置我们的dhcpd.conf 下边是我的配置文件: ddns-update-style none; ignore client-updates; allow booting; allow bootp; subnet 172.20.0.0 netmask 255.255.0.0 { option subnet-mask 255.255.0.0; option domain-name "duxiaokong.com"; option domain-name-servers 172.20.1.21,202.196.96.131; option routers 172.20.1.1; option time-offset -18000; range dynamic-bootp 172.20.92.100 172.20.92.180; default-lease-time 21600; max-lease-time 43200; # Group the PXE bootable hosts together # PXE-specific configuration directives... next-server 172.20.92.22; #指明tftpserver的地址 filename "/pxelinux.0"; #制定bootstrap文件,默认是tftp的主目录(/tftpboot) } 关于这个配置文件的详细解释如下: parameters(参数): ddns-update-style 配置DHCP-DNS互动更新模式 default-lease-time 指定缺省租赁时间的长度,单位是秒 max-lease-time 指定最大租赁时间长度,单位是秒 hardware 指定网卡接口类型和MAC地址 server-name 通知DHCP客户服务器名称 get-lease-hostnames flag 检查客户端使用的IP地址 fixed-address ip 分配给客户端一个固定的地址 authritative 拒绝不正确的IP地址的要求 declarations(声明): shared-network 用来告知是否一些子网络分享相同网络 subnet 描述一个IP地址是否属于该子网 range 起始IP 终止IP 提供动态分配IP 的范围 host 主机名称 参考特别的主机 group 为一组参数提供声明 allow unknown-clients或deny unknown-client 是否动态分配IP给未知的使用者 allow bootp或deny bootp 是否响应激活查询 allow booting或deny booting 是否响应使用者查询 filename 开始启动文件的名称,应用于无盘工作站 next-server 设置服务器从引导文件中装如主机名,应用于无盘工作站 option(选项): subnet-mask 为客户端设定子网掩码 domain-name 为客户端指明DNS名字 domain-name-servers 为客户端指明DNS服务器IP地址 host-name 为客户端指定主机名称 routers 为客户端设定默认网关 broadcast-address 为客户端设定广播地址 ntp-server 为客户端设定网络时间服务器IP地址 time-offset 为客户端设定和格林威治时间的偏移时间,单位是秒。 三、启动dhcp服务 /etc/init.d/dhcpd start 如果不能正常启动,可以使用命令dhcp -d查看一下配置文件是在哪里出错了 四、配置tftp 默认的tftp是关闭的 # default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -u nobody -s /tftpboot #添加nobody可以访问,-s 表示用/tftpboot作为tftp目录的根目录 disable = no #这里默认是关闭的,我们设为启用 per_source = 11 cps = 100 2 flags = IPv4 } 五、启动tftp服务 重启xinetd服务 /etc/init.d/xinetd restart 查看tftp 是否启动 chkconfig --list |grep tftp 六、配置nfs mount /iso/CentOS-6.0-i386-bin-DVD.iso /mnt -o loop #挂载镜像文件 vim /etc/exports #设置共享目录 /tftpboot *(ro,sync) /mnt *(ro,sync) #镜像文件解压后放置此处 重启服务 /etc/init.d/portmap start /etc/init.d/nfs start 查看共享目录 showmount -e localhost 七、配置pxe所需要的文件, 制作linux内核、跟文件系统 mkdir /tftpboot/pxelinux.cfg #将/usr/lib/syslinux/下的启动镜像文件pxelinux.0拷到TFTP服务器/tftpboot/ 下 cp /usr/lib/syslinux/pxelinux.0 /tftpboot/ #将镜像挂载后的isolinux/下的所有名为.msg文件、vmlinuz文件 、initrd.img文件拷到TFTP服务器/tftpboot/ /下: cp /mnt/isolinux/vmlinuz /tftpboot/cp /mnt/isolinux/initrd.img /tftpboot/ #将镜像挂载后的isolinux/下的isolinux.cfg复制到TFTP服务/tftpboot/pxelinux.cfg/下: cp /mnt/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/defaultOK!所有配置完成,这是要注意防火墙的配置 tftp 启动电脑,如果你的是intel网卡 按ctrl+s键 进入设置pxe 然后进入bios设置启动首选项 重启这时就会自动获取IP,网关等…… 出现Boot: 界面。输入linux text 进入。之后选择NFS安装系统。 (责任编辑:IT) |