FreeBSD 数据转移办法

1、关机,将新硬盘装上,重新开机。

2、开机后查看是否系统是否已经识别到新硬盘了: hpserver# dmesg | grep ad2 成功的话会显示 ad2: 9765MB [19841/16/63] at ata1-master UDMA33 等信息,否则你要检查是否接错线,或者硬件兼容问题。

新硬盘已经安装成功,下面举例说一下两种数据迁移的方法。

一、增加一个硬盘,将原来硬盘/var数据转移到新硬盘

在系统已经建立之后,FreeBSD不能像PQMagic那样自由调整分区空间而不破坏分区数据,所以,如果/var空间已经不够,需要增加一块硬盘增加空间,原来的数据也必须迁移过来。

2、对新硬盘进行分区

可以使用sysinstall或者命令行方式分区。虽然fdisk有更多灵活性,但我建议还是采用sysinstall较好。分区完之后再用sysinstall里面的Label建立文件系统相关文件系统。

3、将文件系统挂载到/mnt hpserver# mount /dev/ad1s1e /mnt 4、将数据迁移,这里也有两种方法,一种是使用tar,另一种是使用dump,我分别介绍,大家可以根据需要而选择备份方式。

(1) 使用tar备份并还原数据。

hpserver# cd /var
hpserver# tar cf - * | (cd /mnt; tar xf -)

(2) 使用dump备份并用restore还原数据。就我个人而言,我推荐使用这种方法,因为我曾经试过用tar备份var目录的时候,出现了错误并自动停止,我分析了一下原因,一些正在使用的文件或者临时文件可能不能备份,但dump不是以文件为单位,而是而block为单位的,应该不存在这样的情况,所以这是我推荐使用dump和restore的原因。

hpserver# cd /mnt
hpserver# dump -f- /var | restore -f- -r

在过程中和结束会出现类似以下信息:

DUMP: Date of this level 0 dump: Wed Jan 14 23:44:35 2004
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/ad0s1e (/var) to standard output
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 305 tape blocks.
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: DUMP: 361 tape blocks
DUMP: finished in less than a second
DUMP: DUMP IS DONE

5、有一点提醒的是,你要确保备份后没有数据写入原来的/var,否则,这些数据没有备份到新分区中。结束后别忘了检查一下结果,并卸载/mnt。

hpserver# ls /mnt
hpserver# umount /mnt

6、编辑/etc/fstab文件,将原来指向/var的文件系统改为/dev/ad1s1e,重新启动就可生效。

二、硬盘复制

如果旧的系统盘出现了一些毛病,或者容量不够,你想更换一个新硬盘,那可以把旧硬盘数据复制到新硬盘,然后把旧硬盘摘下。按照上面的步骤,我们假定已经将硬盘安装好。

这里有一个小tips,就是先记下旧硬盘文件系统所对应的mount点,新硬盘分区次序按照旧的一样,这样免去我们下面容易混淆的步骤,我们查看/etc/fstab对照就知道了。不然搞了几下,自己都忘记了ad2s1e到底是用来挂载那个目录的。

1、使用sysinstall把新硬盘分区,设置好MBR,并一一对照原来的次序创建文件系统,假设原来的文件系统/dev/ad0s1g 对应/usr,那你新硬盘/dev/ad2s1g就用来做/usr,原来的文件系统/dev/ad0s1e 对应/var,那你新硬盘/dev/ad2s1e就用来做/var。按M分别清空所有文件系统的mount点,因为我们还没有建立临时的mount的目录,不清空会和系统原来的mount冲突的。

2、创建临时的目录用来作临时mount点并挂载这些文件系统。

hpserver# cd /mnt
hpserver# mkdir root
hpserver# mkdir usr
hpserver# mkdir var

用cat /etc/fstab查看原来的文件系统的对应关系,我们只要看最后面的一个字母就可以了,这样避免我们忘记了什么对应什么,这就是我刚才为什么让新硬盘的文件系统的名称对应以前的原因。

hpserver# mount /dev/ad2s1a /mnt/root
hpserver# mount /dev/ad2s1g /mnt/usr
hpserver# mount /dev/ad2s1e /mnt/var

3、复制硬盘最好用dump,尽量不用tar,因为你备份根分区的时候,如果不加参数排除一些目录,它会把全部东西备份到你新的分区的,这肯定不是我们想看到的。

hpserver# cd /mnt/root
hpserver# dump -f- / | restore -f- -r
hpserver# cd /mnt/var
hpserver# dump -f- /var | restore -f- -r
hpserver# cd /mnt/usr
hpserver# dump -f- /usr | restore -f- -r

4、到这里为止,数据备份和还原已经结束,检查一下有没有错漏,然后分别umount这些分区。

hpserver# umount /mnt/root
hpserver# umount /mnt/usr
hpserver# umount /mnt/var

5、最后,关机,摘掉原来的硬盘,把新硬盘挂到旧硬盘原来的位置,这步不要省略了,如果你不换位置,系统还是认为新硬盘是ad2,由于你的/etc/fstab里面是对应ad0的,所以启动会找不到/usr和/var等文件系统。启动看看,如果没有什么异常,那恭喜你,数据迁移已经成功,否则,请再看看有什么操作错误或者忘记做哪一步了。无论怎样,都别那么着急把旧硬盘内容清空,最好让新的系统运行几天观察有什么异常再动手。

切记,数据迁移的是一件比较危险的事情,操作过程中不能有差错,否则可能导致你原来的数据丢失,所以必须非常谨慎。

(0)

相关推荐

  • FreeBSD 数据备份和迁移方法

    相信一些朋友也曾经想过如何快捷安全迁移数据,迁移数据可能有多种原因,一种是想增加一块硬盘,把原来一些空间不够的分区迁移过来;另一种是硬盘复制,旧的硬盘容量可能太小了,又或者已经出现了问题,想用新的硬盘 ...

  • 换手机,如何快速把旧手机数据转移到新手机去?

    现在手机更新换代的速度十分快,我们换手机的速度了也越来越快,但毕竟老手机里存着联系方式.照片.短信记录.软件等,一个一个手动保存实在是太慢了,下面跟大家介绍一个快速将旧手机中的数据转移到新手机中的办法 ...

  • Excel 2007中删除重复数据的办法

    Excel 2007中删除重复数据的办法 如果经常跟数据打交道,最头痛的莫过于收集到大量信息中,有一部分重复数据,如果找到并删除他们实在是一件麻烦的事情,不过在Excel 2007中可以很轻松的解决。 ...

  • 安卓设备数据转移到iPhone设备方法

    相信很多小伙伴都在使用安卓系统的设备,如果我们想要将安卓设备数据转移到不同系统的iPhone设备中该怎么做呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,将软件"转移到 iOS ...

  • 怎么把苹果手机iphone中的数据转移到安卓手机Android里

    今天,小编给大家分享把苹果手机iphone中的数据转移到安卓手机Android里的方法,希望对大家有所帮助.具体如下:1. 首先,请大家在自己的安卓手机中找到[设置]图标,点击进入主界面.2. 第二步 ...

  • 更换苹果手机为华为手机时如何将数据转移

    有的小伙伴在使用苹果手机时,想要更换手机为华为手机,但是舍不得苹果手机上的数据,因此想要转移数据,却不知道如何转移,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,打开华为手机,接着点击并打开设 ...

  • 如何将安卓手机中的数据转移到苹果iphone手机中

    我们在日常生活中,也许会遇到跨平台换手机的情况,即安卓手机换了iPhone手机,那么安卓手机上的数据如何转移到苹果手机上呢?今天就跟大家介绍一下如何将安卓手机中的数据转移到苹果iphone手机中的具体 ...

  • 梦幻花园怎么把数据转移到新手机

    梦幻花园怎么把数据转移到新手机. 操作方法 01 首先我们需要下载原来手机品牌的游戏中心,将原来手机品牌的游戏中心APP安装到我们的新手机上. 02 将游戏中心安装到新手机后,打开游戏中心页面,在页面 ...

  • 如何将旧iPhone上的数据转移到新iPhone上

    如何将旧iPhone上的数据转移到新iPhone上,相信很多朋友不是很了解.接下来小编就由两种方法为大家介绍下. 操作方法 01 首先进入旧的iPhone设备的设置页面,并且在设置中找到iCloud选 ...