13.3 Linux数据备份介质的选择

简介: 备份数据要有存放数据的安全容器。对存储介质的基本要求一般从存取速度、存储安全和存储容量 3 个方面进行考虑:

备份数据要有存放数据的安全容器。对存储介质的基本要求一般从存取速度、存储安全和存储容量 3 个方面进行考虑:

  • 存取速度是对存储介质的一个基本要求。数据的备份是一个读写操作极度频繁的过程,存取速度非常高的备份介质,可以大大缩短备份数据的时间,同时也可以减少恢复数据的时间。
  • 存储安全性是对存储介质的一个硬性要求,不安全的存储设备还不如不用。现在很多存储设备都对安全性做了很多优化,例如做 RAID磁盘阵列、Cache 读写等。专业的存储厂商有 EMC、IBM 和 SUN 等,都有自己的存储设备。
  • 存储容量也是选择存储介质必须要考虑的一个方面。过大的存储空间会造成存储设备的浪费,过小的存储空间可能导致数据存储失败,因此,必须根据备份数据的大小,选择相应大小的存储介质。

除此之外,当然还要兼顾到成本。

对于一些小型设备(如台式计算机、个人站点)的备份来说,刻录光盘或者移动硬盘时比较合适的选择,这些存储介质价格低廉,且能提供足够大的备份空间,在稳定性方面,这两种介质通常能有 5 年左右的寿命。

大型系统的备份,需要使用磁带机。磁带具有容量大、保存时间长的特点,适合用于数据量大、更新频率高的环境。市面上有大量磁带产品,从低端到高端,只要和存储沾点边的硬件厂商,通常都不会放弃这个大市场。这里重点介绍一下磁带机的使用方法。

Linux 下使用磁带机的方式有多种,tar 命令是最经常使用的方法。tar 主要用于单机环境下,将数据直接写入磁带机。磁带机在 Linux 下对应的设备名称为 /dev/stX,如果是第一个磁带机,即为 /dev/st0。基本操作如下:

  1. 倒带,将磁带卷至起始位置,执行命令如下:
[root@localhost ~]# mt -f /dev/st0 rewind
  1. 擦掉磁带上的内容。
[root@localhost ~]# mt -f /dev/st0 erase

新购买的磁带,打开后即可使用,无需进行擦写操作,同时当数据写满磁带后,磁带可以覆盖原有数据并继续写入,因此无需进行任何擦写动作。由于擦写对磁带有一定的损害,因此建议不要经常性地执行擦写操作。

  1. 出带,即将磁带卷至初始位置然后从磁带机内弹出,执行命令如下:
[root@localhost ~]# mt -f /dev/st0 offline
  1. 通过 tar 列出磁带上的目录或者文件,执行命令如下:
[root@localhost ~]# tar tvf /dev/st0 <--需要查看的文件或者目录

如果后面不跟任何文件或目录,则是查看磁带上的所有数据。当磁带上还没有任何数据时,执行此操作会报错,不过不影响磁带的使用。

  1. 通过 tar 备份数据到磁带,执行如下命令:
[root@localhost ~]# tar cvf /dev/st0 <--要写入的文件或目录名

备份数据到磁带有两种方式,即打包压缩后写入磁带和不打包直接写入磁带。这里我们推荐将数据不打包直接写入磁带的方法,这样可以提高数据存储的安全性。

为什么建议不打包备份呢?因为磁带是顺序写入数据的,即线性存储,如果将所有数据打包成一个独立的文件,那么当磁带的任何一个地方发生故障,都可能导致这个压缩文件解压失败而不可用;而如果对备份数据进行不打包存储的话,在磁带上就有很多文件,即使磁带某个地方发生故障,其余的文件仍然可用,这样就大大提高了数据备份的安全性。

例如,将 /data/ixdbal.tar.gz 这个压缩文件写入到磁带,并覆盖原有的内容,可以执行如下操作:

[root@localhost ~]# tar cvf /dev/st0 /data/ixdba1.tar.gz

通过“tar cvf”将数据写入磁带时,每次都会覆盖磁带中原有的数据,也就是每次都是从磁带的开始部分写入数据。磁带机的传输速度比较慢,对于不是很大的备份文件,在很短时间内就能备份完成,非常适合做系统级的文件备份。

  1. 通过 tar 继续写入数据到磁带,执行命令如下:
[root@localhost ~]# tar rvf /dev/st0 <--要写入的文件名

由于磁带是线性存储,数据是依次写入的,因此为了在写入新的数据时,不搜盖原有已经存在的数据,可以使用“tar rvf”参数组合将数据依次写入磁带。

例如,依次将 /data/ixdba2.tar.gz 和 /data/ixdba3.tar.gz 备份到磁带机上,方法如下:

[root@localhost /data]# tar rvf /dev/st0 /data/ixdba2.tar.gz
[root@localhost /data]# tar rvf /dev/st0 /data/ixdba3.tar.gz
  1. 通过 tar 将数据从磁带恢复到磁盘,执行命令如下:
[root@localhost ~]# tar xvf /dev/st0 <--要恢复的文件或目录名

例如,首先查阅磁带上存在的所有数据,方法如下:

[root@localhost ~]# tar tvf /dev/st0
-rw-r--r-- root/root 320 2009-2-20 10:19:02 ixdba1.tar.gz
-rw-r--r-- root/root 320 2009-2-20 10:25:10 ixdba2.tar.gz
-rw-r--r-- root/root 320 2009-2-20 10:45:18 ixdba3.tar.gz

现在如果要恢复磁带上的 ixdba2.tar.gz 文件到磁盘,可以执行如下命令:

[root@localhost ~]# tar xvf /dev/st0 ixdba2.tar.gz
ixdba2.tar.gz

这样就将数据从磁带恢复到了当前的路径下。

目录
相关文章
|
19天前
|
存储 缓存 Linux
Linux IO的奥秘:深入探索数据流动的魔法
Linux I/O(输入/输出)系统是其核心功能之一,负责处理数据在系统内部及与外界之间的流动。为了优化这一流程,Linux进行了一系列努力和抽象化,以提高效率、灵活性和易用性。🚀
Linux IO的奥秘:深入探索数据流动的魔法
|
1月前
|
存储 Shell Linux
【Shell 命令集合 磁盘管理 】Linux读取、转换并输出数据 dd命令使用教程
【Shell 命令集合 磁盘管理 】Linux读取、转换并输出数据 dd命令使用教程
33 0
|
1月前
|
存储 弹性计算 人工智能
|
1月前
|
算法 Shell Linux
【Shell 命令集合 备份压缩 】⭐Linux 压缩 恢复bzip2损坏数据 bzip2recover命令 使用指南
【Shell 命令集合 备份压缩 】⭐Linux 压缩 恢复bzip2损坏数据 bzip2recover命令 使用指南
33 0
|
3月前
|
Shell Linux Perl
linux逐行逐列(分号分隔)读取数据shell
linux逐行逐列(分号分隔)读取数据shell
22 3
|
14天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
29 4
Linux系统监控利器:探索常用命令及数据保存技巧
|
19天前
|
存储 缓存 安全
Linux IO:打开数据之窗的魔法
Linux I/O(输入/输出)是操作系统中一个至关重要的组成部分,它涉及到数据在内存🧠、存储设备💾、网络接口🌐等之间的传输过程。在Linux中,I/O操作不仅仅是文件读写那么简单,它包括了一系列复杂的机制和策略,旨在提高数据处理的效率,保证系统的稳定性和性能。📊
Linux IO:打开数据之窗的魔法
|
1月前
|
存储 缓存 Shell
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
【Shell 命令集合 磁盘维护 】⭐⭐⭐Linux 将文件系统的缓冲区数据立即写入磁盘 sync 命令使用教程
52 1
|
5月前
|
存储 监控 Cloud Native
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程(上)
剖析Linux网络包接收过程:掌握数据如何被捕获和分发的全过程
|
6月前
|
Linux
迁移Linux服务器用户数据
迁移Linux服务器用户数据
55 0