我们想要备份我们的 Debian 服务器上的所有内容,该服务器在世界的另一端远程运行(由 Linode 托管),而无需关闭它。
这个系统运行 shell、电子邮件、XMPP/prosody 和 web,有几个简单的 nginx 设置。
为了安全起见,我们希望备份与这些内容相关的文件。例如,用户存储在其主目录中的文件。
我们不需要在每个 /etc 文件中完全复制现有的设置;相反,我们甚至首先进行备份的原因是我们可以将其全部移至新设置(较新版本的 Debian 仍在 Linode 上)。
我看到 Linode 提供备份服务。但从长远来看,我们也需要我们自己的备份,以防万一它们倒闭或发生其他奇怪的事情。
这个问题存在的原因是,当我过去尝试进行备份时,我一直在犯以下两个错误:
/它下面的所有内容”然后陷入一些奇怪的无限循环,因为我复制的驱动器安装在 /media/backup 下并且它正在递归复制自身 [obv该特定问题不适用于此处,因为我们将通过 rsync 或类似方式进行备份] 或者它在尝试复制 /proc 或 /var 或其他任何“活动”内容时卡住了,例如试图跟上不断变化的日志,或者/var),让我们/etc在 /var/ 下获取一份和所有旧邮件的副本vmail”,然后我总是搞砸了文件权限或时间戳(确保这次我不会将 unix 文件备份到 FAT 驱动器)或忘记某些东西(“哦,拍摄,我在 /usr/ 中有一些自定义脚本/我从未在其他任何地方存储过的本地/垃圾箱,我忘了拿那些,我猜它们现在已经不见了”)。因此,直接复制整个驱动器会导致陷阱,而选择性地复制目录会导致陷阱。我想知道如何正确地做到这一点。
服务器故障问题一个完整的备份系统需要什么?涵盖哲学和良好实践,但我正在寻找以下更具体的细节:
rsync -HXaz我认为对我们来说是一个不错的选择?该-zOBV没有真正涉及到这是“我该怎么维护”的问题我看到的很多备份建议,例如使用dd,似乎都假定驱动器已卸载且未在使用中。但我我不应该排除“活”的目录,如/ proc和一些在/ var子目录(但是,一些在/ var我知道我们肯定的东西做必要保持)和/安装?在这种情况下,我还需要考虑什么?然后我想我可以使用 rsync 并使用一堆--exclude标志来捕捉它。
或者有更好的想法,尤其是 FOSS 友好的想法?
我正在使用s3cmd上传到 S3:
# s3cmd put 1gb.bin s3://my-bucket/1gb.bin
1gb.bin -> s3://my-bucket/1gb.bin [1 of 1]
366706688 of 1073741824 34% in 371s 963.22 kB/s
Run Code Online (Sandbox Code Playgroud)
我从 Linode 上传,根据支持,它的输出带宽上限为 50 Mb/s(大约 6 MB/s)。
为什么我上传到 S3 的速度如此之慢,我该如何改进它们?
更新:
通过 SCP 将相同的文件上传到 m1.medium EC2 实例(从我的 Linode 到实例的 EBS 驱动器的 SCP)根据iftop(密码完成的任何压缩不是一个因素)提供大约 44 Mb/s 。
Traceroute:
这是到要上传到的服务器的跟踪路由(根据tcpdump)。
# traceroute s3-1-w.amazonaws.com。 跟踪路由到 s3-1-w.amazonaws.com。(72.21.194.32),最多 30 跳,60 字节数据包 1 207.99.1.13 (207.99.1.13) 0.635 毫秒 0.743 毫秒 0.723 毫秒 2 207.99.53.41 (207.99.53.41) 0.683 毫秒 0.865 毫秒 0.915 毫秒 …
尽管我的系统上有足够多的可用 RAM,但 OOM 杀手似乎正在杀死一些东西:
27 分钟和 408 个进程后,系统再次开始响应。大约一个小时后我重新启动它,此后不久内存利用率恢复正常(对于这台机器)。
经过检查,我的盒子上运行了一些有趣的进程:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
[...snip...]
root 1399 60702042 0.2 482288 1868 ? Sl Feb21 21114574:24 /sbin/rsyslogd -i /var/run/syslogd.pid -c 4
[...snip...]
mysql 2022 60730428 5.1 1606028 38760 ? Sl Feb21 21096396:49 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
[...snip...]
Run Code Online (Sandbox Code Playgroud)
这个特定的服务器已经运行了大约。8 小时,这是仅有的两个具有这种……奇数值的过程。我怀疑是“其他事情”正在发生,可能与这些荒谬的价值观有关。具体来说,我认为系统认为内存不足,而实际上并非如此。毕竟,它认为 rsyslogd 始终使用 55383984% 的 CPU,而无论如何在该系统上理论最大值为 400%。
这是具有 768MB RAM 的完全最新的 CentOS 6 安装 (6.2)。任何有关如何弄清楚为什么会发生这种情况的建议将不胜感激!
编辑:附加虚拟机。sysctl 可调参数..我一直在玩swappiness(它是100),我还在运行一个非常糟糕的脚本,它转储我的缓冲区和缓存(vm.drop_caches 是3)+同步磁盘每个15分钟。这就是为什么在重新启动后,缓存数据增长到正常大小,但随后又迅速下降的原因。我认识到拥有缓存是一件非常好的事情,但是直到我弄清楚... …
我最近使用 Postfix、Dovecot 和 MySQL 在 linode 上设置了一个邮件服务器。我可以从邮件客户端 (Outlook) 发送和接收邮件,但是任何时候我尝试从我设计的 wordpress 站点向用户发送邮件时,它都不起作用。这是错误日志的输出:
Oct 27 18:36:52 hostname postfix/master[29738]: reload -- version 2.11.0, configuration /etc/postfix
Oct 27 18:37:00 hostname postfix/master[29738]: terminating on signal 15
Oct 27 18:37:00 hostname postfix/master[8304]: daemon started -- version 2.11.0, configuration /etc/postfix
Oct 27 18:37:12 hostname postfix/smtpd[8309]: warning: hostname mydomain.com does not resolve to address 2a01:7e00::f03c:91ff:fecf:e7a6
Oct 27 18:37:12 hostname postfix/smtpd[8309]: connect from unknown[2a01:7e00::f03c:91ff:fecf:e7a6]
Oct 27 18:37:12 hostname postfix/smtpd[8309]: lost connection after UNKNOWN from unknown[2a01:7e00::f03c:91ff:fecf:e7a6]
Oct 27 18:37:12 hostname …Run Code Online (Sandbox Code Playgroud) 我已经飞跃到 Linode (360MB) 并希望获得一些关于选择哪个发行版的反馈。我将运行 LAMP(P 为 PHP)。
我主要对安全性、性能、稳定性和未来的补丁感到好奇。
我应该使用 64 位版本的操作系统还是有缺点?
选择...
Arch Linux 2009.02
Arch Linux 2009.02 64bit
CentOS 5.3
CentOS 5.3 64bit
Debian 5.0
Debian 5.0 64bit
Fedora 11
Gentoo 2008.0
Gentoo 2008.0 64bit
OpenSUSE 11.0
Slackware 12.2
Ubuntu 8.04 LTS
Ubuntu 8.04 LTS 64bit
Ubuntu 9.10
Ubuntu 9.10 64bit
Run Code Online (Sandbox Code Playgroud)
干杯
我已经使用Linode一年多了,而且,与我使用过的一些鲜为人知的 VPS 主机不同,Linode 从未要求我关闭我的 VPS。唯一的重启是我发起的。
它们如何连续运行数年而不需要重新启动且不停机?升级主机系统的某些部分时,停机时间不是不可避免的吗?他们是否只是执行尽可能少的更新?
这并不意味着是 Linode 特定的问题;我仅以它们为例,因为我有使用它们的经验。
我正在设置由 Linode 托管的 Ubuntu 服务器。
我正在逐步完成他们的安全指南,他们建议在禁用基于密码的 SSH 登录后安装 fail2ban。
如果无法使用 SSH 密钥进行字典攻击,我认为安装 fail2ban 没有意义。
我在这里错过了什么吗?
假设我有 3 个带有 Linode 的 VPS 节点来为单个网站上的流量提供服务。Linode 本身提供了一个节点平衡解决方案。
但是我使用 CloudFlare 并且在阅读他们关于他们架构的博客文章后想知道是否有必要使用 Linode 的节点平衡器,如果 CloudFlare 的 DNS 负载平衡可以为我做到这一点。
使用 Linode 的负载均衡器而不是使用 CloudFlare 的 DNS 负载均衡器有什么好处吗?
我有一个运行 360 度 linode 实例的 php/vbulletin/apache 服务器。
我想知道在另一个位置远程备份服务器的最佳方法是什么?
我猜我有两个选择,FTP 和 Amazon S3。
谁能提供一些示例主机和定价?你对他们的经历也许?
我不想在这上面花太多钱……我只是希望至少能够在丢失某些东西的情况下恢复数据库。
MySQL 数据库是 800mb – 我不明白备份所需的总空间量。如果我每周备份一周,它将是 800x7,但是当有人告诉我“增量备份”时,我会感到困惑?
脚本呢还是只是简单的 ol' rsync?
无论如何,任何建议将不胜感激。