免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1007 | 回复: 0
打印 上一主题 下一主题

FreeBSD系统备份恢复及迁移 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-18 13:49 |只看该作者 |倒序浏览
将FreeBSD从一块20G的硬盘迁移到另一个80G 的硬盘的最后一个主分区, 该分区大小基本上仍然在20G左右
原分区情况
Filesystem  1M-blocks Used Avail Capacity  Mounted on
/dev/ad0s1a       313   67   221    23%    /
devfs               0    0     0   100%    /dev
/dev/ad0s1e       495  342   114    75%    /tmp
/dev/ad0s1f      7096 5957   570    91%    /usr
/dev/ad0s1d       495  339   117    74%    /var
linprocfs           0    0     0   100%    /usr/compat/linux/proc
procfs              0    0     0   100%    /proc
   
新硬盘计划挂载在/dev/ad0上

  • 对新的磁盘进行分区
    由于两块硬盘分区的大小不一致, 所以使用了一张FreeBSD的安装光盘进行Minimal的安装, 这时去掉原硬盘, 在ad0上挂载新硬盘, 安装时分区情况如下: /dev/ad0s4a分给`/', /dev/ad0s4b分给swap, /dev/ad0s4d分给`/var', /dev/ad0s4e分给`/tmp', /dev/ad0s4f分给`/usr', /dev/ad0s4g分给`/home'

  • 迁移`/'数据
    重启进入单用户模式, 将新硬盘设置为从盘, 在ad0挂载原硬盘, ad1挂载新硬盘, 由于分区的情况不一致, 不能使用dump/restore进行恢复`/', 因为FreeBSD的分区表信息 位于/dev/ad0s4a, 也就是现在的/dev/ad1s4a上的前512字节中, 直接的dump/restore会 导致分区信息被覆盖, 因此对`/'采用pax进行备份和恢复, 最后修改fstab中各个挂载点的设备, 记得修改为ad0s4x, 因为最后新硬盘要挂载在ad0上, 命令如下:
    # /sbin/fsck -p
    # /sbin/mount -a
    # /sbin/swapon -a
    # /sbin/adjkerntz -i
    # export HOME=/root
    # export TERM=vt200
    # csh -l
    # mkdir -p /mnt/new/root
    # mkdir -p /mnt/new/var
    # mkdir -p /mnt/new/tmp
    # mkdir -p /mnt/new/usr
    # newfs /dev/ad1s4a
    # mount /dev/ad1s4a /mnt/fs/root
    # cd /mnt/fs/root; pax -rw -pe -X / .
    # cd /mnt/fs/root/etc
    # vi fstab
       

  • 恢复FreeBSD其他分区的数据
    这里由于不涉及对分区信息的操作, 可以使用dump/restore进行数据迁移, 同样也可以使用pax进行迁移, 这里使用dump/restore进行迁移
    # newfs /dev/ad1s4d
    # newfs /dev/ad1s4e
    # newfs /dev/ad1s4f
    # newfs /dev/ad1s4g
    # newfs /dev/ad1s4h
    # mount /dev/ad1s4d /mnt/new/var
    # mount /dev/ad1s4e /mnt/new/tmp
    # mount /dev/ad1s4f /mnt/new/usr
    # (dump -0b 512 -f - /usr) | (cd /mnt/new/usr; restore -rb 512 -f - )
    # (dump -0f - /var) | (cd /mnt/new/var; restore -rf - )
    # umount /mnt/new/var
    # umount /mnt/new/tmp
    # umount /mnt/new/usr
    # tunefs -n enable /dev/ad1s4d
    # tunefs -n enable /dev/ad1s4e
    # tunefs -n enable /dev/ad1s4f
    # tunefs -n enable /dev/ad1s4g
    # tunefs -n enable /dev/ad1s4h
       

  • 迁移其他数据
    其他数据可以通过cp, tar, cpio, pax等迁移

  • 迁移完毕, 关机, 重新挂载新硬盘到ad0, 重启, :)


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/632/showart_142145.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP