歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux服務 >> 怎麼用Rsh/Tar快速克隆Linux服務器

怎麼用Rsh/Tar快速克隆Linux服務器

日期:2017/3/2 16:57:16   编辑:Linux服務

一 概述

本文目的在於快速克隆另一架正在運行的Linux服務器的全部內容,之後更改相應的配置文件,即可快速設置另一台完全相同配置的服務器。

二 環境

本文使用最新的Redhat Linux 7.1 CDROM 第一張安裝盤啟動,被克隆的另一架服務器是任何Linux系統,本文中也為Redhat 7.1。

三 步驟

1. 在被克隆的已經在運行的linux服務器 A (192.168.0.1) 上首先允許服務器 B (先暫定IP地址為 192.168.0.2) 的IP可以rsh 進來。

a. 在服務器上運行/usr/bin/ntsysv 選中rexec ,rlogin ,rsh三項服務。

b. 運行#/sbin/service xinetd restart 啟動該三項服務。

c. 運行#echo "rexec" >> /etc/securetty;echo "rlogin" >> /etc/securetty;echo "rsh" >> /etc/securetty 允許rsh進來(僅僅redhat 7.1需要)

d. 在服務器上運行# echo "192.168.0.2" >> /root/.rhosts 允許該IP可以rsh進來勿需密碼。

2. 設置服務器A 上的/etc/hosts,加上一條記錄,可以取任意主機名,如:


# echo "192.168.0.2 test" >> /etc/hosts

這樣,避免了正反向DNS解析時地址不匹配,否則當你從B rsh 到A時,B會提示你“主機地址不匹配”的問題。

3. 用Redhat Linux 7.1的第一張CDROM啟動機器B,我們打入“text”這樣可以快速進入文本安裝界面,既然我們不是真的安裝,不需要圖形界面,我們只是借用該第一張CDROM啟動而用rsh/tar來復制機器A ,一直保持按回車,直到出現automaticpartitioning部分,讓你選擇 “Continue" 還是"Manual Partition"的屏幕時按Alt+F2 轉到字符界面。

4. 設置網卡的IP,確保能ping通192.168.0.1

請使用Linux默認支持的網卡,象3com,Intel等,這樣你只需打入:


 #ifconifg eth0 192.168.0.2 up 後即可ping通192.168.0.1

 
現在測試rsh, 對於Redhat 7.1,你必須做下面的:


 #cd /etc   #echo "login 513/tcp" > services   #echo "shell 514/tcp" >> services

 
然後你能#rsh 192.168.0.1勿需密碼。

注: 如果你用VA Linux 6.2.3,不需要做上面的,還沒試過其它版本,相信RedhatLinux 6.2也不需要。

5. 設置/dev/hda設備,使得可以手動做fdisk/mke2fs

對於Redhat Linux 7.1轉到字符界面來你仍然不能做fdisk /dev/hda. 會提示“打不開設備” ,現在你已經可以rsh到192.168.0.1,做下面的:


#(rsh 192.168.0.1 cd /dev \; tar cf - hda* sda* ) | tar xvfp -

現在你可以做#fdisk /dev/hda 了,然後用mke2fs格式化所有分區成ext2文件系統。如果硬盤中已經有分區,要快速全部刪除,則可做#dd if=/dev/zero of=/dev/hda ,馬上接ctrl+C中斷,然後分區表已經被清除。

注: 如果你用VA Linux 6.2.3,不需要做上面的rsh部分,還沒試過其它版本,相信Redhat Linux 6.2也不需要。

6. 復制前准備工作

假定你的分區為/boot 25M (/dev/hda1),SWAP 1G (/dev/hda2), / 4G (/dev/hda3)在為每個分區mke2fs和對交換分區做mkswap後做下面的mount工作。

#cd /   #mkdir hda3   #mount /dev/hda3 hda3   #cd hda3   #mkdir boot;mount /dev/hda1 boot

 
注:如果你沒法在根目錄下創建目錄,重啟動一次再做,重啟動不需再拷貝A上的/dev/hda* /dev/sda*,因為你已經做過fdisk/mke2fs了。

7. 復制另一架機器A

打入下面的命令:

#cd /hda3   #(rsh 192.168.0.1 cd / \;tar cf \- \-\-exclude proc .) | tar xvf \-

  
注:用\來確保-不被bash shell解釋成別的字符。 如果你除了proc外還有一目錄不需要復制,如data目錄,則命令為:

#(rsh 192.168.0.1 cd / \;tar cf \- \-\-exclude proc \-\-exclude data .) |  tar xvf -

  
8. 結束工作

#cd /hda3   #mkdir proc   #chroot . (chroot成根目錄方便做/sbin/lilo)

  
更改相應文件如/etc/hosts,/etc/fstab,/etc/sysconfig/network,/etc/sysconfig/network-scripts/ifcfg-eth*更改/etc/lilo.conf,最後運行/sbin/lilo後重新啟動。

9. FAQ

a. 如果克隆後你的CDROM不能mount,檢查是否是復制後/dev/cdrom的符號鏈接鏈接到錯誤的設備,用dmesg檢查機器B上CDROM的設備名稱重新鏈接。
b. 如果你源服務器用的是IDE硬盤,而克隆後的服務器用的是SCSI硬盤,則你需要設置。
/etc/modules.conf中的alias scsi_hostadapter aic7xxx (如果你的SCSI芯片類是這個) 然後運行mkinitrd創建映像文件,更新/etc/lilo.conf加上initrd=行,否則你不能正常從SCSI盤引導。

Copyright © Linux教程網 All Rights Reserved