美国服务器Linux系统磁盘分区备份的操作

美国服务器用户有时候可能会把数据放在一个分区上,所以有时可能需要对磁盘分区进行备份。今天美联科技小编就来介绍美国服务器Linux系统磁盘分区备份的操作方式。 1 、dcfldd 工具

美国服务器Linux系统磁盘分区备份的操作

来源:美国服务器 作者:美联科技小编Zoe 浏览量:108
2019-11-15
0
       美国服务器用户有时候可能会把数据放在一个分区上,所以有时可能需要对磁盘分区进行备份。今天美联科技小编就来介绍美国服务器Linux系统磁盘分区备份的操作方式。

       1、dcfldd 工具

       该工具是 coreutils 软件包中 dd 工具的增强版,如果美国服务器用户使用 8.24 或更新版本的 dd 工具,就不需要使用 dcfldd,只需要用 dd 替换 dcfldd 即可,所有其它参数仍然适用。

       在美国服务器Debian 系统上只需要在 Package Manager 中搜索 dcfldd,也可以打开一个终端然后输入下面的命令:

       sudo apt-get install dcfldd

       对于 Red Hat 系统,可以用下面的命令:

       1)cd /tmp 

       2)wget dl.fedoraproject.org/pub/epel/6/i386/dcfldd-1.3.4.1-4.el6.i686.rpm 

       3)sudo yum install dcfldd-1.3.4.1-4.el6.i686.rpm 

       4)dcfldd –version

       注意: 上面的命令安装的是 32 位版本。对于 64 位版本,使用下面的命令:

       1)cd /tmp 

       2)wget dl.fedoraproject.org/pub/epel/6/x86_64/dcfldd-1.3.4.1-4.el6.x86_64.rpm 

       3)sudo yum install dcfldd-1.3.4.1-4.el6.x86_64.rpm 

       4)dcfldd –version

       每组命令中的最后一个语句会列出 dcfldd 的版本并显示该命令文件已经被加载。

       2、备份分区

       备份美国服务器设备的时候可以备份整个设备,也可以只是其中的一个分区。如果设备有多个分区,可以分别备份每个分区。

       在进行备份之前,要先看一下美国服务器设备和分区的区别。假设有一个已经被格式化为一个大磁盘的 SD 卡。这个 SD 卡只有一个分区。如果空间被切分使得 SD 卡看起来是两个设备,那么它就有两个分区。

       要备份第一个 SD 卡需要备份设备 /dev/sdc,进行备份的命令如下所示:

       dcfldd if=/dev/sdc of=/tmp/SD-Card-Backup.img

       备份包括输入文件(if)以及被设置为 /tmp 目录下名为 SD-Card-Backup.img 的输出文件(of)。

       dd 和 dcfldd 默认都是每次读写文件中的一个块。通过上述命令,它可以一次默认读写 512 个字节。记住,该复制是一个精准的拷贝 - 逐位逐字节。完成备份后,还需要把数据恢复到设备中。

       3、恢复分区

       现在已经有了一个备份点,假设数据可能被损毁了或者由于某些原因需要进行恢复。

       命令和备份时相同,只是源和目标相反。对于上面的例子,命令会变为:

       dcfldd of=/dev/sdc if=/tmp/SD-Card-Backup.img

       这里,镜像文件被用作输入文件(if)而设备(sdc)被用作输出文件(of)。

       注意: 要记住输出设备会被重写,它上面的所有数据都会丢失。通常来说在恢复数据之前最好用 GParted 删除 SD 卡上的所有分区。

       假设我们想把镜像 BerryBoot.img 拷贝到两个 SD 卡。SD 卡分别是 /dev/sdc 和 /dev/sdd。下面的命令在显示进度时每次读写 1 MB 的块。命令如下:

       dcfldd if=BerryBoot.img bs=1M status=progress | tee >(dcfldd of=/dev/sdc) | dcfldd of=/dev/sdd

       在这个命令中,第一个 dcfldd 指定输入文件并把块大小设置为 1 MB。status 参数被设置为显示进度。然后输入通过管道 |传输给命令 tee。tee 用于将输入分发到多个地方。第一个输出是到命令 dcfldd of=/dev/sdc。命令被放到小括号内被作为一个命令执行。这时还需要最后一个管道 |,否则命令 tee 会把信息发送到 stdout (屏幕)。因此,最后的输出是被发送到命令 dcfldd of=/dev/sdd。如果有第三个 SD 卡,甚至更多,只需要添加另外的重定向和命令,类似 >(dcfldd of=/dev/sde。

      注意:记住最后一个命令必须在管道 | 后面。必须验证写的数据确保数据是正确的。

       4、验证数据

       一旦创建了一个镜像或者恢复了一个备份,可以验证这些写入的数据。要验证数据,会使用名为 diff 的另一个不同程序。使用 diff ,需要指定镜像文件的位置以及系统中拷贝自或写入的物理媒介,可以在创建备份或者恢复了一个镜像之后使用 diff 命令。

       该命令有两个参数,第一个是物理媒介,第二个是镜像文件名称。

       对于例子 dcfldd of=/dev/sdc if=/tmp/SD-Card-Backup.img,对应的 diff 命令是:

       diff /dev/sdc /tmp/SD-Card-Backup.img

       如果镜像和物理设备有任何的不同,会被告知,如果没有显示任何信息,那么数据就验证为完全相同。确保数据完全一致是验证备份和恢复完整性的关键。进行备份时需要注意的一个主要问题是镜像大小。

       5、分割镜像

       假设想要备份一个 16GB 的 SD 卡,镜像文件大小会大概相同。如果只能把它备份到最大文件大小限制是 4 GB 的FAT32 分区,必须做的是文件必须被切分为 4 GB 的分片。通过管道 | 将数据传输给 split 命令可以切分正在被写的镜像文件。

       创建备份的方法相同,但命令会包括管道和切分命令。示例备份命令为 dcfldd if=/dev/sdc of=/tmp/SD-Card-Backup.img ,其切分文件的新命令如下:

       dcfldd if=/dev/sdc | split -b 4000MB - /tmp/SD-Card-Backup.img

       注意: 大小后缀和对 dd 及 dcfldd 命令的意义相同。 split 命令中的破折号用于将通过管道从 dcfldd 命令传输过来的数据填充到输入文件。

       文件会被保存为 SD-Card-Backup.imgaa 和 SD-Card-Backup.imgab,如此类推。如果担心文件大小太接近 4 GB 的限制,可以试着用 3500MB。

       将文件恢复到设备也很简单。使用 cat 命令将它们连接起来然后像下面这样用 dcfldd 写输出:

       cat /tmp/SD-Card-Backup.img* | dcfldd of=/dev/sdc

       可以在命令中 dcfldd 部分包含任何需要的参数。

       以上就是美国服务器Linux系统磁盘分区备份的操作方式,希望能帮助到有需要的美国服务器用户。

       关注美联科技,了解更多IDC资讯!
部分文章来源与网络,若有侵权请联系站长删除!