位置:海鸟网 > IT > linux/Unix >

怎么用Rsh/Tar快速克隆Linux服务器

一概述本文目的在于快速克隆另一架正在运行的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,一直保持按回车,直到出现automaticpartitioning部分,让你选择“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,不需要做上面的,还没试过其它版本,相信RedhatLinux6.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.FAQa.如果克隆后你的CDROM不能mount,检查是否是复制后/dev/cdrom的符号链接链接到错误的设备,用dmesg检查机器B上CDROM的设备名称重新链接。b.如果你源服务器用的是IDE硬盘,而克隆后的服务器用的是SCSI硬盘,则你需要设置。/etc/modules.conf中的aliasscsi_hostadapteraic7xxx(如果你的SCSI芯片类是这个)然后运行mkinitrd创建映像文件,更新/etc/lilo.conf加上initrd=行,否则你不能正常从SCSI盘引导。