我希望为同一建筑物中的三台 Windows XP 机器设置一个自动备份系统到 WAN 上的 Linux 服务器。我每隔几个月访问每台机器并制作磁盘映像以进行裸机恢复。我需要一种方法来自动备份用户文档(包括 Outlook 的邮箱文件)。这是一个小型日托/学前班,因此需要是一个低预算的项目。
每天不会有合格的系统管理员在现场处理问题。备份需要在没有用户干预的情况下运行且不会失败。
文件恢复需要远程完成(即,他们打电话给我;我将恢复的文件推回他们的系统),或者足够简单以供非技术人员操作。
在我看来,候选系统是Amanda、Bacula和BackupPC。阅读文档我看到 BackupPC 可能无法运行,因为它不执行 Volume Snapshot Services (VSS)。您对这些系统有何实际经验?我应该考虑其他一些系统吗?
backuppc 服务器能够以 root 身份登录远程机器并备份它们,但是如果我以 backuppc 用户身份登录并尝试使用相同的密钥 ssh 进入这些机器,则该密钥将被拒绝,并显示以下调试输出:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /var/lib/BackupPC/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXXXXX.com [XX.XXX.XX.XX] port 222.
debug1: Connection established.
debug1: identity file /var/lib/BackupPC/.ssh/identity type -1
debug1: identity file /var/lib/BackupPC/.ssh/identity-cert type -1
debug3: Not a RSA1 key file /var/lib/BackupPC/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace …
Run Code Online (Sandbox Code Playgroud) 当您在backuppc中运行完整备份并使用rsync作为传输方法时,它是否真的传输完整备份源?或者它只传输更改?文档似乎暗示它会传输完整的内容,并且只有增量会传输更改。
如果是这种情况,我是否可以仅使用增量备份,而从不进行完整备份?备份的存储方式(使用硬链接使每个增量看起来已满),我认为这将是最好的方法。增量只会传输更改,但每个备份都将显示为已满。
谢谢。
我在服务器上设置 BackupPC,它使用 smbclient 来备份 Windows 7 工作站。
smbclient 作为 TESTDOMAIN\backupoperator 正确登录到 \\TESTHOST\C$(也是域管理员和 TESTHOST 上的“备份操作员”),但在用户主目录中的目录上返回 NT_STATUS_ACCESS_DENIED,例如“我的文档”和“桌面” " 等,尽管能够使用使用相同凭据登录的实际 Windows 客户端列出、读取/打开所述目录及其内容。其他一切似乎都可以访问。
BackupPC 日志的摘录:
NT_STATUS_ACCESS_DENIED listing \Users\testuser\Local Settings\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\My Documents\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\NetHood\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\PrintHood\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\Recent\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\SendTo\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\Start Menu\*
NT_STATUS_ACCESS_DENIED listing \Users\testuser\Templates\*
Run Code Online (Sandbox Code Playgroud)
当我直接从 shell 使用 smbclient 并自己访问它时,会发生同样的问题。为什么会这样?我怎样才能解决这个问题?这是 smbclient 问题还是 Windows 工作站上的配置问题?
我刚刚在 Debian 机器中安装了 BackupPC,以将其用作备份服务器。如您所知,该软件使用 rsync 等。使用 rsync 选项时,它失败。
服务器:Debian Jessie。BackupPC 3.3.1 从源代码构建,由用户“backup-user”执行。使用默认选项从源代码构建的 Rsync 3.1.2。
客户:Debian Jessie。使用默认选项从源代码构建的 Rsync 3.1.2。
失败后,可以在 BackupPC 的日志中找到使用的 rsync 命令。在以 BackupPC 用户身份登录的 shell 中尝试该命令时,我遇到了“协议版本不匹配——你的 shell 是否干净?”的问题。错误。命令是:
/usr/bin/ssh -q -x -l backup-user 192.168.10.20 /usr/local/bin/rsync
--server --sender --numeric-ids --perms --owner --group -D --links
--hard-links --times --block-size=2048 --recursive --ignore-times .
/home/backup-user/test
Run Code Online (Sandbox Code Playgroud)
向发送到客户端的 rsync 命令添加一些详细信息,它说(注意远程协议版本):
FILE_STRUCT_LEN=24, EXTRA_LEN=4
(Server) Protocol versions: remote=168430090, negotiated=31
protocol version mismatch -- is your shell clean?
(see the rsync man page for an explanation)
[sender] …
Run Code Online (Sandbox Code Playgroud) 我正在 CentOS 5.5 服务器上试验 BackupPC。我几乎用默认值设置了所有东西。
我尝试为主机的 /www 目录设置基本备份。备份失败并出现以下错误:
full backup started for directory /www
Running: /usr/bin/ssh -q -x -l root target /usr/bin/rsync --server --sender --numeric-ids --perms --owner --group -D --links --hard-links --times --block-size=2048 --recursive --ignore-times . /www/
Xfer PIDs are now 30395
Read EOF: Connection reset by peer
Tried again: got 0 bytes
Done: 0 files, 0 bytes
Got fatal error during xfer (Unable to read 4 bytes)
Backup aborted (Unable to read 4 bytes)
Not saving this as a …
Run Code Online (Sandbox Code Playgroud) 我在 Debian Squeeze 服务器上运行 BackupPc。它成功地备份了我 LAN 上的其他 Debian Squeeze 机器。我已经将它设置为在 Wan 上备份另一台 Debian Squeeze 机器,但备份总是失败并显示错误消息:
Aborting backup up after signal PIPE
Got fatal error during xfer (aborted by signal=PIPE)
Run Code Online (Sandbox Code Playgroud)
备份是通过ssh执行的,这个备份客户端的配置是:
$Conf{RsyncArgs} = [
# Do not edit these!
'--numeric-ids',
'--perms',
'--owner',
'--group',
'--devices',
'--links',
'--times',
'--block-size=2048',
'--recursive',
#
# If you are using a patched client rsync that supports the
# --checksum-seed option (see http://backuppc.sourceforge.net),
# then uncomment this to enabled rsync checksum cachcing
#
'--checksum-seed=32761',
#
# Add additional …
Run Code Online (Sandbox Code Playgroud) 我正在运行带有硬件 RAID 5 的 BackupPC 服务器,用于备份的主存储。由于这台机器是在很小的预算下创建的,因此控制器是用于 PCI 端口的 3Ware 9500S-4LP,驱动器是 200 GB SATA 类型的慢速驱动器。
然而,即使使用这种硬件,我看到的性能也比预期的要差得多。客户端和备份服务器使用 rsync 作为千兆网络上的传输,这甚至从未接近饱和。备份大约 5 GB 的正常 Linux 安装需要三个多小时。
所以我使用atop
进程监视器来监视服务器。它表明处理器和内存的使用都不重要,但对 RAID 的读取访问是瓶颈。
当我构建服务器时,我选择了 RAID 5,因为根据这个 RAID 特性的表格概述,它似乎是 4 端口控制器上读取性能和空间效率之间的最佳折衷。
顺便说一下,虽然这是一个备份服务器,但使用 rsync 意味着这里的读取比写入多得多——目前大约是 1000 倍。我想在 BackupPC 的旧备份层次结构中移动和链接旧文件对此也有很大贡献。
那么,您将如何优化这台机器的性能?我有以下可调参数: