快速业务通道

全自动安装linux操作系统(CentOS)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-31
 客户端网卡在主机启动初始化时通过网卡内置的PXE芯片启动DHCP进程向server获取ip地址,网卡获取到ip地址后,server会提供给 client一个下载bootloader的指令,就是dhcp服务器中dhcpd.conf配置文件中filename这个选项.  一:过程思路:(建议先跳过文字按照安装步骤边安装边看思路)  1:客户端网卡在主机启动初始化时通过网卡内置的PXE芯片启动DHCP进程向server获取ip地址,网卡获取到ip地址后,server会提供给client一个下载bootloader的指令,就是dhcp服务器中dhcpd.conf配置文件中filename这个选项.  2:网卡PXE芯片中已经包含了tftp client程序,获取到ip地址后,网卡会启动tftp服务去向tftp server请求传输这个bootloader文件PXElinux.0.当Bootloader加载后我们可以看到主机屏幕上有信息显示,而这个画面就 是我们在用光驱装linux的时候看到的第一个画面.画面提示选择图形界面安装还是linux text字符界面安装等信息.如果在server端的tftpboot目录下只有这个文件,那么客户机会一直停留在boot这个地方,没有default这个bootloader配置文件告诉机器下一步加载哪个系统内核,default配置文件的作用是告诉主机从哪里去加载操作系统内核,这个时候如果我们按照正常光碟装机时会看到提示:输入回车或者linux text等信息.Bootloader会去调用default配置文件中的操作系统内核文件.  3:default 文件配置好之后,接着就是指定内核文件,这个在default文件.就是vmlinuz,initrd.img *.msg 这几个文件.  4:到这一步加载成功后,系统就按照我们平常光碟装系统看到的过程一模一样了,选择语言,鼠标,键盘等,但有了KS这个自动安装脚步,这些都不要我们手工去指定,全部会自动完成.  5:到这里为止,也许有人会问,那我们从哪里去加载安装的镜像.且慢,不是有个ks安装脚本吗,就是这个脚本里面我们可以指定安装镜像在哪里.  6:现在就考虑系统镜像的传输,这里我们选用linux特有的NFS网络文件系统进行镜像的传输.当然也可以用HTTP,ftp等方式.但为什么我们直接使用tftp呢,这个协议在传输大文件的时候效率非常低. 二:具体安装过程:  说明:server IP:192.168.9.20 linux版本:centos 5.2  1:安装tftp 服务器 和dhcp服务器:  root@centos CentOS]# rpm -qa |grep tftp  tftp-server-0.42-3.1.el5.centos  [root@centos CentOS]# rpm -qa |grep dhcp  dhcpv6-client-1.0.10-4.el5  dhcp-3.0.5-13.el5  目的是确保客户端能够正常获取到ip地址和pxelinux.0文件.  2:修改tftp参数:  [root@centos CentOS]# vi /etc/xinetd.d/tftp  ……………………………………………………………………………………  service tftp  {  socket_type = dgram  protocol = udp  wait = yes  user = root  server = /usr/sbin/in.tftpd  server_args = -s /tftpboot  disable = yes / 改成no /  per_source = 11  cps = 100 2  flags = IPv4  }  …………………………………………………………………………………………  /tftpboot 这个参数主要是指定tftp client 客户端从服务器的哪个目录去加载bootloader的pxelinux.0文件.3:启动tftp:  [root@centos CentOS]# service xinetd restart  Stopping xinetd: [FAILED]  Starting xinetd: [ OK ]  4:安装dhcpd服务并配置启动:  [root@centos ~]# vi /etc/dhcpd.conf  ddns-update-style interim;  ignore client-updates;  boot bootp;  subnet 192.168.9.0 netmask 255.255.255.0  { /分配给client端的ip地址/  option routers 192.168.9.1;  option subnet-mask 255.255.255.0;  option domain-name "domain.org";  option domain-name-servers 202.96.128.66;  option time-offset -18000;  range dynamic-bootp 192.168.99.2 192.168.9.100;  filename "/pxelinux.0"; /用来指定tftp根目录的启动文件实际是在/tftpboot目录下./  default-lease-time 21600;  max-lease-time 43200;  next-server 192.168.9.20; /这一句是告诉client从哪里加载bootloade/r  }  5: 创建文件夹并拷贝pxelinux.0至/tftpboot目录:  mkdir /tftpboot  cp /usr/lib/syslinux/pxelinux.0 /tftpboot /pxelinux.0server已经有/  midir /tftpboot/pxelinux.cfg  touch /tftpboot/pxelinux.cfg/default  default内容可以修改成如下:  …………………………………………………………………………  default autoinstall /缺省引导autoinstall 这个label/  prompt 1  timeout 30 /缺省自动加载的时间30s/  ………………………………  label autoinstall  kernel vmlinuz /内核文件名字/  append ks=nfs:192.168.9.20:/tftpboot/ks  initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb  ……………………………………………………………………………………  append 这个选项是指定从哪个地方去读取这个配置文件,用什么方式加载.这里使用nfs方式获取KS这个文件,当然也可以用FTP、HTTP等方式.ks 文件,也就是linux自动加载安装中各项参数,平常我们用光盘安装的时候需要选择相应的语言,字体,键盘,鼠标,分区,安装的软件包等待信息,KS文件 就是让这些选择自动化进行.6:ks 文件内容如下:可以根据自己实际环境进行更改.  …………………………………………………………………………  lang en_US  langsupport zh_CN en_US --default=en_US  keyboard us  mouse  timezone Asia/Shanghai  rootpw password /新装系统的root密码/  reboot  #upgrade  install  #harddrive --partition=sdb1 --dir=rhas  nfs --server=192.168.9.20 --dir=/media/cdrom /指定镜像的位置/  text  bootloader --location=mbr  zerombr yes  clearpart --drives hda –initlabe /硬盘名字,根据实际环境更改/  part / --fstype ext3 --size 3072 --asprimary --ondisk had  part swap --size 256 --asprimary --ondisk hda  part /tmp --fstype ext2 --size 256 --ondisk hda  part /home --fstype ext3 --size 1 --grow --ondisk hda  auth --useshadow --enablemd5  #network --bootproto=dhcp --device=eth0  network --device=eth0 --bootproto=static --  ip=192.168.9.210 --netmask=255.255.255.0 --  gateway=192.168.9.244 --nameserver=202.96.128.68 --  hostname=test.com /指定新装系统的主机名和ip/  firewall --disabled  skipx  %packages –resolvedeps /指定新装系统所需的包/  @ development-tools  @ admin-tools  @ system-tools  ………………………………………………………………………………  Kickstart 具体内容的研究可以参考redhat官方网站,根据实际环境修改KS的内容以适合自己的要求. 7: NFS服务器的创建:  a:先确认NFS文件系统在服务器端已经安装好.  [root@centos ~]# rpm -qa |grep nfs  nfs-utils-lib-1.0.8-7.2.z2  nfs-utils-1.0.9-33.el5  b:修改nfs参数文件  [root@centos ~]# vi /etc/exports  ………………………………………………………………  /media/cdrom *(ro,sync)  …………………………………………………………………  这个的配置很简单:/media/cdrom 将服务器上这个目录共享出去,这个目录中就是安装光盘中的内容.  *(ro,sync) *指定所有的用户(ro,sync)具有只读权限,并且数据同步写入硬盘.  c:启动nfs服务:  root@centos ~]# service portmap start  [root@centos ~]# service nfs start  Starting NFS services: [ OK ]  Starting NFS quotas: [ OK ]  Starting NFS daemon: [ OK ]  Starting NFS mountd: [ OK ]  [root@centos ~]# exportfs /确认nfs共享正常/  /media/cdrom  ……………………………………………………  8:client机器手动加电后,这是唯一需要手动的地方,呵呵,连接上网线与server在同一个网段,享受自动安装几十几百台linux主机的过程吧.

本文出自 “叔宝” 博客,请务必保留此出处http://shubao.blog.51cto.com/401810/612987

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号