Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
nonozone
V2EX  ›  Linux

请教个网站服务器的备份方案,单台服务器包含大量网站的。

  •  
  •   nonozone ·
    nonozone · Aug 30, 2012 · 7046 views
    This topic created in 5181 days ago, the information mentioned may be changed or developed.
    目前有一台服务器,里面几十个网站,文件可能有十几G,数据库备份好说,关键是网站文件备份,本来打算使用Dropbox的自动备份脚本的,这个也没问题,问题在于:使用cp命令把这么多网站文件复制到另外一个备份目录的时候,服务器会卡住,有时候连网站都访问不了。 但是服务器的CPU和内存占用正常,比较低的水平。唯一不同的貌似IO上升的很快,达到50%上下。

    请教这个问题要如何解决呢?

    顺便贴个服务器的硬件配置


    System hostname 909A6.securedservers.com (127.0.1.1)
    Operating system Debian Linux 6.0
    Webmin version 1.590
    Time on system Thu Aug 30 01:18:17 2012
    Kernel and CPU Linux 2.6.32-5-amd64 on x86_64
    Processor information Intel(R) Xeon(R) CPU E3-1270 V2 @ 3.50GHz, 8 cores
    System uptime 0 hours, 46 minutes
    Running processes 193
    CPU load averages 4.48 (1 min) 5.23 (5 mins) 4.59 (15 mins)
    CPU usage 0% user, 0% kernel, 42% IO, 57% idle
    Real memory 15.68 GB total, 2.12 GB used

    Virtual memory 18.87 GB total, 0 bytes used

    Local disk space 439.88 GB total, 71.31 GB used

    Package updates All installed packages are up to date
    25 replies  •  1970-01-01 08:00:00 +08:00
    saturn
    saturn
    Aug 30, 2012
    1
    试过 rsync 没?
    nonozone
    nonozone
    OP
    Aug 30, 2012
    2
    @saturn 没有欸...
    aoyoo
    aoyoo
    Aug 30, 2012
    3
    我只知道,有大量磁盘IO时,系统的确会卡的动不了。。。
    halfbloodrock
    halfbloodrock
    Aug 30, 2012
    4
    你是每次都做全备的?这种情况增量备份不应该啊。
    nonozone
    nonozone
    OP
    Aug 30, 2012
    5
    @saturn 不过看了下,感觉确实比cp要好一些,研究研究。
    nonozone
    nonozone
    OP
    Aug 30, 2012
    6
    @halfbloodrock 确实要全备份...并且cp之后,还要tar... 这个问题好头痛啊... 如果增量备份的到也没关系,因为只要定期打包应该就没多大问题吧...
    nonozone
    nonozone
    OP
    Aug 30, 2012
    7
    @aoyoo cp命令之后,就动不了了,你也不知道到底是复制完了还是只复制了一半...再开一个终端倒是没问题。
    eric_q
    eric_q
    Aug 30, 2012
    8
    rsync, 或者 lftp mirror
    kgen
    kgen
    Aug 30, 2012
    9
    用crontab放到凌晨执行,你观察一下哪个时间段服务器的访问量最低。
    feiandxs
    feiandxs
    Aug 30, 2012
    10
    普通磁盘遇到cp自然这样。
    rsync是王道
    rsync一是实现增量备份,减少传输文件的磁盘IO
    然后找个不那么卡的时段自动tar就可以。效果和全备又没差。。
    dhysum
    dhysum
    Aug 30, 2012
    11
    为什么没人想到用GIT呢?

    在源那里做一个repository, 定期的commit;
    在目的位置定期的pull, 简单好用。GIT用的资源不多。
    Choutreeman
    Choutreeman
    Aug 30, 2012
    12
    ls这个好啊。。
    kernel1983
    kernel1983
    Aug 30, 2012
    13
    AWS S3
    s3cmd sync . s3://your_bucket/path/
    dianso
    dianso
    Aug 30, 2012
    14
    如果有2台服务器了,NC开TCP端口同步吧
    404
    404
    Aug 31, 2012
    15
    @kernel1983 qrsync,比 aws/s3 好用多了,谁用谁知道!https://github.com/qiniu/devtools/tree/master/qrsync
    nonozone
    nonozone
    OP
    Aug 31, 2012
    16
    @404 国内的服务不敢使用...尤其是涉及到大量数据的,安全不安全是一回事,网站能做多久又是一回事。
    nonozone
    nonozone
    OP
    Aug 31, 2012
    17
    @dhysum 这个可以跟dropbox配合么...
    HowardMei
    HowardMei
    Aug 31, 2012
    18
    @dhysum 根据经验,GIT文件夹体积膨胀很快,打包速度很慢,并不适用于备份。

    增量备份,基于git packfile的 https://github.com/apenwarr/bup 更适合,python写的.
    采用 rolling checksum algorithm (similar to rsync) 分割大文件.
    直接写packfile,避免git的repacking过程,速度更快.
    支持ssh远程拷贝,增量备份,par2冗余备份,fuse访问等.
    就是命令行很丑,文档太少。。。

    Bup里面也提到: Unfortunately, git itself doesn't actually behave very well for bup's use case (huge numbers of files, files with huge sizes, retaining file permissions/ownership are important), so we mostly don't use git's code except for a few helper programs. For example, bup has its own git packfile writer written in python.
    dhysum
    dhysum
    Aug 31, 2012
    19
    @HowardMei 这个体积不应该会很大。

    我们有个项目有十年的历史, .git目录也不过200M+, 这里的commit一两天就会有, 频繁的每天都几个。 这个应该赶不上文件增加的速度。

    关于大文件, 不太清楚网站服务器, 会有很多大文件吗?

    只是觉得GIT可以用于备份, 而且简单方便, 学习成本应该也不高吧,如果LZ会的话?

    刚看了下, rsync是个不错的选择。


    @nonozone
    dropbox在这里可以只是个目录,如果目的位置是dropbox这个目录自然就可以了。 不过dropbox自身的文件差异检查是会重命名保存冲突文件,这个会很麻烦。可能dropbox本身已经有解决办法,但我不知道, 我对它不熟。
    avenger
    avenger
    Aug 31, 2012
    20
    rsync +1
    一定要用 3.0 以后的版本,尤其好用… 增量备份,速度那是嗖嗖的…
    nonozone
    nonozone
    OP
    Aug 31, 2012
    21
    @avenger rsync是自己可以设定定时运行,还是需要自己添加个任务?
    dworld
    dworld
    Aug 31, 2012
    22
    自己添加任务吧,rsync不能设置定时运行的
    avenger
    avenger
    Aug 31, 2012
    24
    @nonozone 通过 cron 定时运行
    fanweixiao
    fanweixiao
    Sep 5, 2012
    25
    rsync + cron
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1890 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 150ms · UTC 07:17 · PVG 15:17 · LAX 23:17 · JFK 02:17
    ♥ Do have faith in what you're doing.