linux下的系统迁移备注

上一篇 / 下一篇  2007-08-14 16:11:42

由于linux的天才设计,在linux下都是以文件的形式在在,使得在linux下整体迁移数据变得异常容易和简单,不过,如果是硬件环境本身差异很大的话,可能要费些手脚,但只要掌握了以下几个步骤,基本上都可以化解.

1.做好原系统的备份工作

  a).分区表备份:

         #sfdisk -d /dev/sda >sda.out(非必需,但是如果要恢复成一模一样倒是有用)

  b).引导区备份:

         #dd if=/dev/sda ōf=/mbr.bak bs=512 count=1(非必需,适合高手使用,简单的方法可以通过grub-install来实现)


  c).文件系统备份:

         # tar zcvf boot.tgz /boot

         # tar zcvf sys.tgz /root /home /sbin /bin ....

2.准备一张拯救系统光盘,推荐为slax光盘版或U盘版或者是systemrescuecd,可以帮助我们把新硬盘挂载上去,并提供一个网络环境,便于从原系统把备份文件通过网络传输过来.

   a). 当然是开启网络配置,至少要保证原机器和目标机器可以互相传输文件,省略..

   b).给新硬盘分区,我使用这个命令 #sfdisk /dev/sda <sda.out,导入分区表,然后格式化分区并挂载上来.

   c).从原机器拷贝文件到新硬盘的分区,然后解压到各自目录 

   3.重新安装引导程序,按照上述步骤做好的新硬盘是无法启动的,必须要重新安装引导程序,常用的引导程序有lilo,grub,lilo的使用比较简单,这里着重介绍一下grub的安装.

  

  方法1).找张系统安装光盘,进入rescue模式,加载系统,重新安装grub

      # root (hd0,0) <---/boot所在分区

      # setup (hd0,0)

   方法2). #mount /dev/sda2 /

          #mount /dev/sda1 /boot

          #grub-install --root-directory=/boot /dev/sda

   方法3). #dd if=/mbr.bak ōf=/dev/sda bs=512 count=1

一般情况下,经过上述步骤,你的linux系统已经迁移完毕并且可以正常启动,当然,有一些小问题如修改/etc/fstab,添加分区标签,新硬件需要重新配置等等工作就不一一说了.

日前,本人解决了一个比较麻烦的系统升级,写下来供大家参考.

原系统环境是1U的服务器,运行着RH7.2(2.4内核)+非常重要的服务器,装配有adaptec的阵列卡,由于机器比较陈旧,硬件的容量小而且可替换性差,因此,很有必要对系统做整体迁移(因为服务器上的服务软件对旧系统依赖性很强,所以不能重新安装系统,只能整体迁移)

新机器的配置为双核+SATA硬盘,无阵列卡,当做好上述的步骤后,由于新机器没有阵列卡,系统在加载原来的adaptec模块时出现非法错误,于是,硬盘也无法挂载,出现kernel panic错误,仔细思考一下,加载旧的硬件设备是在initrd这个镜像文件中设备的, 但是旧内核又无法支持SATA类型硬盘,怎么办呢?

解决方法:

1).用新机器安装centos4.4系统,最小化安装,因为我只要安装完系统后的/boot和/lib/modules/目录,把这两个目录打包

2).centos4.4已经使用了2.6内核,因此,还要备份modprobe,insmod,rmmod,modinfo和/etc/modprobe.conf等几个命令和文件.

3).拷贝到硬盘中替换原来的/boot和/lib/modules目录,并把新的命令和配置文件也替换掉

4).利用新的内核引导旧的系统启动,一切正常.

 

当遇到 SVN报这个错误时:

svn: Berkeley DB error
svn: Berkeley DB error while creating environment for filesystem tester/db:
Function not implemented

RedHat 9和Fedora分发版本中包括了Berkeley DB库,依赖于为NPTL(the Native Posix Threads Library)内核支持,RedHat得内核提供了内置的支持,但是如果你编译了你的内核,你或许不再有NPTL的支持,所以这种情况下你会看到这样的错误:

可以用以下的任意一种方法修正这个问题:

  • 重新为你使用的内核编译db4。

  • 使用RedHat 9的内核。

  • 为你使用的内核应用NPTL补丁。

  • 使用最近的(2.5.x)包括NPTL支持的内核。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 59024
  • 日志数: 149
  • 建立时间: 2005-05-16
  • 更新时间: 2008-06-05

RSS订阅

Open Toolbar