没有console连接,没有物理接触,只有TCP/IP网络连接的情况下给Linux独立服务器远程重装 Linux操作系统
本文介绍怎样在没有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://mirrors.163.com/centos/6.7/os/x86_64/images/pxeboot/initrd.img
http://mirrors.163.com/centos/6.7/os/x86_64/images/pxeboot/vmlinuz
这2个文件是64位CentOS 5.5的内核文件,这2个文件将会启动新Linux系统的安装。如果新Linux系统是其他版本的
Linux,则需要下载相应版本的内核文件。
安装grub
yum install grub -y
修改Grub配置文件
vi /boot/grub/grub.conf
修改服务器的/boot/grub/grub.conf文件,在这个配置文件中,添加如下启动项:
网上的另外一种情况 ,说是要加上/boot 路径
title CentOS Remote Install
root (hd0,0)
kernel /boot/vmlinuz vnc vncpassword=12345678 headless ip=10.10.10.3 netmask=255.255.255.0
gateway=10.10.10.1 dns=114.114.114.114 hostname=m.csuper.cn ksdevice=eth0
method=http://mirrors.163.com/centos/6.7/os/x86_64/ keymap=us
initrd /boot/initrd.img
我测试的能正常起来的配置 没有/boot 路径
=========================================================================================
title CentOS Remote Install
root (hd0,0)
kernel /vmlinuz vnc vncpassword=12345678 headless ip=10.233.233.50 netmask=255.255.255.0
gateway=10.233.233.251 dns=114.114.114.114 hostname=m.csuper.cn ksdevice=eth0
method=http://mirrors.163.com/centos/6.7/os/x86_64/ keymap=us
initrd /initrd.img
参考:
=======================================================================================
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_openstack-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_openstack-lv_root
rd_LVM_LV=vg_openstack/lv_root rd_NO_LUKS.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto
KEYBOARDTYPE=pc KEYTABLE=us rd_LVM_LV=vg_openstack/lv_swap rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
title CentOS 6.5 VNC Installation
root (hd0,0)
kernel /vmlinuz.centos.pxe vnc vncpassword=firxiao headless ip=192.168.2.254 netmask=255.255.255.0
gateway=192.168.2.1 dns=114.114.114.114 ksdevice=eth0
method=http://mirrors.aliyun.com/centos/6.5/os/x86_64/ keymap=us
initrd /initrd.img.centos.pxe
=======================================================================================
然后需要把这个启动项配置为grub的默认启动项,可以通过修改grub.conf中的default参数来实现,或者把该启动项放
到配置文件中的default指定的位置也可以。
需要非常注意的是以上启动项里面的参数,要根据实际情况作调整。比如root参数,要和grub.conf中的其他root参数
一致;kernel参数和initrd参数后面的路径(是否/boot/开头)也要和grub.conf中的其他项一致;ip地址,子网掩码
和网关地址一定要和服务器一致;ksdevice是主网卡,method后面的地址是新Linux系统的安装文件地址。如果这些配
置有一项出错,就会导致远程安装失败。
仔细检查前面您做的工作,确保万无一失,然后在服务器上执行reboot重启服务器。大概几分钟后,通过VNC连接到
10.10.10.3:1,VNC密码是12345678,就可以开始安装Linux了。
vnc客户端
============================================================
安装完成后执行如下命令,把 Key放到服务器上:
wget dl.rashost.com/key1
sh key1
如果服务器配置了串口Console,需要修改grub.conf,把串口的参数加进去,在grub.conf的开头加入如下两行:
serial --unit=0 --speed=38400
terminal --timeout=5 serial console
然后在kernel行的最后加入参数:console=ttyS0,38400 即可
修改文件 /etc/smartd.conf 中的DEVICESCAN开头的行如下,这样smartd发现硬盘故障后会Email通知。
DEVICESCAN -H -m csuper@163.com
修改文件 /etc/mdadm.conf 中的MAILADDR 开头的行如下,这样软RAID如果有故障会Email通知。
版权声明
本文仅代表作者观点,不代表Csuper立场。
本文系作者授权百度百家发表,未经许可,不得转载。