Chinaunix

标题: rsync同步的问题 [打印本页]

作者: bacon1001    时间: 2011-05-20 10:07
标题: rsync同步的问题
此版牛人甚多,因为问题较紧急,所以容我在这里求助一下版外话题,疑问解答后麻烦版主删除或移除此贴,谢谢

主机:A
备份机:B

现在我从A同步data1资源到B上的data1(Adata2-Bdata2....Adata4-Bdata4),使用以下命令:
rsync --progress --ignore-errors --force -avze ssh /data1/ root@211.162.190.242:/data1
完成后,提示的信息为
  1. sent 738281272455 bytes  received 1395480 bytes  4775916.52 bytes/sec
  2. total size is 1349193553152  speedup is 1.83
复制代码
但是当同步完成后发现资源占用空间前后不一致的情况
A:
  1. A:~ # df
  2. Filesystem           1K-blocks      Used Available Use% Mounted on
  3. /dev/sda1             69205816  23619368  45586448  35% /
  4. udev                   4150168       128   4150040   1% /dev
  5. /dev/sda3             70298264   1672592  68625672   3% /home
  6. /dev/sdb1            732549604 726860096   5689508 100% /data1
  7. /dev/sdc1            732549604 727295032   5254572 100% /data2
  8. /dev/sdd1            732549604 716311140  16238464  98% /data3
  9. /dev/sde1            976730184 955672480  21057704  98% /data4
复制代码
B:
  1. B:~ # df
  2. Filesystem           1K-blocks      Used Available Use% Mounted on
  3. /dev/sda2            447685780   4086612 420857956   1% /
  4. udev                   8235160       184   8234976   1% /dev
  5. /dev/sdb1            1953452376 1319031504 634420872  68% /data1
  6. /dev/sdc1            1953452376 1648408016 305044360  85% /data2
  7. /dev/sdd1            1953452376 1316228160 637224216  68% /data3
  8. /dev/sde1            1953452376 1496066728 457385648  77% /data4
复制代码
在A和B的data1的根目录下只有一个XX目录,在XX目录下有很多文件夹(文件夹中包含文件),目录数是一样多
A:
  1. A:/data1/XX # ll|wc -l
  2. 49840
复制代码
B:
  1. B:/data1/XX # ll|wc -l
  2. 49840
复制代码
其中我使用du命令看了下,B占用的空间大小基本上是A的两倍
  1. A:/data1 # du -sh XX/
  2. 694G    XX/
复制代码
  1. B:/data1 # du -sh XX/
  2. 1.3T    XX/
复制代码
敢问一下,问题可能在哪里呢?
作者: xiaopan3322    时间: 2011-05-20 10:21
rsync --progress --ignore-errors --force -avze ssh /data1/ root@211.162.190.242:/data1
这条命令中,为什么会有一个ssh???
作者: bacon1001    时间: 2011-05-20 10:23
回复 2# xiaopan3322

rsync是远程同步,ssh当然是用作登录用的。
作者: myfifi    时间: 2011-05-20 11:01
rsync -avcz --progress /data1/ root@211.162.190.242:/data1
作者: xiaopan3322    时间: 2011-05-20 11:07
本帖最后由 xiaopan3322 于 2011-05-20 11:21 编辑

回复 3# bacon1001


   默认是ssh,不需要指定,除非你用的是非22端口……
   把ssh去掉,你后面已经有root@machine了……
  不过这里应该没影响,看7楼的回答
作者: ywlscpl    时间: 2011-05-20 11:15
ssh这个影响不大吧
如果存在ssh,把其也同步过去了

不过楼主对ssh这个理解是错误的
作者: xiaopan3322    时间: 2011-05-20 11:17
回复 3# bacon1001


    rsync就是通过ssh机制传输的,并不需要你来指定……
   不过你这里的问题,经过讨论,认识是你的系统在磁盘分区的时候,两台机器的块大小不一致,有可能相差了两倍,例如  磁盘分的时候 块是4k大的,你存1k的文件  磁盘上也用掉4k。
   你先查看下……
作者: bacon1001    时间: 2011-05-20 12:31
回复 6# ywlscpl


    谢谢指正
作者: bacon1001    时间: 2011-05-20 13:03
回复  bacon1001


    rsync就是通过ssh机制传输的,并不需要你来指定……
   不过你这里的问题,经过 ...
xiaopan3322 发表于 2011-05-20 11:17



    google了半天,依然看不到
  1. tune2fs -l /dev/sdb1
  2. tune2fs 1.41.9 (22-Aug-2009)
  3. tune2fs: Bad magic number in super-block while trying to open /dev/sdb1
  4. Couldn't find valid filesystem superblock.
复制代码

作者: xiaopan3322    时间: 2011-05-20 13:15
回复 9# bacon1001


    你确定是“/dev/sdb1”?
    还有,不同的fs,查看block的命令是不一样的,你的是ext3?
作者: bacon1001    时间: 2011-05-20 13:16
回复  bacon1001


    你确定是“/dev/sdb1”?
    还有,不同的fs,查看block的命令是不一样的,你的 ...
xiaopan3322 发表于 2011-05-20 13:15



    要查看的目标没有错,不知道使用的是reiserfs文件系统有没有影响。
作者: xiaopan3322    时间: 2011-05-20 13:19
回复 11# bacon1001


    reiserfs?  gentoo?
    try:
    /sbin/debugreiserfs /dev/hdb1 | grep -i blocksize
作者: bacon1001    时间: 2011-05-20 13:23
回复 12# xiaopan3322

非常感谢大侠对此问题的关注,你上面的命令可用。但是在A、B主机上执行的结果都是
  1. debugreiserfs /dev/sdb1 | grep -i blocksize
  2. debugreiserfs 3.6.21 (2009 www.namesys.com)

  3. Blocksize: 4096
复制代码
囧,怕不是块大小造成的
作者: rockants    时间: 2011-05-20 13:28
估计是你的/data1下面有隐藏的文件夹,是不是有snapshot之类的东东。
作者: rockants    时间: 2011-05-20 13:30
还有,我觉得rsync应该加个--delete
作者: bacon1001    时间: 2011-05-20 13:35
那边是全新的空硬盘 不存在有旧文件的情形 所以--delete我就没有加
作者: xiaopan3322    时间: 2011-05-20 13:42
回复 13# bacon1001


    汗,那就不知道了……
    要不你换个scp命令试试?
作者: rockants    时间: 2011-05-20 13:54
那就两个办法,一个是加--delete再做一次。
另一个用du -k|sort -n比较下结果,总能有个结论。
作者: cocke    时间: 2011-06-23 11:02
rsync --progress --ignore-errors --force -avze ssh /data1/ root@211.162.190.242:/data1
最右侧的data1后面是不是少了一个/,不知道跟这个有没有关系
作者: 267020090    时间: 2011-06-24 10:06
加上--delete试试
作者: 267020090    时间: 2011-06-24 10:07
我这边主机A182G 同步到B主机是186G 还可以接受




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2