本次操作是通过远程操作,这也是Linux比Windows方便的地方 ,因为在windows上分区好像有点不可想象,而linux什么都能远程操作。 在加入新硬盘后,我们就可以通过ssh登陆开始远程添加新的分区。 这次添加新硬盘的目的主要是想把以前的/home分区,挪到新加的硬盘上去。sdc我们通过badblocks命令检查出有很多坏道,而且经过多次修复尝试后,宣告失败,所以才会决定用新的硬盘换这个有问题的硬盘。 新的硬盘是sdb,先分区先;
|
如果以前有分区的话,***用d命令先删除 然后用n命令添加新的分区。 如果你要添加swap分区的话,记得分区的代码是82,而不是默认的linux代码83。 记得一定要用w命令保存退出。分区后当然是格式化了:
|
注意这里我用了 -c 选项用“read-only”方式检查硬盘。这个命令会在格式化硬盘时检查硬盘,并标出错误的硬盘“block”。
顺便说一句,每次重启机器都是那么紧张,生怕修改了fstab后,系统启动失败。用这个方法格式化硬盘,需要有相当大的耐心,因为命令运行后,会一个个用读的方式检查硬盘。格式化完成后,我觉得有必要检查一下你的新硬盘是否有坏道,可能被坏道弄怕的缘故吧。
() [#page_#][#page_#]
现在你可以做#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工作。
|
注:如果你没法在根目录下创建目录,重启动一次再做,重启动不需再拷贝A上的/dev/hda* /dev/sda*,因为你已经做过fdisk/mke2fs了。
7. 复制另一架机器A
打入下面的命令:
|
注:用来确保-不被bash shell解释成别的字符。 如果你除了proc外还有一目录不需要复制,如data目录,则命令为:
|
8. 结束工作
|
更改相应文件如/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硬盘,而克隆后的服务器用的是SCS硬盘,则你需要设置。
/etc/modules.conf中的alias scsi_hostadapter aic7xxx (如果你的SCSI芯片类是这个) 然后运行mkinitrd创建映像文件,更新/etc/lilo.conf加上initrd=行,否则你不能正常从SCSI盘引导。
【编辑推荐】