独立服务器远程重装Linux系统

http://rashost.com/blog/remote-reinstall-linux-dedicated-server

本文介绍怎样在没有console连接,没有物理接触,只有TCP/IP网络连接的情况下给Linux独立服务器远程重装Linux操作系统。

我们称呼重装之前的Linux系统为旧Linux系统,重装之后的Linux系统为新Linux系统。

要实现远程重装,旧Linux系统必须能够正常ssh登录。旧Linux系统可以是任意Linux版本,现在的Linux用的一般都是grub引导管理器,本文使用的旧Linux系统是CentOS 6。

新Linux系统必须是CentOS,RHEL或者Fedora,可以是32位或者64位。这几个Linux都支持VNC安装。

首先登录到服务器,下载如下2个文件到服务器的/boot目录中:

http://mirror.centos.org/centos-6/6/os/x86_64/images/pxeboot/initrd.img

http://mirror.centos.org/centos-6/6/os/x86_64/images/pxeboot/vmlinuz

这2个文件是64位CentOS 6的内核文件,这2个文件将会启动新Linux系统的安装。如果新Linux系统是其他版本的Linux,则需要下载相应版本的内核文件。

修改服务器的/boot/grub/grub.conf文件,在这个配置文件中,添加如下启动项:
title CentOS Remote Install
root (hd0,0)
kernel /boot/vmlinuz vnc vncpassword=12345678 headless ip=10.1.10.187 netmask=255.255.255.0 gateway=10.1.10.254 dns=8.8.8.8 hostname=remoteinstall.rashost.com ksdevice=eth0 method=http://mirror.centos.org/centos-6/6/os/x86_64/ lang=en_US keymap=us
initrd /boot/initrd.img

然后需要把这个启动项配置为grub的默认启动项,可以通过修改grub.conf中的default参数来实现,或者把该启动项放到配置文件中的default指定的位置也可以。

需要非常注意的是以上启动项里面的参数,要根据实际情况作调整。比如root参数,要和grub.conf中的其他root参数一致;kernel参数和initrd参数后面的路径(是否/boot/开头)也要和grub.conf中的其他项一致;ip地址,子网掩码和网关地址一定要和服务器一致;ksdevice是主网卡,method后面的地址是新Linux系统的安装文件地址。如果这些配置有一项出错,就会导致远程安装失败。

仔细检查前面您做的工作,确保万无一失,然后在服务器上执行reboot重启服务器。大概几分钟后,通过VNC连接到10.1.10.187:1,VNC密码是12345678,就可以开始安装Linux了。

安装完成后执行如下命令,把瑞豪开源的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 info@rashost.com

修改文件 /etc/mdadm.conf 中的MAILADDR 开头的行如下,这样软RAID如果有故障会Email通知。

MAILADDR info@rashost.com

独立服务器远程重装Linux系统的更多相关文章

  1. 远程登录Linux系统及上传下载文件

    目录 1. 远程登录Linux系统 1.1 为什么要远程登录 1.2 Xshell6安装 1.3 连接登录 1.3.1 连接前提 1.3.2 Xshell连接配置 2. 远程上传下载文件 2.1 Xf ...

  2. 使用XRDP实现Windows远程桌面Linux系统

    一般情况下我们用ssh客户端远程登陆Linux系统,至于图形界面下的linux远程登陆工具,我们一般都会想到vnc,但它的安全性不够,在这里,我将介绍XRDP的安装配置方法.我们可以很方便的通过Win ...

  3. 初探云服务器ECS(Linux系统)

    PS: 购买的阿里云服务器(ECS,Linux系统),使用的弹性公网IP(EIP). 一.使用Xshell链接ECS 1.将公网IP填入主机即可 2.用户名一般为root,密码是自己设置的,填入即可. ...

  4. OMAPL138制作SD卡启动介质及重装Linux系统

    OMAPL138制作SD卡启动盘及重装Linux系统 手里的创龙的OMAPL138平台的系统SSH坏掉了,我重新移植了openssh还是不好使,没有办法了只能重装OMAPL138的系统了,按照创龙给的 ...

  5. 远程登录Linux系统(使用xshell),远程上传加载文件(使用Xftp)

    一.Xshell(远程登录Linux系统) 1.安装xshell 自己百度找安装包 2.连接登录 1.连接前提 需要Linux开启一个sshd的服务,监听22号端口,一般默认是开启的 查看是否开启: ...

  6. Xshell远程连接Linux系统

    一般来说我们连接Linux,会使用到一些远程连接工具 比如:Xshell和Xftp Xshell:远程连接linux系统 Xftp:远程在Linux系统中上传或下载文件 Xshell和Xftp百度云链 ...

  7. 004远程登录Linux系统

    通过windows主机远程登录Linux主机 前提一:从windows能ping通Linux 前提二:关闭Linux防火墙,运行命令:/etc/init.d/iptables stop (1)使用Pu ...

  8. 怎样在win7上远程连接linux系统

    window操作系统的电脑 一台安装了linux系统的服务器 putty.exe小软件 方法/步骤   在前面的环境和软件都有的情况下,双击putty.exe软件,如下图:   在软件界面中的:Hos ...

  9. Xshell6远程访问linux及Xftp6远程针对linux系统中文件操作(附图文详解)

    1.首先我们需要先做好前期准备工作,需要到XManager6官网上将Xshell及Xftp下载并安装,安装过程一直下一步就好了.这里是其官网:http://www.xshellcn.com/.安装完成 ...

随机推荐

  1. matlab edge

    edge在matlab中用来进行边缘检测BW = edge(I) 采用灰度或一个二值化图像I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0. BW = ...

  2. OpenCV2.3.1在Win7+VS2010下的配置过程

    1.  假定电脑上已经安装了VS2010程序,若没有,首先安装vs2010.下载OpenCV2.3.1,网址:http://sourceforge.net/projects/opencvlibrary ...

  3. CSS3 边框 圆角 背景

    CSS3用于控制网页的样式布局. CSS3是最新的CSS标准.   关于transform: transform:rotate(10deg);//顺时针方向旋转10° 浏览器支持情况:低版本的IE浏览 ...

  4. 【题解】Atcoder ARC#67 F-Yakiniku Restaurants

    觉得我的解法好简单,好优美啊QAQ 首先想想暴力怎么办.暴力的话,我们就枚举左右端点,然后显然每张购物券都取最大的值.这样的复杂度是 \(O(n ^{2} m)\) 的.但是这样明显能够感觉到我们重复 ...

  5. BZOJ3771:Triple——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3771 大意:给n把不同价值的斧子,从中选一把/两把/三把,所构成的每种价值和的可能情况有多少. 生 ...

  6. POJ 2774 求两个串的最长公共前缀 | 后缀数组

    #include<cstdio> #include<algorithm> #include<cstring> #define N 200005 using name ...

  7. Codechef MARCH14 GERALD07加强版

    强制在线不代表不能预处理! 考虑暴力怎么干? 开始n个联通块.now=n 不断加入边,如果连接两个联通块,--now 否则不动. 后者的前提是和[l,id-1]的边构成环 所以,我们考虑每个[l,r] ...

  8. PHP检测json格式数据

    首先要记住json_encode返回的是字符串, 而json_decode返回的是对象 判断数据不是JSON格式: 复制代码代码如下: function is_not_json($str){      ...

  9. CentOS 6.5 下 QT4 连接 mysql 数据库的步骤

    QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1. 预防万一,先安装一下mysql-devel(一定要装!) ...

  10. C++智能指针 unique_ptr

    C++智能指针 unique_ptr unique_ptr 独占所指向的对象, 同一时刻只能有一个 unique_ptr 指向给定对象(通过禁止拷贝语义, 只有移动语义来实现), 定义于 memory ...