`
icarusli
  • 浏览: 531517 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FreeBSD系统完全备份

阅读更多

摘要:
FreeBSD操作系统是非常稳定的,但是这并不是说FreeBSD系统都不备份数据,系统备份是系统管理中一个重要的部分。

在学习使用FreeBSD的过程中经常需要对系统进行某些实验性的操作,这时就有可能把系统搞乱,

只要你是正常操作搞坏一个FreeBSD还是比较困难的,如果没有root权限的话,几乎就是不可能的,当然你可以把自己的home塞满,如果管理员没有使用quato技术的话,

但是想搞坏一个FreeBSD也是很容易的,比如说你在行使root权限时随便输入了一个错误的命令。

这个Wiki页面将会介绍一种FreeBSD系统的完全备份方法,主要基于FreeBSD Forum上killasmurf86一个关于Backup的帖子。

在FreeBSD的Handbook上专门内容讲系统备份,在网上也有很多关于FreeBSD系统的备份文章,这个wiki页面的主要目的在于给出一个详细的备份以及恢复系统的过程描述。

基本的游戏规则:
FreeBSD系统的备份不需要什么特殊的工具,你需要的工具在FreeBSD的基本系统里面就有;
FreeBSD系统的备份就是对系统文件的打包,然后放到一个安全的地方,本文中使用的打包工具是dump;
FreeBSD系统的恢复就是把你保存好的系统文件从安全的地方里面拿出来放到你的硬盘上去,本文中使用的恢复工具是restore;
Unix-like下面不使用ghost之类的备份工具。
需要使用的工具:
FreeBSD基本系统中有很多工具可以备份,比如说tar。

但是在这个Wiki页面中我们只使用:dump+restore+freebsd_livefs_cd。

其中freebsd_livefs_cd可以到任意的FreeBSD的ftp服务器去下载。

示例系统分区简介:
这个台式机只有1块硬盘,并且只有一个FreeBSD操作系统,其分区方案如下。

df -h
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/ad12s1a    496M     36M    420M     8%    /
devfs           1.0K    1.0K      0B   100%    /dev
/dev/ad12s1h    240G    1.5G    219G     1%    /home
/dev/ad12s1e    3.9G    166K    3.6G     0%    /tmp
/dev/ad12s1f     19G    3.1G     15G    17%    /usr
/dev/ad12s1g     19G    1.3G     17G     7%    /usr/local
/dev/ad12s1d    3.9G     55M    3.5G     2%    /var
procfs          4.0K    4.0K      0B   100%    /proc
cat /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ad12s1b none swap sw 0 0
/dev/ad12s1a / ufs rw 1 1
/dev/ad12s1h /home ufs rw 2 2
/dev/ad12s1e /tmp ufs rw 2 2
/dev/ad12s1f /usr ufs rw 2 2
/dev/ad12s1g /usr/local ufs rw 2 2
/dev/ad12s1d /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
proc /proc procfs  rw 0 0
从这个分区来看,是一个320G的硬盘,上面只有一个FreeBSD操作系统,每个分区的大致用途如下,详情可以参考hier(7)。

/ 这个目录存放很多基本工具,包括内核,需要备份;

/dev 这是一个虚拟的文件系统,不需要备份;

/home 用户数据,需要备份;

/tmp 临时文件,不需要备份;

/usr 很多工具以及系统的源代码都放在这里面,需要备份;

/usr/local 所有安装的软件基本上都在这里,需要备份;

/var 系统的日志,ports系统的数据库,需要备份;

/proc 虚拟文件系统,不需要必要备份。

看来需要备份一下目录:

/

/home

/usr

/usr/local

/var

备份的方法:
以/分区为例,我通常直接备份到我的移动硬盘上面。

我的移动硬盘使用的是UFS文件系统,分了4个partition,一般情况下我会把移动硬盘关在在我的/mnt/fender_01目录下面,假设目前系统一切正常,我现在打算做一个备份,那么我就应该关在移动硬盘某个分区到/mnt/fender_01目录下,然后分别对所有需要备份的分区进行备份,这里只给出“/”分区备份的例子。

“/”分区对应我硬盘上面的/dev/ad12s1a,那么备份整个分区的命令如下:

dump -0Lauf /mnt/fender_01/dump/ad12sa1.dump /dev/ad12s1a
某些时候,起一个好的文件名很重要! 

其中:

-0 备份所有的文件系统中的内容,也就是不使用增量备份;

-f 指定备份结果存放的文件名;

-a 告诉dump不考虑备份的介质的大小问题,早期备份使用磁带,dump会预先计算一下需要的空间,使用这个选项告诉dump忽略这个问题;

-u 告诉dump更新一下/etc/dumpdates,这个文件记录了你在系统上搜有的备份活动;

-L 备份已经挂载的文件系统时需要,这个选项会使用UFS2的snapshot功能来保证文件系统的一致性。

恢复系统的方法:
恢复“/”以外的文件系统:
如果你只想恢复/以外的文件系统,那么很容易,

我们以恢复/home文件系统为例,你只需要重启系统进入单用户模式,

挂载/tmp分区,应为restore需要使用/tmp分区,

挂载移动硬盘上保存我备份文件的分区到/mnt目录下面的某个,例如/mnt/01,

按照我上面命名的规则,备份生成的文件应该是保存在/mnt/01/dump/dev/ad12s1h.dump,

首先你需要格式化/dev/ad12s1h,命令如下:

newfs -U /dev/ad12s1h
-U选型来打开softupdate。

挂在这个分区到/mnt下面的某个目录,例如/mnt/02/

mount /dev/ad12s1h /mnt/02
现在来恢复文件系统:

cd /mnt/02

restore -rf /mnt/01/dump/ad12s1h.dump
恢复“/”:
按照上面的方法你可以恢复/以外的任意的分区,但是你不能恢复“/”,因为你如果使用newfs格式化了“/”你就没有办法使用“/”里面的restore了,

解决的办法就是使用freebsd_livefs_cd启动系统,然后选择fix,之后选择cd,之后的过程就和上面介绍的恢复其他分区是一样的了。

事实上,可以使用freebsd_livefs_cd来恢复任何分区,但是如果你没有下载并刻录这张光盘,那么你就只能在单用户模式下面恢复“/”以外的分区了。

需要注意的是,当你格式化“/”对应的硬盘分区时,可以使用下述两种方法:

newfs /dev/ad12s1a
newfs -U /dev/ad12s1a
区别在于后者将打开softupdate选项,详细情况参考newfs。

在FreeBSD系统的安装过程中“/”分区默认是不打开softupdate的,并且你也没有办法打开,因为sysinstall程序不允许你打开。

这是一个历史遗留问题,当时softupdate还不成熟,于是决定在“/”分区中禁止使用softupdate,现在softupdate已经成熟了,但是对这个问题却保留了下来。 

在“/”分区使用softupdate不会造成什么问题,但是在系统安装的默认设置中是没有打开的,这一点需要注意。

可以使用如果想打开或者关闭softupdate这个选项,可以使用tunefs(8)这个工具。

备份MBR:
上面只提到了备份文件系统,没有讲如何备份系统的MBR。

关于MBR是什么就不详细介绍了,有兴趣的可以参考Handbook上面有一章专门介绍FreeBSD系统的启动过程。

备份:
dd if=/dev/ad0 of=/path/to/mbr.img bs=512 count=1
恢复:
dd if=/path/to/mbr.img of=/dev/ad0 bs=512 count=1
分享到:
评论

相关推荐

    freebsd安装文档

    本文档旨在为用户提供一份详细的FreeBSD安装指南,帮助用户顺利安装并配置FreeBSD系统。 #### 二、准备工作 在开始安装FreeBSD之前,请确保您已经准备好以下内容: 1. **安装介质**:推荐使用FreeBSD官方发布的...

    U盘grub for dos menu.lst文件备份

    它允许用户选择要启动的操作系统或加载特定的内核版本,尤其是在多系统环境(如Windows、Linux和FreeBSD等)中。 menu.lst是GRUB for DOS的核心配置文件,它定义了启动菜单的布局和操作系统的加载参数。这个文件...

    borg-macosx64 borgbackup: 1.1.11 重复数据删除备份程序

    经过身份验证的加密技术使其适合于备份到不完全受信任的目标。请参阅安装手册,或者如果已经下载了Borg,请参阅docs / installation.rst以开始使用Borg。还提供了多种格式的脱机文档。主要功能节省空间的存储基于...

    python编写开源的跳板机(堡垒机)系统Jumpserver-v3.10.7.zip

    如需升级,请务必升级前进行备份。 支持常见系统: 1、redhat centos 2、debian 3、suse ubuntu 4、freebsd 5、其他ssh协议硬件设备 特点: 完全开源,GPL授权 Python编写,容易再次开发 实现了跳板机基本功能,...

    Linux操作系统部分课后答案(第3版)

    - **跨平台:** X-Window不仅仅限于Linux,还可以在其他操作系统上运行,如FreeBSD等。 4. **默认情况下,超级用户和普通用户的登录提示符分别是什么?** - **超级用户:** `#` 表示超级用户(通常是root用户)...

    FreeNAS存储系统部署.doc

    FreeNAS存储系统是一种基于FreeBSD、Samba和PHP的开源网络附加存储(NAS)解决方案,它提供了多种协议支持,如CIFS(Samba)、FTP、NFS,还支持软件RAID(0、1、5)以及通过Web界面进行管理。FreeNAS对硬件要求较低...

    分布式文件系统FastDFS架构剖析及配置优化

    FastDFS是一款开源的轻量级分布式文件系统,由纯C语言编写而成,适用于Linux、FreeBSD等UNIX系统环境。它并非一个通用的文件系统,而是设计用于解决大规模互联网应用中的文件存储问题,特别强调高性能和高扩展性。...

    文件系统NTFS

    在Linux环境下,虽然NTFS是Windows的原生文件系统,但Linux并不内建对NTFS的完全支持。为了在Linux上读写NTFS格式的磁盘,我们需要借助第三方软件,例如"ntfs-3g"。 **ntfs-3g概述** ntfs-3g是Linux社区开发的一个...

    EasyBCD 2.2.0.170 绿色汉化版(更新)

    EasyBCD作为一个优秀的第三方引导加载器,支持多种操作系统,包括Windows XP、Vista、7、8、10以及各种Linux发行版,甚至还可以配置启动其他系统如FreeBSD或Mac OS。 2. **多系统共存支持**: 在一台电脑上安装多...

    freeRadius安装配置说明书 完全文档

    FreeRadius安装配置说明书完全文档 FreeRadius是一款开源的 radius服务器软件,广泛应用于网络身份验证、授权和计费(AAA)领域。本文将指导读者在Linux环境下安装和配置FreeRadius服务器。 第一章 概述 Free...

    cya:易于使用的快照和还原实用程序,适用于由BASH支持的任何Linux(Unix)操作系统和文件系统

    这个工具充分利用了BASH shell的特性,使得它可以在广泛的开源操作系统中运行,包括但不限于Ubuntu、Debian、CentOS、Fedora、OpenSUSE等基于Linux的发行版,以及FreeBSD和OpenBSD等类Unix系统。由于它基于BASH,...

    主机域名Zpanel v2.0完全版-zpanel20hh.rar

    Zpanel支持多种操作系统,如Linux、FreeBSD和Windows等。 二、PHP技术: Zpanel是用PHP编程语言构建的,这是一种广泛使用的服务器端脚本语言,尤其在网页开发领域。PHP与HTML紧密集成,可嵌入到HTML代码中,用于...

    Linux基础与应用.ppt

    Linux虽然在某些方面与某些PC机的Unix类似,但它是完全免费的,用户可以免费获取软件、文档和售后服务。相比FreeBSD,Linux更易于普通用户使用,特别是在PC平台上。 【Linux的获得】 用户可以通过购买Red Hat的...

    启用 Hyper-V 以在 Windows 10 上创建虚拟机

    3. **系统备份**:使用虚拟机作为系统备份的一种方式。 4. **网络隔离**:在隔离的环境中测试不受信任的软件或网络。 #### 八、注意事项 - **许可要求**:使用 Hyper-V 需要有效的 Windows 操作系统许可证。 - **...

    linux 破解root密码

    需要注意的是,这些操作涉及对系统内核和初始化程序的修改,因此在执行前请确保理解每一步的意义,并在必要时备份重要数据。此外,在进行此类操作时应格外小心,以避免对系统造成不可逆转的损害。

    testdisk源代码

    对于那些对数据恢复技巧了解很少,甚至完全一无所知的人来说,Testdisk可用于收集非启 动分区的详细信息,后续再发送给专业数据恢复人员进一步分析。 对于那些对数据恢复较为熟悉的人员来说, Testdisk是一款现场非常...

Global site tag (gtag.js) - Google Analytics