您的位置:首页 > 理论基础 > 计算机网络

集群通过网络升级安装系统

2014-11-14 15:10 399 查看
单位有一套曙光集群,80多个节点,安装的SUSE10.2,系统比较老,官网有些补丁要授权,安全漏洞多,决定来次整体系统升级,全部换成CentOS6.3。

1.一台台的换?会死人,就算安装minimal,也需要20来分钟一台,装还要得配IP,HOSTNAME之类。

2.使用kickstart做了个光盘镜像,百度一下很多结果,不做介绍了,试验了一下,相较1,可节约约5分钟。但还是和一台台装,而且要刻盘。

3.使用kickstart做U盘镜像,这个百度一下也有很多结果,将ks.cfg文件的安装介质从cdrom改成hd:sdb4。很不幸,曙光这套刀片有点特别,想到从U盘启动得先到Bios里把U盘设置为主硬盘,这样安装文件介质就是sda4了,安装位置是sdb这个盘。不知道为什么U盘都是sda4、sdb4这样而不是sda1、sdb1。做好安装盘安装,居然报错说打到不到镜像#1之类的。后将安装镜像的ISO文件也复制到U盘,这才解决。

4.方法1,2,3都得一台台安装。但3给了启示,既然U盘可以,那硬盘上的一个分区肯定也是可以的嘛,没错,百度一下,又是一大堆资料,将安装镜像放到/boot/目录下,然后使用grub引导,启动安装。看完帖子觉得靠谱,一看现有系统分区,/boot/才100MB,不够放镜像啊,最小的minial镜像有约300MB。放其他分区?不行,其他分区安装时会格式化。怎么办?

5.不能放分区,那就放“网上”,内网中有存储服务器,放存储上吧。百度网络安装linux,一大片结果,有pxe的,有grub的。但两个都不合适,PXE的需要安装DHCP、TFTP等服务,而且,现在的各节点都是默认从硬盘启动,我还得一台台去设置首选启动为网络,放弃。grub可以引导网络OS,但这机器网卡居然都不在grub的支持范围内!!好吧,用grub2,安装了半天,发现grub2也不好配置。

6.心生一计,仅将启动需要的文件和ks.cfg放boot里,让grub引导,镜像放网络上,IP地址啥的在ks.cfg里配置,这样应该可以。若干次实验,哈哈,终于搞定。坐在办公室,敲两下就完成一台机器的系统升级与配置,感觉很爽。步骤如下:

(1)将安装镜像(cd1就可以了)解压到NFS服务器(node67),目录为/public/OS;

(2)假设要重装node24,将/public/OS/images/pxeboot/目录下的vmlinuz和initrd.img文件复制到node24的 /boot/目录下,这里记住是images/pxeboot目录下的,不是isolinux下的。搞错过一次,半天没启动。这两文件一起不到40MB,/boot够用了。

(3)在node24的 /boot/下创建ks.cfg,内容如下:

install

nfs --server=192.168.10.67 --dir=/public/OS

lang en_US.UTF-8

keyboard us

network --onboot yes --device eth0 --bootproto static --ip 192.168.10.24 --netmask 255.255.255.0 --gateway 192.168.10.254 --ipv6 auto --nameserver 8.8.8.8 --hostname node24

rootpw --iscrypted klfj3ej03j2f02jf32f

firewall --disabled

authconfig --enableshadow --passalgo=sha512

selinux --disabled

timezone --utc Asia/Shanghai

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

clearpart --linux --drives=sdaautopart

repo --name="CentOS" --baseurl=nfs:192.168.10.67:/public/OS --cost=100

reboot

%packages

@core

@server-policy

openssh-clients-5.3p1-81.el6.x86_64

libedit-2.11-4.20080712cvs.1.el6.x86_64

%end

(4)接下来就是修改grub引导了,suse下是这个文件/boot/grub/menu.lst ,centos下是/boot/grub/grub.conf,增加一个引导项并到在第一位:

title reinstall

root (hd0,0)

kernel /vmlinuz ks=hd:sda1/ks.cfg vnc

initrd /initrd.img

因为/boot就是现在硬盘的sda1,所以指定使用ks=hd:sda1/ks.cfg,后面这个vnc很好玩,如果在办公室想看看安装进度,加上它后,打开vncviewer,输入node24:1就可以查看安装界面了。

(5)做完准备工作,把node24给reboot就可以等它自动安装了。而且配置好了IP,hostname,还不需要额外的服务。当然,都做到了这个分上,我自然会把这个复制与ks.cfg和menu.lst的修改过程写了批处理放在node67上,要安装谁,就执行./install.sh XX就搞定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: