ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

fsarchiver创建系统镜像(dd命令也可以)

2022-05-04 18:33:56  阅读:205  来源: 互联网

标签:dd 文件系统 dev id fsarchiver Linux 镜像 备份


fsarchiver

1,备份:

fsarchiver -v savefs ubuntu /dev/sda1 #使用详细模式备份/dev/sda1文件系统到当前目录下的ubuntu.fsa,后缀会自动补上的

根据系统提示,系统有6个命令,其余都是选项。命令如下

savefs 备份文件系统

restfs  还原文件系统

savedir 备份目录,就像tar工具一样

restdir 恢复目录

archinfo 显示压缩包的详细信息

probe  显示系统内磁盘分区各文件系统


2,查看备份后的文件

fsarchiver archinfo ubuntu.fsa 

#查看当前压缩包的信息,如果是单文件系统压缩的包,无所谓,如果是多文件系统压缩形成的包,还原时需要注意相应的"Filesystem id in archive : 0”,后面会用到的,请注意

3,恢复

fsarchiver -o restfs ubuntu.fsa id=0,dest=/dev/sda1 

#id就是第2步中archinfo中所示的id号,dest为恢复目标

fsarchiver简介

fsarchiver可以将整个文件系统的内容保存成一个压缩形式的归档文件,包含文件系统本身。所以用来做系统镜像是一个不错的选择,一旦系统崩溃但可以进入救援模式,我们就可以使用之前备份好的系统镜像快速恢复系统。

如何安装
fsarchiver默认没有安装在发行版里,需要我们自己安装。官方网站是www.fsarchiver.org。我们进入http://www.fsarchiver.org/installation/页面,可以选择rpm或者源码安装,但是对于CentOS6系统,RPM安装存在依赖问题,他的RPM包是针对RHEL7系统制作的。我们可以选择下载已经编译好的二进制包,直接使用。

基本使用

#对于备份操作,我们需要以只读形式重新挂载文件系统或者有条件的话直接卸载。也可以-A忽略
[peter@test88 ~]$ sudo /home/peter/fsarchiver savefs backup.fsa /dev/sdb1
oper_save.c#938,filesystem_mount_partition(): partition [/dev/sdb1] is mounted read/write. please mount it read-only 
and then try again. you can do "mount -o remount,ro /dev/sdb1". you can 
also run fsarchiver with option '-A' if you know what you are doing.
removed backup.fsa

#对于恢复操作,我们必须先卸载文件系统。
[peter@test88 ~]$ sudo /home/peter/fsarchiver restfs backup2.fsa id=0,dest=/dev/sdb2
oper_restore.c#1230,extractar_filesystem_extract(): partition [/dev/sdb2] is mounted on [/home/peter/sder].
cannot restore an archive to a partition which is mounted, unmount it first: umount /home/peter/sder

#创建文件系统备份
#可以将多个文件系统备份在一个文件中
[peter@test88 ~]$ sudo /home/peter/fsarchiver savefs backup.fsa /dev/sdb1 /dev/sdb2

#恢复文件系统
#id=0表明从归档中提取第一个文件系统的内容
[peter@test88 ~]$ sudo /home/peter/fsarchiver restfs backup.fsa id=0,dest=/dev/sdc1 id=1,dest=/dev/sdc2

实用推荐:十二款Linux系统恢复工具

  【天极网服务器频道】电脑死机,硬盘崩溃,花巨大的money搞个急救保护器……这都是计算机的阴暗面。

  时间一直这样走着,走着,不定哪天背点儿。对于电脑损坏造成的损失,着急抓狂毫无意义。相反,使用恰当的工具反而会最小化损失。

  你是否不小心删除你的纪念图片?安装新系统时候,擦除了分区表?无法读取旧CD里面的数据?别急嘛~我们将会给您推荐一些免费的系统急救工具,使你从无奈中解脱出来~~:>

  安装Ubuntu系统的朋友们,你们可以用软件包管理器安装以下程序,搜索程序名称即可安装。我们只是简单介绍下,具体你看各个软件介绍即可~~

  1. Photorec -从各种崩溃的介质中恢复丢失的数据

实用推荐:十二款Linux系统恢复工具

  你不必费劲擦除你的硬盘数据,一个”rm”命令使用不当就可能帮你的忙~~呵呵~图形化的环境有情可原,可以恢复你刚才不小心删除的数据。但是刚删除CF卡上的假日照片怎么恢复呢?

  PHOTOREC:能够恢复删除约摸一周前的文件,支持超过300多种流行的文件格式,包括ZIP, HTML, PDF and JPG等。不管什么文件系统,支持硬盘、USB、内存卡、 iPods等,可以读取 FAT, NTFS, EXT2/3 和HFS+ 分区上的数据。

  2.e2fscktools -检查、修正文件系统

实用推荐:十二款Linux系统恢复工具

  该工具检测和修正EXT2, EXT3 和 EXT4文件系统。对于其他文件系统,可以使用xfs_ repair, jfs_fsck,fsck.resiserfs进行检测修复。

  E2FSCK:可使用e2fsck标记磁盘坏区。

  3.ntfsresize - 改变 NTFS分区大小

  一般的Linux主流发行版本都包括此版本,可以帮助你改变windows32位64位分区大小。可检测NIFS分区错误,增大减小文件系统。

  4. FSArchiver – 复制整个分区

  避免损坏磁盘的有效办法就是做好备份。该工具可对数据压缩,节省空间,备份数据是只读格式。

  5. chntpw – 重设 Windows 密码

  若是忘记了Windows 密码,可使用chntpw工具重设密码。

  6. Sfdisk – 备份分区表

实用推荐:十二款Linux系统恢复工具

  如果你安装多系统,很容易导致分区表的混乱。该工具都绑定在各Linux发行版本,可用来备份、编辑、恢复分区表。

  用sfdisk -d /dev/sda > sda_table.txt 备份分区表;sfdisk /dev/sda < sda_table.txt 恢复分区表。

  若安装RAID,可用sfdisk -d / dev/sda | sfdisk /dev/sdb 备份分区表。

  7. ddrescue – 重建损坏磁盘

实用推荐:十二款Linux系统恢复工具

  比较古老的硬盘,经常会出现读取错误。

  用DDRESCUE备份毁坏磁盘,然后尝试修复备份。

  8. Rsync – 远程备份

实用推荐:十二款Linux系统恢复工具

  可使用Grsync备份。

  9. GAG – 高级引导程序

实用推荐:十二款Linux系统恢复工具

  如果安装多系统,很容易破坏MBR,可切换到GAG 引导程序。

  把GAG安装在主分区或逻辑分区, 可引导9个不同的操作系统,配置较简单。

  虽然是图形化界面,大部分操作仍是靠键盘操作。

  10. Inquisitor – 硬盘测试

  不时的测试下硬盘,提早解决问题。Inquisitor live CD 有很多模块来测试各种东东,比如硬盘、硬盘控制器、USB、CPU、内存等等。

  11. chkrootkit – 检测 rootkits

  使用该工具,用许多知名的rootkit检测安装情况,扫描入侵者.

  12. md5deep – 搜索丢失的文件

  如果你的系统泄密,入侵者可能用恶意文件代替原始文件。可用md5deep记录系统文件hash目录。用该工具通过hash找到丢失的文件。

linux建立备份文件命令,在Linux上,如何使用Fsarchiver创建备份

Fsarchiver是一个免费软件实用程序,可在单个存档中创建一个或多个文件系统的备份。这种备份的一大优势是,我们可以在比原始备份文件系统小的文件系统上进行恢复(当然,该文件系统足够大,可以容纳所有文件);在本文中,学习如何安装和使用应用程序。在本教程中,你将学习:如何使用fsarchiver创建备份如何在多线程模式下运行fsarchiver如何用一个命令备份多个文件系统如何加密备份如何检查备份归档如何还原备份

使用的软件需求和约定以root用户或通过sudo命令对Linux系统的特权访问

# - 以root特权直接作为root用户执行,或者通过使用sudo命令

$ - linux命令以普通用户的身份执行

安装Fsarchiver

安装fsarchiver非常简单,应用程序被打包并可在最常用的Linux发行版的存储库中获得,可以安装,程序的最新版本是0.8.5;要在Fedora上安装它,运行以下命令:$ sudo dnf install fsarchiver

在Debian和衍生产品上,根据你的喜好,可以使用aptitude或apt-get安装包;$ sudo apt install fsarchiver

Fsarchiver在Extra发行版的ArchLinux存储库中可用;可以使用pacman安装它:$ sudo pacman -S fsarchiver

创建备份

首先,在创建文件系统的备份之前,必须确保它没有被挂载,或者至少是在只读模式下挂载,如果提供了适当的选项,fsarchiver也可以在挂载的文件系统上工作,但是如果希望备份保持一致,应该绝对避免这种情况:如果使用lvm逻辑卷,可以创建文件系统的快照并在它上运行fsarchiver ,否则应该从"live"环境创建备份。

Fsarchiver支持几种文件系统类型,如,ext4,ext3,该应用程序可以在多线程模式下运行,并且默认情况下设置为保留标准文件和扩展文件属性,如SELinux和ACL(访问控制列表)所使用的。归档文件中包含的文件可以通过校验和进行验证。

要创建归档文件,需要使用savefs命令,并指定将创建的归档文件的名称和要备份的源文件系统,要在ext4文件系统设备上备份/dev/sda3,运行:$ sudo fsarchiver savefs -v /path/to/backup.fsa /dev/sda3

程序的语法非常简单,上面示例中提供的唯一选项是-v:这将导致程序以详细模式运行,能够看到对每个文件及它进度执行的操作。

作为命令的第一个参数,指定备份归档的路径,并在它名称后面使用.fsa后缀,后缀的使用是任意的。

启动命令后,程序将做的第一件事是分析filsystem,然后,它将继续实际的备份操作,正如从输出中看到的:Analysing filesystem on /dev/sda3...

====================== archiving filesystem /dev/sda3 ======================

-[00][ 0%][DIR ] /

-[00][ 0%][DIR ] /lost+found

-[00][ 0%][DIR ] /egdoc

-[00][ 0%][DIR ] /egdoc/Templates

-[00][ 0%][DIR ] /egdoc/Documents

-[00][ 0%][DIR ] /egdoc/Music

[...]

将多个文件系统存储在同一个归档文件中

fsarchiver的一个很好的特性是能够将多个文件系统存储在同一个归档中,如果发生错误,需要从备份中恢复,所要做的就是通过归档文件内的索引引用文件系统,要一次备份多个文件系统,只需一个地指定它们:$ sudo fsarchive savefs -v /path/to/backup.fsa /dev/sda2 /dev/sda3

使用压缩

Fsarchiver支持两个选项来管理压缩:-z (-compress )-Z (-zstd )

这两个选项都需要一个参数来指定压缩级别,可用级别的范围取决于使用的选项,来看看它们之间的区别是什么。

使用-z选项进行压缩

--compress选项(-z )接受从0到9的压缩级别,每个级别对应于与特定模式一起使用的压缩算法:

-z选项值越高,压缩效果就越好,但是要花费更多的时间和内存。

使用-Z选项进行压缩

另一个选项,可以用fsarchiver指定压缩级别是--zstd,此选项接受从0到22的值范围。

从备份中排除文件

在某些情况下,由于各种原因,可能希望从备份中排除某些文件,例如,当创建系统root分区的备份时,希望排除所谓的伪文件系统,比如/dev和/proc,要从备份中排除文件,必须使用-e选项(--exclude的缩写),并提供排除模式,该模式匹配的文件和目录将从备份中排除。

例如,希望从备份中排除".bk"扩展名的文件,运行:$ sudo fsarchiver savefs -v /path/to/backup.fsa /dev/sda3 --exclude="*.bk"

在多线程模式下运行

如上所述,fsarchiver可以在具有多个CPU内核的机器上以多线程模式创建或恢复备份,控制此功能的选项为-j (--jobs ):它接受作为参数的线程数,通常建议值等于可用逻辑处理器的数量-1,以多线程模式运行具有明显的优势,可以为备份或还原任务使用更多处理能力,这将在更短的时间内完成。

加密备份归档文件

Fsarchiver能够加密保存在备份存档中的数据,要使用此功能,必须使用-c选项或它长格式:--cryptpass,并将加密密码作为参数传递,密码可以是6到64个字符长或单破折号字符(- ),如果提供了后者,将显示提示,以便用户交互输入密码:$ sudo fsarchiver savefs -v /path/to/backup.fsa /dev/sda3 --cryptpass -

Enter password:

Confirm password:

Analysing filesystem on /dev/sda3...

[...]

还原备份时必须使用相同的选项和密码。

检查现有归档文件

到目前为止,看到了如何创建备份归档文件,创建归档文件后,我们可以使用fsarchiver专用子命令检查其内容:按照前面的示例,运行:$ fsarchiver archinfo /path/to/backup.fsa

命令的输出将类似于以下内容:====================== archive information ======================

Archive type: filesystems

Filesystems count: 2

Archive id: 5e7934e4

Archive file format: FsArCh_002

Archive created with: 0.8.5

Archive creation date: 2020-03-20_19-51-05

Archive label:

Minimum fsarchiver version: 0.6.4.0

Compression level: 8 (zstd level 8)

Encryption algorithm: none

===================== filesystem information ====================

Filesystem id in archive: 0

Filesystem format: ext4

Filesystem label:

Filesystem uuid: 69d250a7-16d0-47fd-8ca2-6513d32c1e5a

Original device: /dev/sda2

Original filesystem size: 34.20 GB (36722737152 bytes)

Space used in filesystem: 6.15 GB (6608547840 bytes)

===================== filesystem information ====================

Filesystem id in archive: 1

Filesystem format: ext4

Filesystem label:

Filesystem uuid: ec7d21e9-56b8-4fef-abc7-d9da2a4ad45c

Original device: /dev/sda3

Original filesystem size: 14.70 GB (15786254336 bytes)

Space used in filesystem: 3.29 GB (3536240640 bytes)

在输出的第一部分,找到关于归档的一般信息,作为创建日期和压缩级别;之后,可以检索归档中保存的每个文件系统的信息,需要能够按id标识文件系统来恢复备份:在下一节中,看到如何做到这一点。

还原备份

要恢复使用fsarchiver创建的备份,必须使用restfs子命令,以第一个参数的形式提供归档备份的路径,要恢复的文件系统的归档id和目标设备,下面的例子恢复为文件系统在/dev/sda2设备上创建的备份,运行:$ sudo fsarchiver restfs /path/to/backup.fsa id=0,dest=/dev/sda2

为了将多个备份还原到各自的目的地,只需要重复id,dest模式:$ sudo fsarchiver restfs /path/to/backup.fsa id=0,dest=/dev/sda2 id=1,dest=/dev/sda3

有了上面的命令,把归档中的第一个备份恢复到/dev/sda2分区,第二个恢复到/dev/sda3。

需要注意的一点是,在恢复时,fsarchiver不仅会恢复文件,而且会重新创建原始的文件系统。这非常有用,因为不需要调整/etc/fstab文件,它通常应该使用新的文件系统UUID更新,

结论

在Linux上有许多开源备份解决方案;在本文中讨论了fsarchiver,在最常见的Linux发行版中安装这个程序,以及如何使用它创建一个备份,这个备份也可以被加密,看到了如何检查备份归档文件以及如何恢复文件系统,这是fsarchiver主页,如果您想了解更多有关该程序的信息,那绝对值得!

Linux 分区克隆神器 FSArchiver
https://www.likecs.com/show-203351697.html
https://blog.csdn.net/geleibo/article/details/82899398
https://www.pianshen.com/article/51233533/

  相信用过windows的人都见过Ghost还原系统,备份文件系统并且压缩,同时在还原的时候,不必要求目标分区同样大小,只要能够容纳相应的数据即可。现在介绍的这款工具,就像是Linux版的Ghost工具一样,还有一些更好的特性。如:备份和还原的文件系统可以不同,备份时文件系统是ext3,而数据可以还原成ext3文件系统,也可展开到不同的文件系统如btrfs当中,这就等于无损变更了文件系统格式,真的非常棒,使用起来也相当容易。

  接下来看看此工具如何用法,效果怎么样,Let's Go

Linux 分区克隆神器 FSArchiver

备份文件系统示例:

fsarchiver -v savefs ubuntu /dev/sda1 #使用详细模式备份/dev/sda1文件系统到当前目录下的ubuntu.fsa,后缀会自动补上的

根据系统提示,系统有6个命令,其余都是选项。命令如下

savefs 备份文件系统

restfs  还原文件系统

savedir 备份目录,就像tar工具一样

restdir 恢复目录

archinfo 显示压缩包的详细信息

probe  显示系统内磁盘分区各文件系统

fsarchiver archinfo ubuntu.fsa #查看当前压缩包的信息,如果是单文件系统压缩的包,无所谓,如果是多文件系统压缩形成的包,还原时需要注意相应的"Filesystem id in archive : 0”,后面会用到的,请注意

Linux 分区克隆神器 FSArchiver

系统备份完成后,将格式化/dev/sda1,重启系统,Ubuntu进入求援模式,无法启动

Linux 分区克隆神器 FSArchiver

由于/dev/sda1已经被格式化,所以系统已无法启动,需要从其它设备上启动,修复系统。重启虚拟机,网络启动进入无盘Linux系统,挂载刚才的备份数据ubuntu.fas进行系统恢复

mount /dev/sdb1 /media/sda1  #相应的目录没有请自行建立

开始恢复系统

fsarchiver -o ubuntu.fsa id=0,dest=/dev/sda1 #id就是刚才archinfo中所示的id号,dest为恢复目标

Linux 分区克隆神器 FSArchiver

稍等片刻,系统即恢复成功,重新引导本地硬盘,进入原系统。一切ok的

下面对比一下相关数据,文件系统数据量及备份包的大小,也就是我们比较关心的默认的压缩率的情况

Linux 分区克隆神器 FSArchiver

通过前后对比,文件系统压缩前数据量4.5个G ,压缩后887M,默认设置下,压缩率为16.6%,相信如果指定压缩方式,一定会有更好的表现, 接着试验一下

Linux 分区克隆神器 FSArchiver

这次包打,相比上次用时肯定会增加不少,不知道结果会怎样,让我们试目以待!!!

Linux 分区克隆神器 FSArchiver

经过一段时间,最后压缩包大小 降了120M,压缩率差不多没变,相比所花去的时间,个人建议还是默认的比较合理。好了,差不多,相关网站链接奉上:

 

FSArchiver的官方网站:

www.fsarchiver.org

git源码网站下载地址:

https://github.com/fdupoux/fsarchiver/releases

Linux 分区克隆神器 FSArchiver

可以根据需要,下载相应的版本,或二进制,或源码包自行编译。类似的工具partimage特性对比

Linux 分区克隆神器 FSArchiver

 

好了,先就写到这了,以后有心得再补上。谢谢

标签:dd,文件系统,dev,id,fsarchiver,Linux,镜像,备份
来源: https://www.cnblogs.com/marklove/p/16221877.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有