选取Kickstart完成无人值班守护安装翼虎HEL6,Linux系统网络安装

By admin in 美高梅手机版4858 on 2019年3月28日

选取Kickstart完成无人值班守护安装翼虎HEL6,Linux系统网络安装。原著刊载于:二零一零-09-05

原稿刊载于:二〇〇九-09-05

Linux系统网络安装——基于pxe+dhcp+nfs+tftp+kickstart,nfskickstart

初稿刊载于:二〇一〇-09-05

转载至cu于:2012-07-21

所谓的无人值班守护安装,就是不必要管理员繁琐的插入系统光盘只怕运维U盘,而是从互连网引导进行安装。那里就说到了PXE了,PXE是由速龙集团支付的网络携带技术,工作在Client/Server情势,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件大概全体操作系统。并且要落实活动安装还需求三个工具,这就是kickstart。

转载至cu于:2012-07-21

转载至cu于:2012-07-21

一.原理简介

PXE(preboot execute
environment)工作于Client/Server的互连网形式,协理理工科程师作站通过互联网从远端服务器下载镜像,并透过帮衬来自网络的操作系统的运营。运营进度中,终端由DHCP服务器分配IP地址,再用TFTP(trivial
file transfer
protocol)等协商下载存在于服务器(NFS,FTP,HTTP等)的Liunx内核和根文件系统等到本机内部存款和储蓄器中并施行,由此形成终端基本软件安装,从而引导预先安装在服务器中的终端操作系统。

Kickstart
是一种无人职守安装情势。它通过记录典型的装置进程中所需人工干预填写的各类参数,并生成二个ks.cfg文件;在后头的安装进度中单出现须要填写参数的时候,安装程序会寻找kickstart文件,在能找到确切的参数意况下就不须求人工干预。

小结:要兑现无人值班守护安装必要以下标准。

一.规律简介

PXE(preboot execute
environment)工作于Client/Server的网络形式,补助理工科程师作站通过互连网从远端服务器下载镜像,并经过帮忙来自网络的操作系统的起步。运营进程中,终端由DHCP服务器分配IP地址,再用TFTP(trivial file transfer protocol)等合计下载存在于服务器(NFS,FTP,HTTP等)的Liunx内核和根文件系统等到本机内部存款和储蓄器中并实施,由此形成终端基本软件安装,从而引导预先安装在服务器中的终端操作系统。

Kickstart 是一种无人职守安装情势。它经过记录典型的设置进度中所需人工干预填写的各类参数,并扭转1个ks.cfg文件;在现在的装置进度中单出现供给填写参数的时候,安装程序会招来kickstart文件,在能找到合适的参数景况下就不须求人工干预。

一.规律简介

PXE(preboot execute
environment)工作于Client/Server的网络方式,扶助理工科程师作站通过互连网从远端服务器下载镜像,并通过帮忙来自网络的操作系统的起步。运维进度中,终端由DHCP服务器分配IP地址,再用TFTP(trivial file transfer protocol)等合计下载存在于服务器(NFS,FTP,HTTP等)的Liunx内核和根文件系统等到本机内部存款和储蓄器中并履行,由此形成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

Kickstart 是一种无人职守安装方式。它经过记录典型的设置进度中所需人工干预填写的各类参数,并转移一个ks.cfg文件;在之后的装置进程中单出现需要填写参数的时候,安装程序会招来kickstart文件,在能找到适合的参数情况下就不要求人工干预。

二.环境表达

os:

    CentOS 5.4 i386

soft:

    dhcp, nfs, tftp, kickstart(gnome 或者x-window)

能够使用yum安装: 

yum –y install dhcp*
yum –y install nfs*
yum –y install tftp*
yum –y install system-config-kickstart*

ip:

    eth0: 192.168.1.254

客户机网卡支持PXE协议,且主板帮忙互联网教导,(那个今后的服务器都帮衬。

二.环境表明

os:

    CentOS 5.4 i386

soft:

    dhcp, nfs, tftp, kickstart(gnome
或者x-window)

能够使用yum安装: 

yum –y install dhcp*
yum –y install nfs*
yum –y install tftp*
yum –y install system-config-kickstart*

ip:

    eth0: 192.168.1.254

二.环境表达

os:

    CentOS 5.4 i386

soft:

    dhcp, nfs, tftp, kickstart(gnome
或者x-window)

能够使用yum安装: 

yum –y install dhcp*
yum –y install nfs*
yum –y install tftp*
yum –y install system-config-kickstart*

ip:

    eth0: 192.168.1.254

三.设置配置进度简介

1. 配置DHCP

more /etc/dhcpd.conf

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
# Location: Zhangjiang IDC
# Date: 2010-08-01

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.254;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.1.254;
        option time-offset -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.10 192.168.1.250;
        default-lease-time 21600;
        max-lease-time 43200;

# Group the PXE bootable hosts
# PXE-server configuration direction
        next-server 192.168.1.254; #指向nfs服务器
        filename "/pxelinux.0"; #/tftp根目录下的启动引导文件

        # we want the nameserver to appear at a fixed address
        host ns {
                hardware ethernet 00:1C:25:80:F4:58; #张江机房的笔记本网卡mac
                fixed-address 192.168.1.2;
        }
}

重启dhcp服务:

/etc/init.d/dhcpd restart

 

2. 配置**TFTP**

more /etc/xinetd.d/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  #-s指定tftp根目录
        disable                  = no        #默认yes,关闭
        per_source            = 11
        cps                        = 100 2
        flags                      = IPv4
}

 

重启tftp服务:

/etc/init.d/xinetd.restart

 

查阅tftp服务是不是运行:

chkconfig –list | grep tftp

 

3. 配置NFS

NFS供给向途锐PC注册才能被客户端调用,一般做端口映射的portmap是暗许安装的,没有的话能够使用yum安装:

yum –y install portmap*

 

能够间接使用挂载的镜像,那里是拷到服务器上为了创设3个专门存放常用的镜像文件建的目录。

 

mount /dev/cdrom /mnt
mkdir /ios/CentOS_5.4
cp –a /mnt/* /ios/CentOS_5.4 

 

#共享tftp的根目录,192.168.1.0/24网段的用户有只读权限
echo "/tftpboot 192.168.1.0/24(ro,sync)" > /etc/exports

#共享存放镜像文件的目录,所有用户有只读权限
echo "/ios/CentOS_5.4 *(ro,sync)" >> /etc/exports

 

#不重启nfs服务器情况下配置生效
exportfs –arv 

#重启服务
/etc/init.d/portmap restart
/etc/init.d/nfs resart 

 

查阅共享目录是不是见效:

showmount –e localhost

 

4. 安排PXE运维要求的公文

cp /usr/lib/syslinux/pxelinux.0 /tftpboot

# pxelinux.0正视于syslinux,没有设置使用yum:yum –y install syslinux*

# pxelinux.0是PXE运维教导文件

 

cp /ios/CentOS_5.4/ioslinux/vmlinuz /tftpboot
cp /ios/CentOS_5.4/ioslinux/initrd.img /tftpboot

#
vmlinuz和initrd.img是例外版本的种类基本和种类指引文件,安装差别版本系统时请使用各版本的vmlinuz和initrd.img

 

mkdir /tftpboot/pxelinux.cfg
cp /ios/CentOS_5.4/ioslinux.cfg /tftpboot/pxelinux.cfg/default

 

到当下曾经得以从互联网安装系统了。测试如下:

开行服务器,一般F12进来PXE网络运营,向DHCP请求IP,DHCP响应包蕴IP地址和pxelinux运转程序地点;PXE客户端收到响应后,向服务器请求传送文件(pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img);客户端通过pxelinux.cfg/default文件成功的指点Linux安装内核后,安装程序首先必须分明你通过哪些安装介质来安装linux,假若是由此网络安装(NFS,
FTP,
HTTP),则会在这么些时候初叶化网络,并一向安装源职位。(由于PXE获取的是设置用的基础以及安装程序等,而安装程序要获取的是设置系统所需的二进制包以及布置文件,它们须求的剧情差异造成PXE模块和安装程序是相持独立的,PXE的网络布置并无法传递给安装程序,从而进行三回得到IP地址进度)。

 

5. 配置ks.cfg文件

ks.cfg文件能够由以下方法生成:

1.
每一遍装好一台CentOS(RedHat),安装程序都会自行创造二个kickstart文件,文件记录了实际的安装配置,地点在/root/anaconda-ks.cfg,能够依照此陈设来扭转本身索要的ks.cfg文件;

  1. 动用图形化的kickstart配置工具,命令:system-config-kickstart;

  2. 使用文本编辑器编辑。

 以下是早就写好的ks.cfg文件,仅供参考: 

more /ios/ks.cfg

# Kickstart file automatically generated by anaconda.

install
nfs --server=192.168.1.254 --dir=/ios/CentOS_5.4
#指出NFS的路径和安装文件的位置

lang en_US.UTF-8
keyboard us

network --device eth0 --onboot yes --bootproto dhcp --hostname test
#network --device eth0 --onboot yes –bootproto static --ip 192.168.1.10 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 8.8.8.8 --hostname test
#一个网卡获得地址的方式
network --device eth1 --onboot no --bootproto dhcp --hostname test

rootpw --iscrypted $1$V26J9f5V$A7k9alSJs1GzG.qNBef6f/
#加密root密码

firewall --disabled #--port=22:tcp
authconfig --enableshadow --enablemd5
#使用md5认证

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda

# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work

clearpart --linux
part /boot --fstype ext3 --size=100 --ondisk=sda
part swap --size=2048 --ondisk=sda
part / --fstype ext3 --size=100 –grow --ondisk=sda

#分区和选包是机房最头疼的事,在这里可以修改
#clearpart --linux --drives=sda
#part /boot --fstype ext3 --size=200
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=6144
#以上是一个LVM分区的示范

reboot #安装完毕后重启 

%packages
@development-libs
@development-tools
@admin-tools
@editors
#选包

 

将配置好的ks.cfg文件放在共享目录内,那里放到/ios下

echo "/ios 192.168.1.0/24(ro,sync)" >> /etc/exports
exportfs –arv

 

 修改/tftpboot/pxelinux.cfg/default配置: 

more /tftpboot/pxelinux.cfg/default

default ks    #默认从标签ks启动
prompt 1     #显示"boot:"提示符
timeout 30  #等待超时时间

display boot.msg #/tftpboot/boot.msg默认显示boot.msg,可以根据实际情况编辑,
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg 

label linux #在boot:提示符后输入linux(只是一个标签),从下面指出的内核启动
  kernel vmlinuz
  append initrd=initrd.img

label text #在boot:提示符后输入text,这里是文字界面安装
  kernel vmlinuz
  append initrd=initrd.img text

label ks #default默认,从ks.cfg读取安装信息,无需人工干预
  kernel vmlinuz
  append ks=nfs:192.168.1.254:/ios/ks.cfg initrd=initrd.img ksdevice=link
  #ksdevice=link,从连接的网卡读取安装文件

label local
  localboot 1

label mem
  kernel memtest
  append -

 

6. 进阶

由于机房最近常安装的体系是CR-VHEL4.7, OdysseyHEL4.7 x86_美高梅手机版4858 ,64, CentOS5.4, CentOS5.4
x86_64。可以将各个镜像放在专门的目录内。例如:

RHEL4.7:/ios/rhel4.7

RHEL4.7 x86_64: /ios/rhel4.7-x86_64

CentOS5.4: /ios/centos5.4

CentOS5.4 x86_64: /ios/centos5.4- x86_64

 

/tftp根目录(那里是/tftpboot下,各版本的根本和携带文件也急需转移地点:

RHEL4.7:/ios/rhel4.7/vmlinuz

              /ios/rhel4.7/initrd.img

RHEL4.7 x86_64: /ios/ rhel4.7-x86_64/vmlinuz

                            /ios/ rhel4.7-x86_64/initrd.img

CentOS5.4: /ios/centos5.4/vmlinuz

                  /ios/centos5.4/initrd.img

CentOS5.4 x86_64: /ios/centos5.4- x86_64/vmlinuz

                                /ios/centos5.4- x86_64/ initrd.img

 

PXE辅导文件(那里是/tftpboot/pxelinux.cfg/default)修改:

default 3
prompt 1
timeout 300

display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg


label 1
  kernel rhel4.7/vmlinuz
  append initrd=rhel4.7/initrd.img

label 2
  kernel rhel4.7-x86_64/vmlinuz
  append initrd=rhel4.7-x86_64/initrd.img

label 3
  kernel centos5.4/vmlinuz
  append initrd=centos5.4/initrd.img

label 4
  kernel centos5.4-x86_64/vmlinuz
  append initrd=centos5.4-x86_64/initrd.img

label 1-ks_**
  kernel rhel4.7/vmlinuz
  append ks=nfs:192.168.1.254:/ios/rhel4.7ks_**.cfg initrd=rhel4.7/initrd.img ksdevice=link

label 2-ks_**
  kernel rhel4.7-x86_64/vmlinuz
  append ks=nfs:192.168.1.254:/ios/rhel4.7-x86_64ks_**.cfg initrd=rhel4.7-x86_64/initrd.img ksdevice=link

label 3-ks_**
  kernel centos5.4/vmlinuz
  append ks=nfs:192.168.1.254:/ios/centos5.4ks_**.cfg initrd=centos5.4/initrd.img ksdevice=link

label 4-ks_**
  kernel centos5.4-x86_64/vmlinuz
  append ks=nfs:192.168.1.254:/ios/centos5.4-x86_64ks_**.cfg initrd=centos5.4-x86_64/initrd.img ksdevice=link

label local
  localboot 0

label mem
  kernel memtest
  append –

 

此处由于选项太多,能够在tftp根目录下启用boot.msg与options.msg文件来注脚安装什么样的操作系统和怎么设置操作系统。如:

boot.msg

Install RHEL4.7: 1
Install RHEL4.7 x86_64: 2
Install CentOS5.4: 3
Install CentOS5.4 x86_64: 4

Default: Graph mode.
If you want to use text mode, type: [number] text

F1: boot.msg F2: options.msg

 

options.msg

Install RHEL4.7: 1
Install RHEL4.7 x86_64: 2
Install CentOS5.4: 3
Install CentOS5.4 x86_64: 4

Default: Graph mode.
If you want to use text mode, type: [number] text

If you want to use kickstart, the flowing list the different OS ks.cfg:
1-ks_**: RHEL4.7
2-ks_**: RHEL4.7 x86_64
3-ks_**: CentOS5.4
4-ks_**: CentOS5.4 x86_64

F1: boot.msg F2: options.msg

 

7. 小结

只要专注各操作系统的基石和指导文件的对应关系,就能扩展到多套系统。

kickstart文件能在原来的底蕴上改动的就在原本的基础上改动,稍加时光,就足以形成针对各工作不相同的kickstart文件,那样就便于IDC职员落到实处Linux操作系统的自动化安装。

最初的小说发表于:二零零六-09-05 转发至cu于:二〇一一-07-21 一.原理简介 PXE(preboot
execute enviro…

互联网中有一台DHCP服务器以便为客户机自动分配地址,内定指引文件地方。

三.设置配备进度简介

1.
配置DHCP

more /etc/dhcpd.conf

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
# Location: Zhangjiang IDC
# Date: 2010-08-01

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.254;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.1.254;
        option time-offset -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.10 192.168.1.250;
        default-lease-time 21600;
        max-lease-time 43200;

# Group the PXE bootable hosts
# PXE-server configuration direction
        next-server 192.168.1.254; #指向nfs服务器
        filename "/pxelinux.0"; #/tftp根目录下的启动引导文件

        # we want the nameserver to appear at a fixed address
        host ns {
                hardware ethernet 00:1C:25:80:F4:58; #张江机房的笔记本网卡mac
                fixed-address 192.168.1.2;
        }
}

重启dhcp服务:

/etc/init.d/dhcpd restart

 

2.
配置**
TFTP**

more /etc/xinetd.d/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  #-s指定tftp根目录
        disable                  = no        #默认yes,关闭
        per_source            = 11
        cps                        = 100 2
        flags                      = IPv4
}

 

重启tftp服务:

/etc/init.d/xinetd.restart

 

查看tftp服务是不是运维:

chkconfig –list | grep tftp

 

3.
配置NFS

NFS供给向TiguanPC注册才能被客户端调用,一般做端口映射的portmap是暗许安装的,没有的话能够使用yum安装:

yum –y install portmap*

 

能够一向运用挂载的镜像,那里是拷到服务器上为了成立八个特意存放常用的镜像文件建的目录。

 

mount /dev/cdrom /mnt
mkdir /ios/CentOS_5.4
cp –a /mnt/* /ios/CentOS_5.4 

 

#共享tftp的根目录,192.168.1.0/24网段的用户有只读权限
echo "/tftpboot 192.168.1.0/24(ro,sync)" > /etc/exports

#共享存放镜像文件的目录,所有用户有只读权限
echo "/ios/CentOS_5.4 *(ro,sync)" >> /etc/exports

 

#不重启nfs服务器情况下配置生效
exportfs –arv 

#重启服务
/etc/init.d/portmap restart
/etc/init.d/nfs resart 

 

查看共享目录是不是见效:

showmount –e localhost

 

4.
配置PXE运维需求的文件

cp /usr/lib/syslinux/pxelinux.0 /tftpboot

# pxelinux.0重视于syslinux,没有安装使用yum:yum
–y install syslinux*

# pxelinux.0是PXE运维引导文件

 

cp /ios/CentOS_5.4/ioslinux/vmlinuz /tftpboot
cp /ios/CentOS_5.4/ioslinux/initrd.img /tftpboot

# vmlinuz和initrd.img是例外版本的种类基本和体系辅导文件,安装区别版本系统时请使用各版本的vmlinuz和initrd.img

 

mkdir /tftpboot/pxelinux.cfg
cp /ios/CentOS_5.4/ioslinux.cfg /tftpboot/pxelinux.cfg/default

 

到当下早已能够从互连网安装系统了。测试如下:

起步服务器,一般F12进来PXE网络运维,向DHCP请求IP,DHCP响应包涵IP地址和pxelinux运转程序地点;PXE客户端收到响应后,向服务器请求传送文件(pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img);客户端通过pxelinux.cfg/default文件成功的教导Linux安装内核后,安装程序首先必须显著你通过哪些安装介质来安装linux,如果是因此互联网安装(NFS, FTP, HTTP),则会在那一个时候伊始化互联网,并定位安装源职位。(由于PXE获取的是安装用的水源以及安装程序等,而安装程序要赢得的是设置系统所需的二进制包以及安插文件,它们需求的内容分裂造成PXE模块和安装程序是周旋独立的,PXE的网络布局并不能够传递给安装程序,从而进行一次获得IP地址进度)。

 

5.
配置ks.cfg文件

ks.cfg文件可以由以下方法生成:

  1. 老是装好一台CentOS(RedHat),安装程序都会自动创造一个kickstart文件,文件记录了真格的的装置配备,地点在/root/anaconda-ks.cfg,能够根据此布局来变化本人索要的ks.cfg文件;

  2. 应用图形化的kickstart配置工具,命令:system-config-kickstart;

  3. 运用文本编辑器编辑。

 以下是一度写好的ks.cfg文件,仅供参考: 

more /ios/ks.cfg

# Kickstart file automatically generated by anaconda.

install
nfs --server=192.168.1.254 --dir=/ios/CentOS_5.4
#指出NFS的路径和安装文件的位置

lang en_US.UTF-8
keyboard us

network --device eth0 --onboot yes --bootproto dhcp --hostname test
#network --device eth0 --onboot yes –bootproto static --ip 192.168.1.10 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 8.8.8.8 --hostname test
#一个网卡获得地址的方式
network --device eth1 --onboot no --bootproto dhcp --hostname test

rootpw --iscrypted $1$V26J9f5V$A7k9alSJs1GzG.qNBef6f/
#加密root密码

firewall --disabled #--port=22:tcp
authconfig --enableshadow --enablemd5
#使用md5认证

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda

# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work

clearpart --linux
part /boot --fstype ext3 --size=100 --ondisk=sda
part swap --size=2048 --ondisk=sda
part / --fstype ext3 --size=100 –grow --ondisk=sda

#分区和选包是机房最头疼的事,在这里可以修改
#clearpart --linux --drives=sda
#part /boot --fstype ext3 --size=200
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=6144
#以上是一个LVM分区的示范

reboot #安装完毕后重启 

%packages
@development-libs
@development-tools
@admin-tools
@editors
#选包

 

将配置好的ks.cfg文件放在共享目录内,这里放到/ios下

echo "/ios 192.168.1.0/24(ro,sync)" >> /etc/exports
exportfs –arv

 

 修改/tftpboot/pxelinux.cfg/default配置: 

more /tftpboot/pxelinux.cfg/default

default ks    #默认从标签ks启动
prompt 1     #显示"boot:"提示符
timeout 30  #等待超时时间

display boot.msg #/tftpboot/boot.msg默认显示boot.msg,可以根据实际情况编辑,
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg 

label linux #在boot:提示符后输入linux(只是一个标签),从下面指出的内核启动
  kernel vmlinuz
  append initrd=initrd.img

label text #在boot:提示符后输入text,这里是文字界面安装
  kernel vmlinuz
  append initrd=initrd.img text

label ks #default默认,从ks.cfg读取安装信息,无需人工干预
  kernel vmlinuz
  append ks=nfs:192.168.1.254:/ios/ks.cfg initrd=initrd.img ksdevice=link
  #ksdevice=link,从连接的网卡读取安装文件

label local
  localboot 1

label mem
  kernel memtest
  append -

 

6.
进阶

由于机房近年来常安装的种类是福特ExplorerHEL4.7, PAJEROHEL4.7 x86_64, CentOS5.4,
CentOS5.4 x86_64。能够将种种镜像放在专门的目录内。例如:

RHEL4.7:/ios/rhel4.7

RHEL4.7 x86_64: /ios/rhel4.7-x86_64

CentOS5.4: /ios/centos5.4

CentOS5.4 x86_64: /ios/centos5.4-
x86_64

 

/tftp根目录(那里是/tftpboot下,各版本的基石和引导文件也需要改变地点:

RHEL4.7:/ios/rhel4.7/vmlinuz

              /ios/rhel4.7/initrd.img

RHEL4.7 x86_64: /ios/
rhel4.7-x86_64/vmlinuz

                            /ios/
rhel4.7-x86_64/initrd.img

CentOS5.4: /ios/centos5.4/vmlinuz

                 
/ios/centos5.4/initrd.img

CentOS5.4 x86_64: /ios/centos5.4-
x86_64/vmlinuz

                               
/ios/centos5.4- x86_64/ initrd.img

 

PXE指导文件(那里是/tftpboot/pxelinux.cfg/default)修改:

default 3
prompt 1
timeout 300

display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg


label 1
  kernel rhel4.7/vmlinuz
  append initrd=rhel4.7/initrd.img

label 2
  kernel rhel4.7-x86_64/vmlinuz
  append initrd=rhel4.7-x86_64/initrd.img

label 3
  kernel centos5.4/vmlinuz
  append initrd=centos5.4/initrd.img

label 4
  kernel centos5.4-x86_64/vmlinuz
  append initrd=centos5.4-x86_64/initrd.img

label 1-ks_**
  kernel rhel4.7/vmlinuz
  append ks=nfs:192.168.1.254:/ios/rhel4.7ks_**.cfg initrd=rhel4.7/initrd.img ksdevice=link

label 2-ks_**
  kernel rhel4.7-x86_64/vmlinuz
  append ks=nfs:192.168.1.254:/ios/rhel4.7-x86_64ks_**.cfg initrd=rhel4.7-x86_64/initrd.img ksdevice=link

label 3-ks_**
  kernel centos5.4/vmlinuz
  append ks=nfs:192.168.1.254:/ios/centos5.4ks_**.cfg initrd=centos5.4/initrd.img ksdevice=link

label 4-ks_**
  kernel centos5.4-x86_64/vmlinuz
  append ks=nfs:192.168.1.254:/ios/centos5.4-x86_64ks_**.cfg initrd=centos5.4-x86_64/initrd.img ksdevice=link

label local
  localboot 0

label mem
  kernel memtest
  append –

 

那里由于接纳太多,能够在tftp根目录下启用boot.msg与options.msg文件来评释安装什么样的操作系统和什么设置操作系统。如:

boot.msg

Install RHEL4.7: 1
Install RHEL4.7 x86_64: 2
Install CentOS5.4: 3
Install CentOS5.4 x86_64: 4

Default: Graph mode.
If you want to use text mode, type: [number] text

F1: boot.msg F2: options.msg

 

options.msg

Install RHEL4.7: 1
Install RHEL4.7 x86_64: 2
Install CentOS5.4: 3
Install CentOS5.4 x86_64: 4

Default: Graph mode.
If you want to use text mode, type: [number] text

If you want to use kickstart, the flowing list the different OS ks.cfg:
1-ks_**: RHEL4.7
2-ks_**: RHEL4.7 x86_64
3-ks_**: CentOS5.4
4-ks_**: CentOS5.4 x86_64

F1: boot.msg F2: options.msg

 

7.
小结

只要注意各操作系统的根本和指引文件的呼应关系,就能扩大到多套系统。

kickstart文件能在原来的功底上修修改改的就在原本的底子上修改,稍加时光,就足以形成针对各业务分歧的kickstart文件,那样就有利于IDC人士达成Linux操作系统的自动化安装。

三.设置配备进度简介

1.
配置DHCP

more /etc/dhcpd.conf

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
# Location: Zhangjiang IDC
# Date: 2010-08-01

ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.254;
        option subnet-mask 255.255.255.0;
        option domain-name-servers 192.168.1.254;
        option time-offset -18000; # Eastern Standard Time
        range dynamic-bootp 192.168.1.10 192.168.1.250;
        default-lease-time 21600;
        max-lease-time 43200;

# Group the PXE bootable hosts
# PXE-server configuration direction
        next-server 192.168.1.254; #指向nfs服务器
        filename "/pxelinux.0"; #/tftp根目录下的启动引导文件

        # we want the nameserver to appear at a fixed address
        host ns {
                hardware ethernet 00:1C:25:80:F4:58; #张江机房的笔记本网卡mac
                fixed-address 192.168.1.2;
        }
}

重启dhcp服务:

/etc/init.d/dhcpd restart

 

2.
配置**
TFTP**

more /etc/xinetd.d/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  #-s指定tftp根目录
        disable                  = no        #默认yes,关闭
        per_source            = 11
        cps                        = 100 2
        flags                      = IPv4
}

 

重启tftp服务:

/etc/init.d/xinetd.restart

 

查看tftp服务是还是不是运转:

chkconfig –list | grep tftp

 

3.
配置NFS

NFS要求向ENCOREPC注册才能被客户端调用,一般做端口映射的portmap是暗中同意安装的,没有的话能够使用yum安装:

yum –y install portmap*

 

能够平素运用挂载的镜像,那里是拷到服务器上为了创立1个专门存放常用的镜像文件建的目录。

 

mount /dev/cdrom /mnt
mkdir /ios/CentOS_5.4
cp –a /mnt/* /ios/CentOS_5.4 

 

#共享tftp的根目录,192.168.1.0/24网段的用户有只读权限
echo "/tftpboot 192.168.1.0/24(ro,sync)" > /etc/exports

#共享存放镜像文件的目录,所有用户有只读权限
echo "/ios/CentOS_5.4 *(ro,sync)" >> /etc/exports

 

#不重启nfs服务器情况下配置生效
exportfs –arv 

#重启服务
/etc/init.d/portmap restart
/etc/init.d/nfs resart 

 

查看共享目录是还是不是见效:

showmount –e localhost

 

4.
配备PXE运维需求的文件

cp /usr/lib/syslinux/pxelinux.0 /tftpboot

# pxelinux.0依赖于syslinux,没有设置使用yum:yum
–y install syslinux*

# pxelinux.0是PXE运维指点文件

 

cp /ios/CentOS_5.4/ioslinux/vmlinuz /tftpboot
cp /ios/CentOS_5.4/ioslinux/initrd.img /tftpboot

# vmlinuz和initrd.img是例外版本的种类基本和系统引导文件,安装不一致版本系统时请使用各版本的vmlinuz和initrd.img

 

mkdir /tftpboot/pxelinux.cfg
cp /ios/CentOS_5.4/ioslinux.cfg /tftpboot/pxelinux.cfg/default

 

到当下曾经得以从互连网安装系统了。测试如下:

开发银行服务器,一般F12进去PXE互连网运行,向DHCP请求IP,DHCP响应包蕴IP地址和pxelinux运转程序地方;PXE客户端收到响应后,向服务器请求传送文件(pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img);客户端通过pxelinux.cfg/default文件成功的教导Linux安装内核后,安装程序首先必须鲜明你通过什么样安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在那么些时候开端化网络,并向来安装源职位。(由于PXE获取的是安装用的基础以及安装程序等,而安装程序要获取的是设置系统所需的二进制包以及铺排文件,它们需求的内容不一造成PXE模块和安装程序是相持独立的,PXE的网络计划并无法传递给安装程序,从而实行三回获得IP地址进度)。

 

5.
配置ks.cfg文件

ks.cfg文件可以由以下方法生成:

  1. 每一次装好一台CentOS(RedHat),安装程序都会活动创造3个kickstart文件,文件记录了诚实的设置配置,地点在/root/anaconda-ks.cfg,可以依照此布置来扭转自身索要的ks.cfg文件;

  2. 动用图形化的kickstart配置工具,命令:system-config-kickstart;

  3. 使用文本编辑器编辑。

 以下是一度写好的ks.cfg文件,仅供参考: 

more /ios/ks.cfg

# Kickstart file automatically generated by anaconda.

install
nfs --server=192.168.1.254 --dir=/ios/CentOS_5.4
#指出NFS的路径和安装文件的位置

lang en_US.UTF-8
keyboard us

network --device eth0 --onboot yes --bootproto dhcp --hostname test
#network --device eth0 --onboot yes –bootproto static --ip 192.168.1.10 --netmask 255.255.255.0 --gateway 192.168.1.1 --nameserver 8.8.8.8 --hostname test
#一个网卡获得地址的方式
network --device eth1 --onboot no --bootproto dhcp --hostname test

rootpw --iscrypted $1$V26J9f5V$A7k9alSJs1GzG.qNBef6f/
#加密root密码

firewall --disabled #--port=22:tcp
authconfig --enableshadow --enablemd5
#使用md5认证

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda

# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work

clearpart --linux
part /boot --fstype ext3 --size=100 --ondisk=sda
part swap --size=2048 --ondisk=sda
part / --fstype ext3 --size=100 –grow --ondisk=sda

#分区和选包是机房最头疼的事,在这里可以修改
#clearpart --linux --drives=sda
#part /boot --fstype ext3 --size=200
#part pv.2 --size=0 --grow --ondisk=sda
#volgroup VolGroup00 --pesize=32768 pv.2
#logvol / --fstype ext3 --name=LogVol00 --vgname=VolGroup00 --size=1024 --grow
#logvol swap --fstype swap --name=LogVol01 --vgname=VolGroup00 --size=1000 --grow --maxsize=6144
#以上是一个LVM分区的示范

reboot #安装完毕后重启 

%packages
@development-libs
@development-tools
@admin-tools
@editors
#选包

 

将配置好的ks.cfg文件放在共享目录内,那里放到/ios下

echo "/ios 192.168.1.0/24(ro,sync)" >> /etc/exports
exportfs –arv

 

 修改/tftpboot/pxelinux.cfg/default配置: 

more /tftpboot/pxelinux.cfg/default

default ks    #默认从标签ks启动
prompt 1     #显示"boot:"提示符
timeout 30  #等待超时时间

display boot.msg #/tftpboot/boot.msg默认显示boot.msg,可以根据实际情况编辑,
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg 

label linux #在boot:提示符后输入linux(只是一个标签),从下面指出的内核启动
  kernel vmlinuz
  append initrd=initrd.img

label text #在boot:提示符后输入text,这里是文字界面安装
  kernel vmlinuz
  append initrd=initrd.img text

label ks #default默认,从ks.cfg读取安装信息,无需人工干预
  kernel vmlinuz
  append ks=nfs:192.168.1.254:/ios/ks.cfg initrd=initrd.img ksdevice=link
  #ksdevice=link,从连接的网卡读取安装文件

label local
  localboot 1

label mem
  kernel memtest
  append -

 

6.
进阶

由于机房如今常安装的体系是路虎极光HEL4.7, 景逸SUVHEL4.7 x86_64, CentOS5.4,
CentOS5.4 x86_64。可以将三种镜像放在专门的目录内。例如:

RHEL4.7:/ios/rhel4.7

RHEL4.7 x86_64: /ios/rhel4.7-x86_64

CentOS5.4: /ios/centos5.4

CentOS5.4 x86_64: /ios/centos5.4-
x86_64

 

/tftp根目录(那里是/tftpboot下,各版本的根本和指点文件也需求改变地点:

RHEL4.7:/ios/rhel4.7/vmlinuz

              /ios/rhel4.7/initrd.img

RHEL4.7 x86_64: /ios/
rhel4.7-x86_64/vmlinuz

                            /ios/
rhel4.7-x86_64/initrd.img

CentOS5.4: /ios/centos5.4/vmlinuz

                 
/ios/centos5.4/initrd.img

CentOS5.4 x86_64: /ios/centos5.4-
x86_64/vmlinuz

                               
/ios/centos5.4- x86_64/ initrd.img

 

PXE指引文件(那里是/tftpboot/pxelinux.cfg/default)修改:

default 3
prompt 1
timeout 300

display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg


label 1
  kernel rhel4.7/vmlinuz
  append initrd=rhel4.7/initrd.img

label 2
  kernel rhel4.7-x86_64/vmlinuz
  append initrd=rhel4.7-x86_64/initrd.img

label 3
  kernel centos5.4/vmlinuz
  append initrd=centos5.4/initrd.img

label 4
  kernel centos5.4-x86_64/vmlinuz
  append initrd=centos5.4-x86_64/initrd.img

label 1-ks_**
  kernel rhel4.7/vmlinuz
  append ks=nfs:192.168.1.254:/ios/rhel4.7ks_**.cfg initrd=rhel4.7/initrd.img ksdevice=link

label 2-ks_**
  kernel rhel4.7-x86_64/vmlinuz
  append ks=nfs:192.168.1.254:/ios/rhel4.7-x86_64ks_**.cfg initrd=rhel4.7-x86_64/initrd.img ksdevice=link

label 3-ks_**
  kernel centos5.4/vmlinuz
  append ks=nfs:192.168.1.254:/ios/centos5.4ks_**.cfg initrd=centos5.4/initrd.img ksdevice=link

label 4-ks_**
  kernel centos5.4-x86_64/vmlinuz
  append ks=nfs:192.168.1.254:/ios/centos5.4-x86_64ks_**.cfg initrd=centos5.4-x86_64/initrd.img ksdevice=link

label local
  localboot 0

label mem
  kernel memtest
  append –

 

此地由于选取太多,能够在tftp根目录下启用boot.msg与options.msg文件来表达安装什么样的操作系统和如何设置操作系统。如:

boot.msg

Install RHEL4.7: 1
Install RHEL4.7 x86_64: 2
Install CentOS5.4: 3
Install CentOS5.4 x86_64: 4

Default: Graph mode.
If you want to use text mode, type: [number] text

F1: boot.msg F2: options.msg

 

options.msg

Install RHEL4.7: 1
Install RHEL4.7 x86_64: 2
Install CentOS5.4: 3
Install CentOS5.4 x86_64: 4

Default: Graph mode.
If you want to use text mode, type: [number] text

If you want to use kickstart, the flowing list the different OS ks.cfg:
1-ks_**: RHEL4.7
2-ks_**: RHEL4.7 x86_64
3-ks_**: CentOS5.4
4-ks_**: CentOS5.4 x86_64

F1: boot.msg F2: options.msg

 

7.
小结

只要留心各操作系统的基业和引导文件的附和关系,就能扩充到多套系统。

kickstart文件能在原来的底蕴上修修改改的就在原来的基础上修改,稍加时间,就能够形成针对各业务差异的kickstart文件,那样就便宜IDC职员完毕Linux操作系统的自动化安装。

服务器要求计划TFTP服务,以便提供镜像文件的下载。

搭建PXE远程安装服务器

1、准备RHEL 6安装源

先配置yum源,然后安装ftp服务,因为我们需求采用ftp服务宣布体系。

[root@localhost /]#yum -y install vsftpd

[root@localhost /]#cp -rf /media/* /var/ftp/rhel6

[root@localhost /]#service vsftpd start

② 、安装并启用TFTP服务

TFTP服务由tftp-server软件包提供,暗中同意由xinetd一级服务拓展田间管理,因而配置文件位于/etc/xinetd.d/tftp,修改配置如下:并运行xinetd服务。

[root@localhost /]#yum -y install tftp-server

[root@localhost /]#vim /etc/xinetd.d/tftp

美高梅手机版4858 1

[root@localhost /]#service xinetd start

三 、准备Linux内核、初阶化镜像文件

用来PXE互连网安装的Linux内核,早先化镜像文件能够从CR-VHEL6系统光盘中收获,分别为vmlinuz和initrd.img,位于文件夹images/pxeboot中。找到那三个文件并将其复制到tftp服务的根目录下。

[root@localhost /]#cd /media/images/pxeboot/

[root@localhost pxeboot]#cp vmlinuz initrd.img /var/lib/tftpboot/

④ 、准备PXE教导程序,运维菜单文件

用来PXE互联网安装的指导程序为pxelinux.0,由软件包syslinux提供。安装好软件包syslinux,然后将文件pxelinux.0也复制到tftp服务的根目录下。

[root@localhost /]#yum -y install syslinux

[root@localhost /]#cp /usr/share/syslinux/pxelinux.0
/var/lib/tftpboot

开发银行菜单用来辅导客户机的辅导进程,包含调用基本,如何加载开端化镜像。暗许的开行菜单文件为default,应放置在tftp根目录的pxelinux.cfg子目录中,典型的运营菜单配置可参考以下操作,举办手动创设。

[root@localhost /]#mkdir /var/lib/tftpboot/pxelinux.cfg

[root@localhost /]#vim /var/lib/tftpboot/pxelinux.cfg/default

default auto //钦赐默许入口名称

prompt 1 //1意味等待用户控制,0意味不等待用户。

label auto

kernel vmlinuz

append initrd=initrd.img devfs=nomount ramdisk_size=8192

label linux text

kernel vmlinuz

append text initrd=initrd.img devfs=nomount ramdisk_size=8192

label linux rescue

kernel vmlinuz

append rescue initrd=initrd.img devfs=nomount ramdisk_size=8192

上述配置记录中定义了多少个教导入口,分别为图形安装(私下认可),文本安装,救援情势。在那之中,prompt用来安装是还是不是等待用户挑选,label用来定义并分隔运维项,kernel和append用来定义指点参数。

因势利导入口的个数及内容听别人说必要活动定义,例如:要是要达成无人值班守护安装时只须要1个输入就够了,不过必要钦命kickstart配置文件的路线。

 

[root@localhost /]#vim /var/lib/tftpboot/pxelinux.cfg/default

default auto

prompt 0

label auto

kernel vmlinuz

append ks=ftp://192.168.1.1/rhel6/ks.cfg initrd=initrd.img devfs=nomount
ramdisk_size=8192

五 、安装并启用DHCP服务

是因为PXE客户机经常是从未装系统的裸机,因而为了如服务器取得联络并正确下载相关引导文件,供给事先安排好DHCP服务来机关分配地址并报告指导文件的职责。

[root@localhost /]#yum -y install dhcp

[root@localhost /]#vim /etc/dhcp/dhcp.conf

ddns-update-style none;

default-lease-time 21600;

max-lease-time 43200;

option domain-name “benet.com”;

option domain-name-service 202.106.0.20 202.106.148.1;

subnet 192.168.1.0 netmask 255.255.255.0 {

option routers 192.168.1.1;

option subnet-mask 255.255.255.0;

range 192.168.1.100 192.168.1.200;

next-server 192.168.1.1; //钦点TFTP服务器的地点

filename “pxelinux.0”; //钦赐PXE教导程序的文书名

}

[root@localhost /]#service dhcpd start

连带阅读:

Kickstart无人值守安装——制作光盘文件
http://www.linuxidc.com/Linux/2013-08/88575.htm

利用Kickstart+Apache+Dhcp+Pxe无人值班守护安装操作系统
http://www.linuxidc.com/Linux/2013-06/85480.htm

Kickstart无人值班守护安装CentOS(最小化安装)
http://www.linuxidc.com/Linux/2013-04/83587.htm

配备Kickstart无人值班守护安装CentOS 5.9 
http://www.linuxidc.com/Linux/2013-03/80334.htm

利用昂CoraHEL6.3+PXE+DHCP+Apache+NFS+Kickstart 无人值班守护安装陆风X8HEL6.3 
http://www.linuxidc.com/Linux/2013-02/79863.htm

 

接来下请继续读书第一页的可以的内容:http://www.linuxidc.com/Linux/2013-09/89765p2.htm

美高梅手机版4858 2

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有