swift单节点上传数据成功,但object和bytes显示为0

风神静

来自: 风神静 2012-02-22 17:48:19

×
加入小组后即可参加投票
  • zzcase

    zzcase 2012-02-22 23:10:18

    /var/syslog贴出来可以么,我相信log中还是会报错误的。
    猜测有的服务没有启动...比如object-server之类....
    有log有真相,祝您顺利。

  • 命名没有想象力

    命名没有想象力 (轻裘缓带) 2012-02-23 09:10:17

    object和bytes 都是存在数据库中的,每上传一个文件都会刷新一下相关字段,这个是由那几个Replicator提供的。

  • 风神静

    风神静 2012-02-23 11:18:11

    /var/syslog贴出来可以么,我相信log中还是会报错误的。 猜测有的服务没有启动...比如object-se /var/syslog贴出来可以么,我相信log中还是会报错误的。 猜测有的服务没有启动...比如object-server之类.... 有log有真相,祝您顺利。 ... zzcase

    log没有报错~而且发现一个问题命令行upload上传2次,object就有数据了,为什么?另外请问download的默认路径是哪个?

  • 风神静

    风神静 2012-02-23 13:50:46

    继续测试发现是因为第一次运行upload创建container返回201,object也是返回201,但objects和bytes显示为0,第二次运行upload,put container返回202,object还是返回201,但objects和bytes都显示数据,这是什么原因?

  • 风神静

    风神静 2012-02-23 14:00:36

    创建container的时候会出404错误,如下:
    Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "HEAD /sdb3/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291" 204 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0045 ""
    Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb4/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 201 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0251 ""
    Feb 23 13:51:20 swift container-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb2/16319/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 202 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0761
    Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb2/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0012 ""
    Feb 23 13:51:20 swift container-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb1/16319/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0299
    Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb3/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 201 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0105 ""
    Feb 23 13:51:20 swift container-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb4/16319/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 202 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0766。
    这会不会是第一次放入失败的原因呢?

  • zzcase

    zzcase 2012-02-23 18:12:52

    仍然猜测是服务没有启动,
    Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb2/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0012 ""
    Feb 23 13:51:20 swift container-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb1/16319/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0299

    从404的错误看来,是sdb1 container-server服务和sdb2的account-server不正常。
    希望您查一下对应的进程和端口是否打开。比如,swift-ring-builder中如是设定:

    swift-ring-builder object.builder create 18 3 1
    swift-ring-builder object.builder add z1-192.168.176.239:6010/sdb1 1
    swift-ring-builder object.builder add z2-192.168.176.239:6020/sdb2 1
    swift-ring-builder object.builder add z3-192.168.176.239:6030/sdb3 1
    swift-ring-builder object.builder add z4-192.168.176.239:6040/sdb4 1
    swift-ring-builder object.builder rebalance
    swift-ring-builder container.builder create 18 3 1
    swift-ring-builder container.builder add z1-192.168.176.239:6011/sdb1 1
    swift-ring-builder container.builder add z2-192.168.176.239:6021/sdb2 1
    swift-ring-builder container.builder add z3-192.168.176.239:6031/sdb3 1
    swift-ring-builder container.builder add z4-192.168.176.239:6041/sdb4 1
    swift-ring-builder container.builder rebalance
    swift-ring-builder account.builder create 18 3 1
    swift-ring-builder account.builder add z1-192.168.176.239:6012/sdb1 1
    swift-ring-builder account.builder add z2-192.168.176.239:6022/sdb2 1
    swift-ring-builder account.builder add z3-192.168.176.239:6032/sdb3 1
    swift-ring-builder account.builder add z4-192.168.176.239:6042/sdb4 1
    swift-ring-builder account.builder rebalance

    那么请检查6011端口、6022端口和相应进程是否正常。
    ps:有一次,我也遇到类似问题。最终是因为/var/run/swift文件的权限不正确而造成的。祝您好运。

  • 风神静

    风神静 2012-02-24 10:40:55

    仍然猜测是服务没有启动, Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012: 仍然猜测是服务没有启动, Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb2/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0012 "" Feb 23 13:51:20 swift container-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb1/16319/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0299 从404的错误看来,是sdb1 container-server服务和sdb2的account-server不正常。 希望您查一下对应的进程和端口是否打开。比如,swift-ring-builder中如是设定: swift-ring-builder object.builder create 18 3 1 swift-ring-builder object.builder add z1-192.168.176.239:6010/sdb1 1 swift-ring-builder object.builder add z2-192.168.176.239:6020/sdb2 1 swift-ring-builder object.builder add z3-192.168.176.239:6030/sdb3 1 swift-ring-builder object.builder add z4-192.168.176.239:6040/sdb4 1 swift-ring-builder object.builder rebalance swift-ring-builder container.builder create 18 3 1 swift-ring-builder container.builder add z1-192.168.176.239:6011/sdb1 1 swift-ring-builder container.builder add z2-192.168.176.239:6021/sdb2 1 swift-ring-builder container.builder add z3-192.168.176.239:6031/sdb3 1 swift-ring-builder container.builder add z4-192.168.176.239:6041/sdb4 1 swift-ring-builder container.builder rebalance swift-ring-builder account.builder create 18 3 1 swift-ring-builder account.builder add z1-192.168.176.239:6012/sdb1 1 swift-ring-builder account.builder add z2-192.168.176.239:6022/sdb2 1 swift-ring-builder account.builder add z3-192.168.176.239:6032/sdb3 1 swift-ring-builder account.builder add z4-192.168.176.239:6042/sdb4 1 swift-ring-builder account.builder rebalance 那么请检查6011端口、6022端口和相应进程是否正常。 ps:有一次,我也遇到类似问题。最终是因为/var/run/swift文件的权限不正确而造成的。祝您好运。 ... zzcase

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    曼特宁-con 2039 swift 4u IPv4 14453 0t0 TCP *:6011 (LISTEN)
    swift-con 2102 swift 4u IPv4 14453 0t0 TCP *:6011 (LISTEN)
    swift@swift:~/bin$ sudo lsof -i:6022
    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
    swift-acc 2030 swift 4u IPv4 14408 0t0 TCP *:6022 (LISTEN)
    swift-acc 2080 swift 4u IPv4 14408 0t0 TCP *:6022 (LISTEN)
    这个端口应该是正常的不?/var/run/swift的权限也是rwx的~

  • 风神静

    风神静 2012-02-24 17:30:19

    仍然猜测是服务没有启动, Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012: 仍然猜测是服务没有启动, Feb 23 13:51:20 swift account-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb2/171062/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0012 "" Feb 23 13:51:20 swift container-server 127.0.0.1 - - [23/Feb/2012:21:51:20 +0000] "PUT /sdb1/16319/AUTH_b99c9b4883bf45e8b7b4201d9c652291/test1" 404 - "tx385a6b7c-c3a8-4859-98d8-dca700be755d" "-" "-" 0.0299 从404的错误看来,是sdb1 container-server服务和sdb2的account-server不正常。 希望您查一下对应的进程和端口是否打开。比如,swift-ring-builder中如是设定: swift-ring-builder object.builder create 18 3 1 swift-ring-builder object.builder add z1-192.168.176.239:6010/sdb1 1 swift-ring-builder object.builder add z2-192.168.176.239:6020/sdb2 1 swift-ring-builder object.builder add z3-192.168.176.239:6030/sdb3 1 swift-ring-builder object.builder add z4-192.168.176.239:6040/sdb4 1 swift-ring-builder object.builder rebalance swift-ring-builder container.builder create 18 3 1 swift-ring-builder container.builder add z1-192.168.176.239:6011/sdb1 1 swift-ring-builder container.builder add z2-192.168.176.239:6021/sdb2 1 swift-ring-builder container.builder add z3-192.168.176.239:6031/sdb3 1 swift-ring-builder container.builder add z4-192.168.176.239:6041/sdb4 1 swift-ring-builder container.builder rebalance swift-ring-builder account.builder create 18 3 1 swift-ring-builder account.builder add z1-192.168.176.239:6012/sdb1 1 swift-ring-builder account.builder add z2-192.168.176.239:6022/sdb2 1 swift-ring-builder account.builder add z3-192.168.176.239:6032/sdb3 1 swift-ring-builder account.builder add z4-192.168.176.239:6042/sdb4 1 swift-ring-builder account.builder rebalance 那么请检查6011端口、6022端口和相应进程是否正常。 ps:有一次,我也遇到类似问题。最终是因为/var/run/swift文件的权限不正确而造成的。祝您好运。 ... zzcase

    是不是1.1版本本来就存在这个问题?

    曼特宁@曼特宁:~/bin$ st -v -A http://192.168.0.89:11000/v1.0 -U test:tester -K testing list test3
    /mnt/hgfs/Linux/1.jpg
    /mnt/hgfs/Linux/2.jpg
    曼特宁@曼特宁:~/bin$ st -v -A http://192.168.0.89:11000/v1.0 -U test:tester -K testing list test2
    /mnt/hgfs/Linux/1.jpg
    /mnt/hgfs/Linux/2.jpg
    swift@swift:~/bin$ st -v -A http://192.168.0.89:11000/v1.0 -U test:tester -K testing list test1
    /mnt/hgfs/Linux/1.jpg
    swift@swift:~/bin$ st -v -A http://192.168.0.89:11000/v1.0 -U test:tester -K testing stat
    StorageURL: http://127.0.0.1:8080/v1/AUTH_eb51af483d994ef2a7fd37d0bebcf13a
    Auth Token: AUTH_tk3f2d7ef1bdb340c899873df02788136c
    Account: AUTH_eb51af483d994ef2a7fd37d0bebcf13a
    Containers: 3
    Objects: 3
    Bytes: 159860

  • 风神静

    风神静 2012-02-24 17:32:06

    数据明明显示了 但统计咋显示不出来~

  • zzcase

    zzcase 2012-02-25 18:35:35

    问1:“这个端口应该是正常的不?/var/run/swift的权限也是rwx的~”
    从你贴出的结果看来,进程和端口都是正常的。

    问2“是不是1.1版本本来就存在这个问题? ”
    你问题提出之后,我分别试过swift1.1和swift1.4。都不存在这种情况。...或者说,即使有,也是配置不当,目前看来不是bug。


    问3“数据明明显示了 但统计咋显示不出来~”
    正如 2012-02-23 09:10:17 命名没有想象力 (轻裘缓带) 所说:
    object, container, account信息都是写在数据库中的, mysql或者sqlite。
    因此,数据库中的值并不能完全实时体现出存储状态。
    还有,你第一次上传上去的object看起来是不成功的,你可以尝试download下来看看。
    从st **** stat结果看来,3个container,5个object中至少应该有2个都应该是写不成功的情况,希望可以再查查log,看一下还有什么错误被遗漏了。

    祝君好运!

  • zzcase

    zzcase 2012-02-25 18:58:54

    还有,希望您尽可能把异常情况重现出来。
    看是否还有类似“写不成功”的情况。
    如果异常仍然存在,那么,在确定log信息的同时,请检查一下
    1.相关进程和端口是否都已经打开,如果是SAIO的话,如上例(7楼例子),account, container,object 会有至少4*3个端口打开。
    2 sd*/ (即sdb1,sdb2,sdb3,sdb4) device下的属性是否正常,确保对应用户有写操作.
    3.检查rsync 服务是否正常。
    比如使用:
    rsync rsync://YOURLOCALIP
    查看一下rsync服务是否都是正常的
    (注意不要写成:
    rsync rsync://localhost)

  • 风神静

    风神静 2012-02-27 13:35:20

    问1:“这个端口应该是正常的不?/var/run/swift的权限也是rwx的~” 从你贴出的结果看来,进程 问1:“这个端口应该是正常的不?/var/run/swift的权限也是rwx的~” 从你贴出的结果看来,进程和端口都是正常的。 问2“是不是1.1版本本来就存在这个问题? ” 你问题提出之后,我分别试过swift1.1和swift1.4。都不存在这种情况。...或者说,即使有,也是配置不当,目前看来不是bug。 问3“数据明明显示了 但统计咋显示不出来~” 正如 2012-02-23 09:10:17 命名没有想象力 (轻裘缓带) 所说: object, container, account信息都是写在数据库中的, mysql或者sqlite。 因此,数据库中的值并不能完全实时体现出存储状态。 还有,你第一次上传上去的object看起来是不成功的,你可以尝试download下来看看。 从st **** stat结果看来,3个container,5个object中至少应该有2个都应该是写不成功的情况,希望可以再查查log,看一下还有什么错误被遗漏了。 祝君好运! ... zzcase

    文件能download下来,就是用st****stat统计的时候,统计数据没刷新~是不是什么参数没设置对?

  • 风神静

    风神静 2012-02-27 17:34:21

    问1:“这个端口应该是正常的不?/var/run/swift的权限也是rwx的~” 从你贴出的结果看来,进程 问1:“这个端口应该是正常的不?/var/run/swift的权限也是rwx的~” 从你贴出的结果看来,进程和端口都是正常的。 问2“是不是1.1版本本来就存在这个问题? ” 你问题提出之后,我分别试过swift1.1和swift1.4。都不存在这种情况。...或者说,即使有,也是配置不当,目前看来不是bug。 问3“数据明明显示了 但统计咋显示不出来~” 正如 2012-02-23 09:10:17 命名没有想象力 (轻裘缓带) 所说: object, container, account信息都是写在数据库中的, mysql或者sqlite。 因此,数据库中的值并不能完全实时体现出存储状态。 还有,你第一次上传上去的object看起来是不成功的,你可以尝试download下来看看。 从st **** stat结果看来,3个container,5个object中至少应该有2个都应该是写不成功的情况,希望可以再查查log,看一下还有什么错误被遗漏了。 祝君好运! ... zzcase

    经测试 数据进去了,但统计没计算,貌似统计每次只加1,我一次上传2个文件,统计也只加了1,st***stat的统计数据是怎么来的?可以设置不?多谢帮助了!

  • jeken

    jeken 2012-02-27 18:53:46

    log没有报错~而且发现一个问题命令行upload上传2次,object就有数据了,为什么?另外请问downlo log没有报错~而且发现一个问题命令行upload上传2次,object就有数据了,为什么?另外请问download的默认路径是哪个? ... 风神静

    同问,download的默认路径是哪个?

  • zzcase

    zzcase 2012-03-02 19:20:22

    问1:swift单点上传数据,但object和bytes显示为0...

    又试着安装了一下swift1.1
    确实发现有类似问题。
    即使用st ** stat时,会出现统计不准确的情况。
    但是使用curl **描述的情况是正确的。
    目前暂时认为是后台db没有实时同步数据造成的。深层原因有待进一步查证。
    以下为相应的输出结果。

    swift@ubuntuf="https://www.douban.com/people/1039951/">ubuntuf="https://www.douban.com/people/1039951/">ubuntu:/etc/swift$ st -A http://127.0.0.1:11000/v1.0 -U test:tester -K testing stat Account: AUTH_82b25da71c7f4907bdcf3b5109a2da20
    Containers: 1
    Objects: 1
    Bytes: 3409074
    swift@ubuntu:/etc/swift$ st -A http://127.0.0.1:11000/v1.0 -U test:tester -K testing list account
    account.builder
    account.ring.gz

    swift@ubuntu:/etc/swift$ curl -k -X GET -D - -H 'X-Auth-Token: AUTH_tkb9bebe4697554ac7a0125418a2c1ed97 ' http://127.0.0.1:8080/v1/AUTH_82b25da71c7f4907bdcf3b5109a2da20/account
    HTTP/1.1 200 OK
    X-Container-Object-Count: 2
    X-Container-Bytes-Used: 3663510
    Content-Length: 32
    Content-Type: text/plain; charset=utf8
    Date: Thu, 01 Mar 2012 08:42:01 GMT

    account.builder
    account.ring.gz

  • zzcase

    zzcase 2012-03-02 19:28:52

    问2:st***stat的统计数据是怎么来的?可以设置不?
    无论是swift1.1-1.2中的st还是1.3之后的swift工具,都是python写的optparse工具。
    具体计算方法可以参看其中的
    st_stat(options,args)
    方法,
    草草看了一下,大意是和account/container/object server通信,询问相应的信息。
    不知道为什么需要人为设置?希望看一下对应代码可以帮助您解决相应问题。

  • zzcase

    zzcase 2012-03-02 19:30:08

    问3:download的默认路径是哪个?
    在哪里执行的st/swift ** download命令 , 就会下载到哪里。

  • Jindou

    Jindou (Enjoy it!) 2013-07-22 19:11:51

    问1:swift单点上传数据,但object和bytes显示为0... 又试着安装了一下swift1.1 确实发现有 问1:swift单点上传数据,但object和bytes显示为0... 又试着安装了一下swift1.1 确实发现有类似问题。 即使用st ** stat时,会出现统计不准确的情况。 但是使用curl **描述的情况是正确的。 目前暂时认为是后台db没有实时同步数据造成的。深层原因有待进一步查证。 以下为相应的输出结果。 swift@ubuntu:/etc/swift$ st -A http://127.0.0.1:11000/v1.0 -U test:tester -K testing stat Account: AUTH_82b25da71c7f4907bdcf3b5109a2da20 Containers: 1 Objects: 1 Bytes: 3409074 swift@ubuntu:/etc/swift$ st -A http://127.0.0.1:11000/v1.0 -U test:tester -K testing list account account.builder account.ring.gz swift@ubuntu:/etc/swift$ curl -k -X GET -D - -H 'X-Auth-Token: AUTH_tkb9bebe4697554ac7a0125418a2c1ed97 ' http://127.0.0.1:8080/v1/AUTH_82b25da71c7f4907bdcf3b5109a2da20/account HTTP/1.1 200 OK X-Container-Object-Count: 2 X-Container-Bytes-Used: 3663510 Content-Length: 32 Content-Type: text/plain; charset=utf8 Date: Thu, 01 Mar 2012 08:42:01 GMT account.builder account.ring.gz ... zzcase

    请问,这个问题找到原因了吗?
    我今天根据SAIO部署swift,发现也有这个问题,请大神解答下,谢谢!

  • zzcase

    zzcase 2013-07-23 20:28:56

    新版本的swift没有遇到类似问题。
    尽量用最新的swift版本吧。

  • dahoo

    dahoo (how to disappear completely) 2013-07-24 01:18:53

    老版本经常有这种数据库没有及时同步的问题吧,比如floating ip的绑定也经常无法更新。

  • 胡说

    胡说 2013-11-16 16:50:34

    最好把proxy.log proxy.err这两个日志也贴出来

  • 狂风吹遍太平洋

    狂风吹遍太平洋 2014-05-06 10:49:51

    我这里有个免费课程分享群 289878055 ,定期都会放出来点收费课程的免费部分,豆瓣的好友们可以加一下了

  • 天道

    天道 2014-05-07 21:14:55

    我这里有个免费课程分享群 289878055 ,定期都会放出来点收费课程的免费部分,豆瓣的好友们可以 我这里有个免费课程分享群 289878055 ,定期都会放出来点收费课程的免费部分,豆瓣的好友们可以加一下了 ... 狂风吹遍太平洋

    qq群?搜不到啊?

  • 狂风吹遍太平洋

    狂风吹遍太平洋 2014-06-25 09:54:52

    qq群?搜不到啊? qq群?搜不到啊? 天道

    那你加2059055336吧

你的回应

回应请先 , 或 注册

1258 人聚集在这个小组
↑回顶部