searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

ceph-rgw数据上传学习(四)(分段上传)

2023-10-11 03:24:44
71
0

在上一篇介绍完分段上传的流程以后,我们一起来看一下分段上传的实践过程。

实践过程:

通过S3cmd上传一个19M的视频文件:


[root@99386cd5b819 video]# s3cmd put zz.mp4 s3://openapi-hp-test
WARNING: zz.mp4: Owner username not known. Storing UID=1000 instead.
WARNING: zz.mp4: Owner groupname not known. Storing GID=1000 instead.
upload: 'zz.mp4' -> 's3://openapi-hp-test/zz.mp4' [part 1 of 2, 15MB] [1 of 1]
15728640 of 15728640   100% in   2s     6.05 MB/s  done
upload: 'zz.mp4' -> 's3://openapi-hp-test/zz.mp4' [part 2 of 2, 3MB] [1 of 1]
3686597 of 3686597   100% in   1s     2.17 MB/s  done
[root@99386cd5b819 video]#

查看一下当前rados的数据池中有哪些rados对象数据以及他们的数据大小:


[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data ls
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.2
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_1
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_3
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_2
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4 mtime 2023-07-06 10:53:15.000000, size 0
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1 mtime 2023-07-06 10:53:12.000000, size 4194304
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_1
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_1 mtime 2023-07-06 10:53:12.000000, size 4194304
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_2
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_2 mtime 2023-07-06 10:53:12.000000, size 4194304
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_3
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_3 mtime 2023-07-06 10:53:12.000000, size 3145728
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.2
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.2 mtime 2023-07-06 10:53:14.000000, size 3686597
[root@99386cd5b819 build]#

查看一下首对象HeadObject的属性并读取一下Manifest信息:


[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data listxattr 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4
user.rgw.acl
user.rgw.content_type
user.rgw.etag
user.rgw.idtag
user.rgw.manifest
user.rgw.pg_ver
user.rgw.source_zone
user.rgw.tail_tag
user.rgw.x-amz-meta-s3cmd-attrs
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados getxattr -p default.rgw.buckets.data 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4 user.rgw.manifest > ./lhp/zz.user.rgw.manifest
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/ceph-dencoder import ./lhp/zz.user.rgw.manifest type RGWObjManifest decode dump_json
{
   "objs": [],
   "obj_size": 19415237,#对象的大小
   "explicit_objs": "false",
   "head_size": 0, #首对象大小
   "max_head_size": 0,#首对象允许最大的大小
   "prefix": "zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH",#前缀:{ObjectName}.xxx
   "rules": [
      {
           "key": 0,
           "val": {
               "start_part_num": 1,
               "start_ofs": 0,
               "part_size": 15728640,
               "stripe_max_size": 4194304,
               "override_prefix": ""
          }
      },
      {
           "key": 15728640,
           "val": {
               "start_part_num": 2,
               "start_ofs": 15728640,
               "part_size": 3686597,
               "stripe_max_size": 4194304,
               "override_prefix": ""
          }
      }
  ],
   "tail_instance": "",
   "tail_placement": {
       "bucket": {
           "name": "openapi-hp-test-pool1",
           "marker": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
           "bucket_id": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
           "tenant": "",
           "explicit_placement": {
               "data_pool": "",
               "data_extra_pool": "",
               "index_pool": ""
          }
      },
       "placement_rule": "default-placement"
  },
   "begin_iter": {
       "part_ofs": 0,
       "stripe_ofs": 0,
       "ofs": 0,
       "stripe_size": 4194304,
       "cur_part_id": 1,
       "cur_stripe": 0,
       "cur_override_prefix": "",
       "location": {
           "placement_rule": "default-placement",
           "obj": {
               "bucket": {
                   "name": "openapi-hp-test-pool1",
                   "marker": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "bucket_id": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "tenant": "",
                   "explicit_placement": {
                       "data_pool": "",
                       "data_extra_pool": "",
                       "index_pool": ""
                  }
              },
               "key": {
                   "name": "zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1",
                   "instance": "",
                   "ns": "multipart"
              }
          },
           "raw_obj": {
               "pool": "",
               "oid": "",
               "loc": ""
          },
           "is_raw": false
      }
  },
   "end_iter": {
       "part_ofs": 19415237,
       "stripe_ofs": 19415237,
       "ofs": 19415237,
       "stripe_size": 3686597,
       "cur_part_id": 3,
       "cur_stripe": 0,
       "cur_override_prefix": "",
       "location": {
           "placement_rule": "default-placement",
           "obj": {
               "bucket": {
                   "name": "openapi-hp-test-pool1",
                   "marker": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "bucket_id": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "tenant": "",
                   "explicit_placement": {
                       "data_pool": "",
                       "data_extra_pool": "",
                       "index_pool": ""
                  }
              },
               "key": {
                   "name": "zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.3",
                   "instance": "",
                   "ns": "multipart"
              }
          },
           "raw_obj": {
               "pool": "",
               "oid": "",
               "loc": ""
          },
           "is_raw": false
      }
  }
}

然后查看一下分段上传的过程中写入的FirstObject的属性信息:


[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data listxattr 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1
user.rgw.acl
user.rgw.etag
user.rgw.pg_ver
user.rgw.source_zone
[root@99386cd5b819 build]#
0条评论
作者已关闭评论
李****平
5文章数
0粉丝数
李****平
5 文章 | 0 粉丝
原创

ceph-rgw数据上传学习(四)(分段上传)

2023-10-11 03:24:44
71
0

在上一篇介绍完分段上传的流程以后,我们一起来看一下分段上传的实践过程。

实践过程:

通过S3cmd上传一个19M的视频文件:


[root@99386cd5b819 video]# s3cmd put zz.mp4 s3://openapi-hp-test
WARNING: zz.mp4: Owner username not known. Storing UID=1000 instead.
WARNING: zz.mp4: Owner groupname not known. Storing GID=1000 instead.
upload: 'zz.mp4' -> 's3://openapi-hp-test/zz.mp4' [part 1 of 2, 15MB] [1 of 1]
15728640 of 15728640   100% in   2s     6.05 MB/s  done
upload: 'zz.mp4' -> 's3://openapi-hp-test/zz.mp4' [part 2 of 2, 3MB] [1 of 1]
3686597 of 3686597   100% in   1s     2.17 MB/s  done
[root@99386cd5b819 video]#

查看一下当前rados的数据池中有哪些rados对象数据以及他们的数据大小:


[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data ls
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.2
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_1
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_3
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_2
5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4 mtime 2023-07-06 10:53:15.000000, size 0
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1 mtime 2023-07-06 10:53:12.000000, size 4194304
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_1
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_1 mtime 2023-07-06 10:53:12.000000, size 4194304
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_2
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_2 mtime 2023-07-06 10:53:12.000000, size 4194304
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_3
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__shadow_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1_3 mtime 2023-07-06 10:53:12.000000, size 3145728
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data stat 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.2
default.rgw.buckets.data/5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.2 mtime 2023-07-06 10:53:14.000000, size 3686597
[root@99386cd5b819 build]#

查看一下首对象HeadObject的属性并读取一下Manifest信息:


[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data listxattr 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4
user.rgw.acl
user.rgw.content_type
user.rgw.etag
user.rgw.idtag
user.rgw.manifest
user.rgw.pg_ver
user.rgw.source_zone
user.rgw.tail_tag
user.rgw.x-amz-meta-s3cmd-attrs
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/rados getxattr -p default.rgw.buckets.data 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1_zz.mp4 user.rgw.manifest > ./lhp/zz.user.rgw.manifest
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]#
[root@99386cd5b819 build]# ./bin/ceph-dencoder import ./lhp/zz.user.rgw.manifest type RGWObjManifest decode dump_json
{
   "objs": [],
   "obj_size": 19415237,#对象的大小
   "explicit_objs": "false",
   "head_size": 0, #首对象大小
   "max_head_size": 0,#首对象允许最大的大小
   "prefix": "zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH",#前缀:{ObjectName}.xxx
   "rules": [
      {
           "key": 0,
           "val": {
               "start_part_num": 1,
               "start_ofs": 0,
               "part_size": 15728640,
               "stripe_max_size": 4194304,
               "override_prefix": ""
          }
      },
      {
           "key": 15728640,
           "val": {
               "start_part_num": 2,
               "start_ofs": 15728640,
               "part_size": 3686597,
               "stripe_max_size": 4194304,
               "override_prefix": ""
          }
      }
  ],
   "tail_instance": "",
   "tail_placement": {
       "bucket": {
           "name": "openapi-hp-test-pool1",
           "marker": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
           "bucket_id": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
           "tenant": "",
           "explicit_placement": {
               "data_pool": "",
               "data_extra_pool": "",
               "index_pool": ""
          }
      },
       "placement_rule": "default-placement"
  },
   "begin_iter": {
       "part_ofs": 0,
       "stripe_ofs": 0,
       "ofs": 0,
       "stripe_size": 4194304,
       "cur_part_id": 1,
       "cur_stripe": 0,
       "cur_override_prefix": "",
       "location": {
           "placement_rule": "default-placement",
           "obj": {
               "bucket": {
                   "name": "openapi-hp-test-pool1",
                   "marker": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "bucket_id": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "tenant": "",
                   "explicit_placement": {
                       "data_pool": "",
                       "data_extra_pool": "",
                       "index_pool": ""
                  }
              },
               "key": {
                   "name": "zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1",
                   "instance": "",
                   "ns": "multipart"
              }
          },
           "raw_obj": {
               "pool": "",
               "oid": "",
               "loc": ""
          },
           "is_raw": false
      }
  },
   "end_iter": {
       "part_ofs": 19415237,
       "stripe_ofs": 19415237,
       "ofs": 19415237,
       "stripe_size": 3686597,
       "cur_part_id": 3,
       "cur_stripe": 0,
       "cur_override_prefix": "",
       "location": {
           "placement_rule": "default-placement",
           "obj": {
               "bucket": {
                   "name": "openapi-hp-test-pool1",
                   "marker": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "bucket_id": "5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1",
                   "tenant": "",
                   "explicit_placement": {
                       "data_pool": "",
                       "data_extra_pool": "",
                       "index_pool": ""
                  }
              },
               "key": {
                   "name": "zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.3",
                   "instance": "",
                   "ns": "multipart"
              }
          },
           "raw_obj": {
               "pool": "",
               "oid": "",
               "loc": ""
          },
           "is_raw": false
      }
  }
}

然后查看一下分段上传的过程中写入的FirstObject的属性信息:


[root@99386cd5b819 build]# ./bin/rados -p default.rgw.buckets.data listxattr 5af0c708-a887-4e37-8fb8-83f5d92a9dcb.4167.1__multipart_zz.mp4.2~cd7XoaX_6dqF6LI0kbr-IAh1T8ZvRWH.1
user.rgw.acl
user.rgw.etag
user.rgw.pg_ver
user.rgw.source_zone
[root@99386cd5b819 build]#
文章来自个人专栏
ceph-rgw学习笔记
5 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0