在本教程中你将会了解到:
  · 磁带设备名
  · 管理磁带驱动器的基本命令
  · 基本的备份和恢复命令
  为什么备份?
  一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你有了从磁盘故障中恢复的能力。备份还可以帮助你抵御:
  · 意外的文件删除
  · 文件或文件系统损坏
  · 服务器完全毁坏,包括由于火灾或其他问题导致的同盘备份毁坏
  · 硬盘或 SSD 崩溃
  · 病毒或勒索软件破坏或删除文件
  你可以使用磁带归档备份整个服务器并将其离线存储。
  理解磁带文件标记和块大小
  每个磁带设备能存储多个备份文件。磁带备份文件通过 cpio,tar,dd 等命令创建。同时,磁带设备可以由多种程序打开、写入数据、及关闭。你可以存储若干备份(磁带文件)到一个物理磁带上。在每个磁带文件之间有个“磁带文件标记”。这用来指示一个物理磁带上磁带文件的结尾以及另一个文件的开始。你需要使用 mt 命令来定位磁带(快进,倒带和标记)。

  磁带上的数据是如何存储的

  所有的数据使用 tar 以连续磁带存储格式连续地存储。第一个磁带归档会从磁带的物理开始端开始存储(tar #0)。接下来的是 tar #1,以此类推。
  Unix 上的磁带设备名
  /dev/rmt/0 或 /dev/rmt/1 或 /dev/rmt/[0-127] :Unix 上的常规磁带设备名。磁带自动倒回。
  /dev/rmt/0n :以无倒回为特征,换言之,磁带使用之后,停留在当前状态等待下个命令。
  /dev/rmt/0b :使用磁带接口,也是 BSD 的行为。各种类型的操作系统比如 AIX,Windows,Linux,FreeBSD 等的行为更有可读性。
  /dev/rmt/0l :设置密度为低。
  /dev/rmt/0m :设置密度为中。
  /dev/rmt/0u :设置密度为高。
  /dev/rmt/0c :设置密度为压缩。
  /dev/st[0-9] :Linux 特定 SCSI 磁带设备名。
  /dev/sa[0-9] :FreeBSD 特定 SCSI 磁带设备名。
  /dev/esa0 :FreeBSD 特定 SCSI 磁带设备名,在关闭时弹出(如果可以的话)。
  磁带设备名示例
  /dev/rmt/1cn 指明正在使用 unity 1,压缩密度,无倒回。
  /dev/rmt/0hb 指明正在使用 unity 0,高密度,BSD 行为。
  Linux 上的自动倒回 SCSI 磁带设备名:/dev/st0
  Linux 上的无倒回 SCSI 磁带设备名:/dev/nst0
  FreeBSD 上的自动倒回 SCSI 磁带设备名:/dev/sa0
  FreeBSD 上的无倒回 SCSI 磁带设备名:/dev/nsa0
  如何列出已安装的 scsi 磁带设备?
  输入下列命令:
  ### Linux(更多信息参阅 man) ###
  lsscsi
  lsscsi -g
  ### IBM AIX ###
  lsdev -Cc tape
  lsdev -Cc adsm
  lscfg -vl rmt*
  ### Solaris Unix ###
  cfgadm –a
  cfgadm -al
  luxadm probe
  iostat -En
  ### HP-UX Unix ###
  ioscan Cf
  ioscan -funC tape
  ioscan -fnC tape
  ioscan -kfC tape
  mt 命令示例
  在 Linux 和类 Unix 系统上,mt 命令用来控制磁带驱动器的操作,比如查看状态或查找磁带上的文件或写入磁带控制标记。下列大多数命令需要作为 root 用户执行。语法如下:
  mt -f /tape/device/name operation
  设置环境
  你可以设置 TAPE shell 变量。这是磁带驱动器的路径名。在 FreeBSD 上默认的(如果变量没有设置,而不是 null)是 /dev/nsa0。可以通过 mt 命令的 -f 参数传递变量覆盖它,像下面解释的那样。
  ### 添加到你的 shell 配置文件 ###
  TAPE=/dev/st1 #Linux
  TAPE=/dev/rmt/2 #Unix
  TAPE=/dev/nsa3 #FreeBSD
  export TAPE
  1:显示磁带/驱动器状态
  mt status  ### Use default
  mt -f /dev/rmt/0  status ### Unix
  mt -f /dev/st0 status ### Linux
  mt -f /dev/nsa0 status ### FreeBSD
  mt -f /dev/rmt/1 status ### Unix unity 1 也是 tape device no. 1
  你可以像下面一样使用 shell 循环语句遍历一个系统并定位其所有的磁带驱动器:
  for d in 0 1 2 3 4 5
  do
  mt -f "/dev/rmt/${d}" status
  done
  2:倒带
  mt rew
  mt rewind
  mt -f /dev/mt/0 rewind
  mt -f /dev/st0 rewind
  3:弹出磁带
  mt off
  mt offline
  mt eject
  mt -f /dev/mt/0 off
  mt -f /dev/st0 eject
  4:擦除磁带(倒带,在支持的情况下卸载磁带)
  mt erase
  mt -f /dev/st0 erase  #Linux
  mt -f /dev/rmt/0 erase #Unix
  5:张紧磁带盒
  如果磁带在读取时发生错误,你重新张紧磁带,清洁磁带驱动器,像下面这样再试一次:
  mt retension
  mt -f /dev/rmt/1 retension #Unix
  mt -f /dev/st0 retension #Linux