獨立服務器遠程重裝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