PS:今天开发的同事让我帮忙重装一台开发测试机的系统,之前跑的是CentOS 5.6,一看光盘光驱都没,又不想去麻烦IT部,google一下网络安装,发现这个方法也行。记录一下:
本文介绍怎样在没有console连接,没有物理接触,只有TCP/IP网络连接的情况下给Linux独立服务器远程重装Linux操作系统系统。
我们称呼重装之前的Linux系统为旧Linux系统,重装之后的Linux系统为新Linux系统。
要实现远程重装,旧Linux系统必须能够正常ssh登录。旧Linux系统可以是任意Linux版本,现在的Linux用的一般都是grub引导管理器,本文使用的旧Linux系统是CentOS 5。
新Linux系统必须是CentOS,RHEL或者Fedora,可以是32位或者64位。这几个Linux都支持VNC安装。
首先登录到服务器,下载如下2个文件到服务器的/boot目录中:
http://mirror.centos.org/centos-5/5/os/i386/images/pxeboot/initrd.img
http://mirror.centos.org/centos-5/5/os/i386/images/pxeboot/vmlinuz
这2个文件是32位CentOS 5.5的内核文件,这2个文件将会启动新Linux系统的安装。如果新Linux系统是其他版本的Linux,则需要下载相应版本的内核文件。
Fedora 14需要下载的文件在http://nas1.itc.virginia.edu/fedora/releases/14/Fedora/x86_64/os/images/…
64位Centos需要下载的文件在 http://mirror.centos.org/centos-5/5/os/x86_64/images/pxeboot/
修改服务器的/boot/grub/grub.conf文件,在这个配置文件中,添加如下启动项:
title CentOS Re
root (hd0,0)
kernel /vmlinuz vnc vncpassword=12345678 headless ip=10.36.64.238 netmask=255.255.255.0 gateway=10.36.64.254 dns=10.36.10.8 hostname=0map238 ksdevice=eth0 method=http://10.36.64.202/iso/CentOS-5.7-x86-64/ lang=
en_US keymap=us
initrd /initrd.img
然后需要把这个启动项配置为grub的默认启动项,可以通过修改grub.conf中的default参数来实现,或者把该启动项放到配置文件中的default指定的位置也可以。
总结:需要非常注意的是以上启动项里面的参数,要根据实际情况作调整。比如root参数,要和grub.conf中的其他root参数一致;kernel参数和initrd参数后面的路径(是否/boot开头)也要和grub.conf中的其他项一致;ip地址,子网掩码和网关地址一定要和服务器一致;ksdevice是主网卡,method后面的地址是新Linux系统的安装文件地址。如果这些配置有一项出错,就会导致远程安装失败。
仔细检查前面您做的工作,确保万无一失,然后在服务器上执行reboot重启服务器,选择CentOS Re进入。大约几分钟后,通过VNC连接到10.36.64.238:1,VNC密码是12345678,就可以开始安装Linux了。如图所示:
参考:http://rashost.com/blog/remote-reinstall-linux-dedicated-server