• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何使用Rsh/Tar快速克隆Linux服务器

发布: 2007-5-26 11:30 | 作者: originarea  | 来源: 赛迪网技术社区 | 查看: 21次 | 进入软件测试论坛讨论

领测软件测试网

一 概述

本文目的在于快速克隆另一架正在运行的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 x.netd 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盘引导。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网