LINUX服务器自动安装部署项目实施文档.docx
《LINUX服务器自动安装部署项目实施文档.docx》由会员分享,可在线阅读,更多相关《LINUX服务器自动安装部署项目实施文档.docx(23页珍藏版)》请在冰豆网上搜索。
LINUX服务器自动安装部署项目实施文档
LINUX服务器自动安装部署项目实施文档
目录
一、方案介绍2
二、安装环境、软硬件需求2
三、安装步骤2
1.配置启动服务器2
2.配置安装服务器3
3.配置初始化程序4
四、使用方法5
五、配置文档6
DHCP服务器配置文档/etc/dhcpd.conf6
TFTP服务器配置文档/etc/xinetd.d/tftp7
pxelinux.0的默认配置文件/tftpboot/pxelinux.cfg/default7
NFS配置文件/etc/exports9
例:
RedHat5.4-i386系统的kickstart配置文件ks-rhel5u4-i386.cfg9
RPM软件包自动安装列表文件rpms.list配置方法12
应用程序软件包复制列表文件app.list配置方法12
初始化程序init.sh功能列表13
六、参考资料13
日期
版本
修订内容
作者
2010-4-21
1.0
创建
程亮
一、方案介绍
Linux服务器自动安装部署方案包括两部分组成:
第一部分为系统无人值守安装,利用服务器PXE功能,从TFTP/NFS服务器获取操作系统镜像和系统安装配置文件,并按照定制的配置文件进行自动安装;第二部分为服务器进行初始化工作,包括根据《Linux系统安全规范》修改各项系统配置、安装nrpe软件、安装所需的rpm包、设置主机名、配置时间服务器等功能。
系统无人值守安装需要首先设置一个启动服务器和一个安装服务器(可以配置在同一台物理机或者虚拟机上),然后通过网络启动存放在启动服务器上的安装程序。
安装程序会自动访问存放在安装服务器上的安装配置文件和安装介质来完成安装。
在无人值守安装过程中,需要用到Kickstart功能,对操作系统安装进行自动配置。
服务器初始化配置包含少量人机交互程序,系统安装完成后通过手工执行初始化程序,以便将操作系统初始化为符合标准的统一配置。
服务器初始化程序中各功能也可以单独、重复使用。
相关技术
1)在PC上从网络启动RedHatLinux安装程序的PXE协议
2)RedHatLinux安装程序提供的网络安装功能(即指通过网络访问安装介质)
3)RedHatLinux安装程序提供的无人值守安装功能(RedHat称为kickstart)
4)Linux系统服务配置(NFS/DHCP/TFTP……)
5)Linux系统安全、优化配置
二、安装环境、软硬件需求
●100/1000M局域网环境
●局域网内开放DHCP、NFS、TFTP访问
●安装有下列程序的物理机或虚拟机:
NFSServer
TftpServer
DHCPServer
Kickstart
●待安装服务器必需有PXE支持
●待安装服务器与安装服务器需连入同一子网
●RedHatLinux4/5等系统安装介质
三、安装步骤
1.配置启动服务器
启动服务器的目的是帮助在待安装机器上启动RedHatLinux安装程序。
启动服务器上需要搭建一个DHCP服务器和一个TFTP服务器。
前者是为了给待安装机器分配IP地址,后者则是提供了一个让待安装机器下载启动镜像的途径。
配置DHCP服务器
1)安装DHCP服务器包(RPM包名:
dhcpd)。
2)编辑DHCP服务器配置文件/etc/dhcp.conf。
见DHCP服务器配置文档
3)为启动服务器配置一个IP,这个IP必须在DHCP服务器定义的子网内。
4)启动DHCP服务。
[root@localhost]#servicedhcpdstart
配置TFTP服务器
1)安装TFTP服务器包(RPM包名:
tftpd)。
2)编辑TFTP服务器的配置文件/etc/xinetd.d/tftp。
见TFTP服务器配置文档
3)将Linux安装程序的内核/根文件系统文件复制到TFTP服务器的根目录。
对于每一个要被安装的RedHatLinux版本,都需要执行一次该操作。
RedHatLinux安装光盘/isolinux目录下会包含Linux安装程序的内核/根文件系统文件。
下面例子将rhel5.4-i386的内核/根文件系统文件复制到TFTP服务器的根目录下,并按照版本重新命名。
[root@localhost]#mkdir/mnt/iso
[root@localhost]#mount-oloop,rorhel-server-5.4-i386-dvd.iso/mnt/iso
[root@localhost]#cp/mnt/iso/isolinux/initrd.img/tftpboot/initrd-rhel5u4-i386.img
[root@localhost]#cp/mnt/iso/isolinux/vmlinuz/tftpboot/vmlinuz-rhel5u4-i386
4)将启动镜像文件pxelinux.0复制到TFTP服务器根目录。
启动镜像pxelinux.0可以在syslinux安装包里获得。
安装好syslinux安装包后,将pxelinux.0复制到TFTP服务器根目录。
[root@localhost]#cp/usr/lib/syslinux/pxelinux.0/tftpboot/
5)启动镜像pxelinux.0文件在执行过程中会读取配置,默认配置文件存放在启动服务器的/tftpboot/pxelinux.cfg/目录下。
编辑pxelinux.0的默认配置文件/tftpboot/pxelinux.cfg/default,以使pxelinux载入RedHatLinux安装程序。
对于每一个要被安装的RedHatLinux版本,都需要在default文件中添加。
6)启动TFTP服务。
[root@localhost]#servicexinetdrestart
启动服务器目录、文件结构(示例)
/tftpboot/
/tftpboot/pxelinux.0
/tftpboot/pxelinux.cfg
/tftpboot/pxelinux.cfg/list
/tftpboot/pxelinux.cfg/default
/tftpboot/vmlinuz-rhel5u4-i386
/tftpboot/vmlinuz-rhel5u4-x86_64
/tftpboot/vmlinuz-rhel4u7-i386
/tftpboot/vmlinuz-rhel4u7-x86_64
/tftpboot/initrd-rhel5u4-i386.img
/tftpboot/initrd-rhel5u4-x86_64.img
/tftpboot/initrd-rhel4u7-i386.img
/tftpboot/initrd-rhel4u7-x86_64.img
2.配置安装服务器
安装服务器在安装期间提供对Linux安装介质和无人值守安装配置文件的访问。
安装介质存储在服务器上的一个目录中,可以使用各种网络协议访问它,比如HTTP,FTP,和NFS。
使用NFS协议,RedHatLinux安装程序可以支持多种安装介质目录结构,尤其是支持ISO光盘镜像文件。
这里我们选择使用NFS协议来访问安装介质。
配置NFS服务器
1)准备ISO安装介质。
在安装服务器建立/data/iso/i386和/data/iso/x86_64目录,将RedHatLinux安装介质的ISO文件按不同版本和平台放置到/data/iso目录下,例如:
/data/iso/i386/rhel4u7/RHEL4.7-i386-AS-DVD.iso
/data/iso/i386/rhel5u4/rhel-server-5.4-i386-dvd.iso
/data/iso/x86_64/rhel4u7/RHEL4.7-x86_64-AS-DVD.iso
/data/iso/x86_64/rhel5u4/rhel-server-5.4-x86_64-dvd.iso
2)编辑NFS服务器配置文件/etc/exports,允许其它机器通过NFS访问目录/data/iso。
见NFS配置文件/etc/exports
3)重新启动NFS服务
[root@localhost]#servicenfsrestart
4)检查NFS目录共享是否正常
[root@localhost]#showmount-elocalhost
Exportlistforlocalhost:
/data/ks*
/data/iso*
/data/apps*
/data/rpms*
/data/init*
配置kickstart安装
事先定义好配置文件(通常存放在安装服务器上),并让安装程序知道该配置文件的位置,在安装过程中安装程序就可以自己从该文件中读取安装配置,实现无人值守的自动化安装。
1)创建kickstart配置文件。
例RedHat5.4-i386系统的kickstart配置文件
kickstart配置文件是一个简单的文本文件,包含一个安装项目列表。
每个项目对应于一个安装选择,都用关键字标明。
2)部署kickstart配置文件,将kickstart配置文件放置到安装服务器上,并在安装程序的kernel参数中指定kickstart配置文件的位置。
部署kickstart配置文件
把配置文件存放到安装服务器目录/data/ks/,设置NFS共享目录(见上文)。
要让安装程序知道用kickstart方式安装,并告知它可以从哪里获得kickstart配置文件。
可以通过给内核添加一个参数"ks=kickstart配置文件路径"来实现。
只需对启动服务器上的default文件做一些修改,例如:
LABEL5.4-32
KERNELvmlinuz-rhel5u4-i386
APPENDks=nfs:
192.168.1.105:
/data/ks/ks-rhel5u4-i386.cfginitrd=initrd-rhel5u4-i386.imgksdevice=eth0devfs=nomount
这样在启动安装程序的时候,参数ks=nfs:
192.168.1.105:
/data/ks/ks-rhel5u4-i386.cfg会被传递给它,告诉它使用这个文件作为kickstart配置文件来进行kickstart安装。
安装服务器目录结构(示例)
/data/
/data/init
/data/init/sysctl.conf
/data/init/init.sh
/data/init/limits.conf
/data/init/i18n
/data/apps
/data/apps/nrpe64.tar.gz
/data/apps/tomcat-connectors-1.2.30-src.tar.gz
/data/apps/apache-tomcat-6.0.24.tar.gz
/data/apps/app.list
/data/apps/nginx-0.8.34.tar.gz
/data/apps/jdk-6u18-linux-i586.bin
/data/apps/httpd-2.2.15.tar.gz
/data/apps/nrpe32.tar.gz
/data/apps/jdk-6u18-linux-x64.bin
/data/apps/resin-2.1.17.tar.gz
/data/ks
/data/ks/ks-rhel5u4-x86_64.cfg
/data/ks/ks-rhel5u4-i386.cfg
/data/ks/ks-rhel4u7-x86_64.cfg
/data/ks/ks-rhel4u7-i386.cfg
/data/ks/common
/data/ks/common/partition.mini
/data/ks/common/partition.small
/data/ks/common/partition.large
/data/ks/common/packages
/data/ks/common/partition.default
/data/rpms
/data/rpms/hpacucli-8.0-14.noarch.rpm
/data/rpms/rpms.list
/data/iso
/data/iso/i386
/data/iso/i386/rhel4u7
/data/iso/i386/rhel4u7/RHEL4.7-i386-AS-DVD.iso
/data/iso/i386/rhel5u4
/data/iso/i386/rhel5u4/rhel-server-5.4-i386-dvd.iso
/data/iso/x86_64
/data/iso/x86_64/rhel4u7
/data/iso/x86_64/rhel4u7/RHEL4.7-x86_64-AS-DVD.iso
/data/iso/x86_64/rhel5u4
/data/iso/x86_64/rhel5u4/rhel-server-5.4-x86_64-dvd.iso
3.配置初始化程序
当前版本的初始化程序包括的功能有:
添加用户(交换式)、主机名设置(交互式)、修改SSHD服务配置、Crontab配置(对时、自更新等)、修改inittab文件、系统服务启动配置、系统优化配置、rpm软件包安装、NRPE安装等功能。
使用方法见初始化程序init.sh功能列表
1)初始化程序(/data/init/init.sh)中需要指定服务器IP地址,编辑该文件,定为到#Customizeserveraddress行,在其后填入各服务器的IP地址,例如
ntpserver=10.0.100.126-填写ntp服务器地址
nfsserver=192.168.1.105-填写安装服务器地址
2)初始化程序包括一个可执行脚本和若干已定制的系统配置文件,存放在安装服务器目录/data/init,需为此目录设置NFS共享(见上文)。
3)初始化程序可以自动安装所需的RPM软件包,RPM软件包存放在安装服务器目录/data/rpms,需为此目录设置NFS共享(见上文)。
所需安装的RPM软件包要在/data/rpms/rpms.list文件中列出。
见rpms.list配置方法
初始化程序可以自动将需要适用的应用软件复制到新安装的服务器上,应用程序软件包存放在安装服务器目录/data/apps,需要为此目录设置NFS共享(见上文)。
所需复制的应用程序软件包要在/data/apps/app.list文件中列出。
见app.list配置方法
四、使用方法
前面的配置工作完成后,就可以进行服务器的自动安装部署了,具体方法如下:
步骤1.启动待安装服务器,选择网卡启动。
步骤2.网卡中的PXE代码会联系DHCP服务器来获取IP地址以及启动镜像,然后启动镜像被载入并运行,可以看到定义好的一个Linux列表(如下图),选择需要安装的系统版本。
在boot:
提示符后输入要安装的系统,例如5.4-32。
(PS:
输入local为从本地引导)
步骤3.安装程序内核被启动,并引导开始自动安装。
步骤4.自动安装完成后系统会自动重启并进入安装好的RedhatLinux系统。
使用root及初始密码1111登录系统。
步骤5.执行初始化程序
[root@localhost~]#/root/init/init.shall
程序执行过程会提示输入一个用户名和密码,此功能为新建一个普通用户账号。
用户账号建立后会自动调整SSH服务配置。
接下来提示输入hostname。
输入hostname后,程序自动完成其他配置。
步骤6.修改服务器IP地址,修改root密码,重启服务器使配置生效。
步骤7.安装完成,如需安装常用应用软件,请在/root/apps目录中查找使用。
五、配置文档
DHCP服务器配置文档/etc/dhcpd.conf
ddns-update-styleinterim;
ignoreclient-updates;
optiondomain-name"jrj";
subnet192.168.1.0netmask255.255.255.0{
optionrouters192.168.1.1;
optionsubnet-mask255.255.255.0;
optiondomain-name"";
optiontime-offset-18000;#EasternStandardTime
rangedynamic-bootp192.168.1.11192.168.1.20;
default-lease-time21600;
max-lease-time43200;
allowbooting;
allowbootp;
class"pxeclients"{
matchifsubstring(optionvendor-class-identifier,0,9)="PXEClient";
next-server192.168.1.105;
filename"pxelinux.0";
}
}
在DHCP服务器配置文件中需要按实际情况修改如下信息:
optionrouters-服务器的默认网关
optionsubnet-mask-子网掩码
optiondomain-name-域名
rangedynamic-bootp-动态分配地址的范围(起始结束)
next-server-存有PXE引导文件的tftp服务器地址
filename-PXE引导文件名
(返回配置DHCP服务器)
TFTP服务器配置文档/etc/xinetd.d/tftp
servicetftp
{
socket_type=dgram
protocol=udp
wait=yes
user=root
server=/usr/sbin/in.tftpd
server_args=-s/tftpboot
disable=no
per_source=11
cps=1002
flags=IPv4
}
TFTP配置文件需要修改如下信息:
disable=no-允许xinetd启用tftp服务
server_args=-s/tftpboot-tftp服务的根目录
(返回配置TFTP服务器)
pxelinux.0的默认配置文件/tftpboot/pxelinux.cfg/default
(该例中添加了Redhat4.7/5.4的i368和x86_64,共四个版本)
DEFAULT4.7-32
DISPLAYpxelinux.cfg/list
PROMPT1
LABEL4.7-32
KERNELvmlinuz-rhel4u7-i386
APPENDks=nfs:
192.168.1.105:
/data/ks/ks-rhel4u7-i386.cfginitrd=initrd-rhel4u7-i386.imgksdevice=eth0
LABEL4.7-64
KERNELvmlinuz-rhel4u7-x86_64
APPENDks=nfs:
192.168.1.105:
/data/ks/ks-rhel4u7-x86_64.cfginitrd=initrd-rhel4u7-x86_64.imgksdevice=eth0devfs=nomountramdisk_size=9216
LABEL5.4-32
KERNELvmlinuz-rhel5u4-i386
APPENDks=nfs:
192.168.1.105:
/data/ks/ks-rhel5u4-i386.cfginitrd=initrd-rhel5u4-i386.imgksdevice=eth0devfs=nomount
LABEL5.4-64
KERNELvmlinuz-rhel5u4-x86_64
APPENDks=nfs:
192.168.1.105:
/data/ks/ks-rhel5u4-x86_64.cfginitrd=initrd-rhel5u4-x86_64.imgksdevice=eth0devfs=nomount
LABELlocal
localboot1
LABEL-用于表示系统版本
KERNEL-指定内核文件
APPENDks=nfs:
192.168.1.105:
/data/ks/ks-rhel5u4-x86_64.cfginitrd=initrd-rhel5u4-x86_64.imgksdevice=eth0devfs=nomount-ks指定kickstart配置文件的位置(nfs位置),initrd指定根文件系统文件,ksdevice指定引导网卡名称
DISPLAYpxelinux.cfg/list-此项用于指定显示给用户的系统版本列表,用户可以通过输入某版本的LABEL(例如,5.4-32)来选择具体的安装版本。
文件如下:
pxelinux.0的列表文件/tftpboot/pxelinux.cfg/list
ChooseoneofthefollowingLinuxdistributionsforyourinstallation:
NameDistributionArch.Installationmedia
-------------------------------------------------------------------------
4.7-32RHEL4ASU7i386192.168.1.105:
/data/iso/i386/rhel4u7
4.7-64RHEL4ASU7x86_64192.168.1.105:
/data/iso/x86_64/rhel4u7
5.4-32RHEL5ASU4i386192.168.1.105:
/data/iso/i386/rhel5u4
5.4-64RHEL5ASU4x86_64192.168.1.105:
/data/iso/x86_64/rhel5u4
localLOCAL
(返回启动镜像pxelinux.0配置)
NFS配置文件/etc/exports
/data/init*(rw,sync,no_root_squash)
/data/iso*(rw,sync,no_root_squash)
/data/ks*(rw,sync,no_root_squash)
/data/rpms*(rw,sync,no_root_squash)
/data/apps*(