聊城市转运信息网

Solaris 远程磁带备份步骤

2026-03-31 17:03:02 浏览次数:1
详细信息

Solaris 系统的远程磁带备份通常涉及两个核心场景:将本地数据备份到远程磁带机,或者将远程主机的数据备份到本地的磁带机。这里我为你梳理一个清晰、完整的步骤指南。

核心概念与准备

磁带设备名:在 Solaris 10 及以前,通常为 /dev/rmt/[0-9][lmn] (如 /dev/rmt/0n)。n 表示不回卷,c 表示压缩。 关键命令

场景一:将本地数据备份到远程磁带机(磁带机在远程主机上)

这是最常见的情况。你需要有访问远程主机的权限。

方法一:使用 rsh(传统,不安全,仅适用于可信内网环境)

步骤:

配置远程访问:在远程主机(假设主机名 tapeserver)上,将本地主机(backupclient)的 root 用户加入 /etc/hosts.equiv 或 root 的 ~/.rhosts 文件。
# 在 tapeserver 的 /etc/hosts.equiv 中添加
backupclient
# 或在 root 的 ~/.rhosts 中添加
backupclient root
执行备份命令 方法二:使用 ssh(推荐,安全)

步骤:

设置 SSH 密钥认证:在本地主机为 root 生成 SSH 密钥对,并将公钥添加到远程主机 tapeserver 的 root 用户 ~/.ssh/authorized_keys 文件中。
# 在 backupclient 上
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@tapeserver
执行备份命令

场景二:将远程主机的数据备份到本地磁带机(磁带机在本地)

方法:通过 SSH 拉取数据并写入本地磁带

步骤:

同样配置 SSH 密钥认证,使本地 root 能无密码登录远程数据服务器(dataserver)。 执行备份命令

场景三:使用 ddnc(netcat)进行高速网络备份(适用于受控环境)

当 SSH 加密开销影响速度时,可在受信任网络中使用 nc

步骤(示例,将本地数据备份到远程磁带机):

在远程主机(接收端)启动监听
# 在 tapeserver 上
nc -l 12345 | dd of=/dev/rmt/0n bs=1024k
在本地主机(发送端)发送数据流
# 在 backupclient 上
ufsdump 0uf - /home | nc tapeserver 12345

注意nc 命令无加密,需按顺序执行,且传输完成后自动退出。

高级操作与最佳实践

磁带操作命令

备份脚本示例(使用 SSH)

#!/bin/bash
# backup_remote_tape.sh
REMOTE_HOST="tapeserver"
TAPE_DEV="/dev/rmt/0n"
BACKUP_PATH="/home"
DUMP_LEVEL="0"

echo "Starting remote tape backup of $BACKUP_PATH at $(date)"
ufsdump ${DUMP_LEVEL}uf - $BACKUP_PATH | \
    ssh root@$REMOTE_HOST "dd of=$TAPE_DEV bs=1024k 2>/dev/null"

if [ ${PIPESTATUS[0]} -eq 0 ] && [ ${PIPESTATUS[1]} -eq 0 ]; then
    echo "Backup completed successfully at $(date)"
    # 可选:回卷远程磁带
    ssh root@$REMOTE_HOST "mt -f $TAPE_DEV rewind"
else
    echo "Backup FAILED! Check commands and connections." >&2
    exit 1
fi

恢复数据示例

注意事项

权限:几乎所有操作都需要 root 权限,尤其是访问原始磁带设备和执行 ufsdump网络稳定性:网络中断可能导致备份失败或磁带损坏。对于大型备份,考虑使用 mbuffer 等工具缓冲数据。 磁带管理:清晰标记磁带(物理标签和电子标签),记录备份内容、日期和级别。 验证备份:定期进行恢复测试,确保备份有效。 Solaris 版本差异:Solaris 11 开始默认使用 ZFS,备份工具应改为 zfs sendzfs receive,但上述方法对 UFS 或兼容环境依然有效。

总结流程图:

选择场景:
   ├─ 磁带机在远程 → 数据流:`本地 | ssh 远程 "dd of=磁带机"`
   └─ 磁带机在本地 → 数据流:`ssh 远程 "命令" | dd of=本地磁带机`

选择工具:
   ├─ 安全优先:`ssh`
   ├─ 简单文件:`tar`
   └─ UFS全量/增量:`ufsdump`

根据你的具体环境(Solaris 版本、网络配置、安全要求)选择最适合的组合。对于生产环境,强烈建议使用 ssh 并配合自动化脚本和日志记录

相关推荐