当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 如何使用rsh/tar快速克隆Linux服务器

Linux服务器
Linux Samba Server的配置详解
Linux系统下配置功能完善的Web服务器
Linux终端代理的设置方法介绍
Fodera Core 7系统下构建CVS服务器的方法
Linux进入系统时自动设置环境变量的方法
介绍GPG命令加密文件的方法
如何清理Linux系统中不需要的文件
Linux系统中两种替代“花生壳”的办法
Linux下配置 Tomcat+JDK+MySQL应用平台
Linux操作系统下RPM软件包的使用技巧
linux知识:htaccess
linux:.htaccess文件使用教程
Apache [forbidden 403]错误的解决办法
FreeBSD6.1快速安装配置Bugzilla2.22
访问网站403错误 Forbidden解决方法
httpd.conf文件配置详解
Apache中禁止IP段,在httpd.conf中的写法
apache禁止使用IP访问的实现方法
Apache中禁止以目录方式访问的设置
.htaccess学习笔记

如何使用rsh/tar快速克隆Linux服务器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 59 ::
收藏到网摘: n/a


一概述
本文目的在于快速克隆另一架正在运行的Linux服务器的全部内容,之后更改相应的配置
文件,即可快速设置另一台完全相同配置的服务器

二环境
本文使用最新的RedhatLinux7.1CDROM第一张安装盘启动,被克隆的另一架服务器是
任何Linux系统,本文中也为Redhat7.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/servicexinetdrestart启动该三项服务。

c.运行#echo"rexec">>/etc/securetty;echo"rlogin">>
/etc/securetty;echo"rsh">>/etc/securetty允许rsh进来(仅仅redhat7.1需要)

d.在服务器上运行#echo"192.168.0.2">>/root/.rhosts允许该IP可以rsh进来
勿需密码

2.设置服务器A上的/etc/hosts,加上一条记录,可以取任意主机名,如:

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

这样,避免了正反向DNS解析时地址不匹配,否则当你从Brsh到A时,B会提示你“主机
地址不匹配”的问题

3.用RedhatLinux7.1的第一张CDROM启动机器B,我们打入“text”这样可以快速进
入文本安装界面,既然我们不是真的安装,不需要图形界面,我们只是借用该第一张
CDROM启动而用rsh/tar来复制机器A,一直保持按回车,直到出现automatic
partitioning部分,让你选择“Continue"还是"ManualPartition"的屏幕时按
Alt+F2转到字符界面

4.设置网卡的IP,确保能ping通192.168.0.1

请使用Linux默认支持的网卡,象3com,Intel等,这样你只需打入

#ifconifgeth0192.168.0.2up后即可ping通192.168.0.1

现在测试rsh,对于Redhat7.1,你必须做下面的:

#cd/etc
#echo"login513/tcp">services
#echo"shell514/tcp">>services


然后你能#rsh192.168.0.1勿需密码

注:如果你用VALinux6.2.3,不需要做上面的,还没试过其它版本,相信Redhat
Linux6.2也不需要

5.设置/dev/hda设备,使得可以手动做fdisk/mke2fs

对于RedhatLinux7.1转到字符界面来你仍然不能做fdisk/dev/hda.
会提示“打不开设备”,现在你已经可以rsh到192.168.0.1,做下面的:


#(rsh192.168.0.1cd/dev\;tarcf-hda*sda*)|tarxvfp-


现在你可以做#fdisk/dev/hda了,然后用mke2fs格式化所有分区成ext2文件系统

如果硬盘中已经有分区,要快速全部删除,则可做#ddif=/dev/zeroof=/dev/hda,
马上接ctrl+C中断
然后分区表已经被清除

注:如果你用VALinux6.2.3,不需要做上面的rsh部分,还没试过其它版本,相信
RedhatLinux6.2也不需要

6.复制前准备工作

假定你的分区为/boot25M(/dev/hda1),SWAP1G(/dev/hda2),/4G(/dev/hda3)
在为每个分区mke2fs和对交换分区做mkswap后做下面的mount工作

#cd/
#mkdirhda3
#mount/dev/hda3hda3
#cdhda3
#mkdirboot;mount/dev/hda1boot


注:如果你没法在根目录下创建目录,重启动一次再做,重启动不需再拷贝A上的
/dev/hda*/dev/sda*,因为你已经做过fdisk/mke2fs了。


7.复制另一架机器A

打入下面的命令

#cd/hda3
#(rsh192.168.0.1cd/\;tarcf\-\-\-excludeproc.)|tarxvf\-

注:用\来确保-不被bashshell解释成别的字符。
如果你除了proc外还有一目录不需要复制,如data目录,则命令为

#(rsh192.168.0.1cd/\;tarcf\-\-\-excludeproc\-\-excludedata.)|
tarxvf-

8.结束工作

#cd/hda3
#mkdirproc
#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中的aliasscsi_hostadapteraic7xxx(如果你的SCSI芯片类型
是这个)
然后运行mkinitrd创建映像文件,更新/etc/lilo.conf加上initrd=行
否则你不能正常从SCSI盘引导