您的位置:首页 > 职场人生

远程安装操作系统

2009-01-07 15:07 148 查看

远程安装操作系统

还在一次次拿着光盘u盘奔向数据中心,在一堆嘈杂的服务器旁安装服务器的操作系统吗?那真是勤快,相信懒惰的运维人员不会这么做了吧。如果我们的server在外地机房托管怎么办,想重新安装一下系统真是麻烦。其实懒惰的运维人员有着更好的办法,甚至他们都从来没有见过实际的服务器,服务器只不过是一个地址而已,这里就介绍一套偷懒的方法,也许不是最好的办法,但是在我实际使用中我认为是很方便的,配置也简单。
首先所谓远程安装我们必然需要网络,待安装的机器需要支持pxe启动。
其次我们需要准备3个server,分别是http(提供安装文件的下载),tftp(告诉待安装的机器去哪里取安装文件及相关配置,这里配置指网络ip等等你能够在服务器上配置的任何信息),dhcp(给待安装的机器分配一个地址,让他能够通信)
我们对过程应该已经清晰了,总结一下就是待安装的sercer从pxe启动,dhcp-server给它分配一个地址,然后访问tftp-server,获取从什么地方获取安装文件,然后通过http进行下载安装。下边介绍一下我的相关配置,安装的操作系统为centos5.1.

dhcp-server

先强调一下dhcp-server需要和待安装的机器在一个网段内,接收待安装的机器广播的mac地址,才能给它分配地址。
1 安装: yum install dhcp (如果还没有使用yum,建议看一下我之前的yum介绍)
2 配置: /etc/dhcpd.conf,下边是一个例子

ddns-update-style none;
authoritative;
ignore unknown-clients ;
subnet 10.10.1.0 netmask 255.255.255.0 {

option routers 10.10.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 202.106.196.115;
option ntp-servers time.nist.gov;
default-lease-time 86400;
max-lease-time 86400;

host test{
hardware ethernet 00:1D:09:08:AB:15;
fixed-address 10.10.1.254;
next-server 10.10.1.2;
filename "pxelinux.0";
}
}

简单说明一下这个配置吧,前三行就不解释了,网上有很多解释,说下我们需要在dhcp里写入的客户端的信息。

网络方面的设置:
subnet:子网
netmask:掩码
routers:网关
domain-name-servers:dns
ntp-servers:时间服务器
客户端方面的配置:
host test{}中包含里客户端的信息,这里test是个名称,随便起。
hardware ethernet: 待安装操作系统的服务器的mac地址
fixed-address: 分配给其的ip地址
next-server:指定tftp-server的地址

tftp-server

1 安装:yum install tftp-server syslinux
2 配置:tftp-server的ip就是上面配置文件中的10.10.1.2
编辑"/etc/xinetd.d/tftp" # enable the service "disable=no" ,然后可以 service xinetd restart 启动tftp服务,守69端口
cp /usr/share/syslinux/pxelinux.0 /tftpboot/ 这就是上面配置文件中pxelinux.0
use the CentOS iso's /images/pxeboot/{vmlinuz,initrd.img} 用CentOS的盘中的vmlinuz和initrd.img文件放到/tftpboot目录下
在/tftpboot/pxelinux.cfg/目录下放置对应机器IP的文件名,例如:10.10.1.254对应 0A0A01FE
在0A0A01FE文件中进行如下配置:

DEFAULT install
PROMPT 1
timeout 3

LABEL install
#CentOS5.2
KERNEL vmlinuz
#指定kernel文件
APPEND initrd=initrd.img devfs=nomount ramdisk_size=16384 text ksdevice=eth0 ks=http://10.10.1.2/centos/ks.cfg

这里ks=就是下边http-server的地址,ks.cfg是需要在http-server中放置的配置文件

http-server

http不是必需的,可以使用任何提供文件下载的服务,例如ftp,nfs。
1 安装: yum install httpd
2 在http的服务路径下放置CentOS盘中的全部文件和我们要用到的配置文件--ks.cfg
ks.cfg配置了我们需要安装完操作系统的配置信息,以下是一个例子:配置了分区信息及相关服务和ip地址

lang en_US
langsupport --default en_US
keyboard us
mouse generic3ps/2
install
timezone --utc Asia/Shanghai
rootpw --iscrypted *********
network --bootproto dhcp --device eth0
url --url http://10.10.1.2/CentOS/ clearpart --all --initlabel
zerombr yes
bootloader --location=mbr
part /boot --fstype ext3 --size=200
part /home --fstype ext3 --size=20000
part /var --fstype ext3 --size=10000
part /usr --fstype ext3 --size=8000
part / --fstype ext3 --size=8000
part /tmp --fstype ext3 --size=2048
part /opt --fstype ext3 --size=1 --grow
part swap --size 2048 --grow --maxsize 4096 --fstype swap
firewall --disabled
selinux --disabled
firstboot --disable
services --disabled iptables,ip6tables,smartd,yum-updatesd,restorecond,mcstrans,netfs,haldaemon,kudzu,lvm2-monitor,messagebus
poweroff
%packages --nobase --resolvedeps #####要安装的软件包
##@core # will install by default
##@base # will install by default,--nobase will disable it
ntp
httpd
OpenIPMI-tools
perl
wget
lrzsz
mailx
nc
net-snmp
psacct
rsync
screen
sendmail
strace
stunnel
sudo
sysstat
tcpdump
tcsh
telnet
traceroute
device-mapper-multipath
-sysreport
%post ##### 安装完系统后进行的操作
/sbin/chkconfig ntpd .
/sbin/chkconfig sendmail .
/sbin/chkconfig psacct .
echo "DEVICE=eth0:1" >> /etc/sysconfig/network-.s/ifcfg-eth0:1
echo "ONBOOT=yes" >> /etc/sysconfig/network-.s/ifcfg-eth0:1
echo "NETMASK=255.255.254.0" >> /etc/sysconfig/network-.s/ifcfg-eth0:1
echo "IPADDR=192.168.3.254" >> /etc/sysconfig/network-.s/ifcfg-eth0:1
echo "GATEWAY=192.168.2.1" >> /etc/sysconfig/network-.s/ifcfg-eth0:1
echo "TYPE=Ethernet" >> /etc/sysconfig/network-.s/ifcfg-eth0:1
echo "Kickstart-installed CentOS 5.1 x86_64 - Instalinux `/bin/date`" > /etc/motd

至此安装结束了,我这里设置的是安装完后自动关机,需要手动启动一下。回顾一下整个过程,我们还是需要和服务器进行物理接触的地方有2个:需要手动启动服务器选择pxe启动,安装完后需要开启机器,因此可以考虑一下更进一步,远程控制卡,ipmi等等是否可以解决,使我们和物理服务器绝对不接触。下次整理一下ipmi的实现过程再拿出来共享。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 tftp