st0627 发表于 2015-9-10 07:44:30

ceph存储之存入/检出对象数据

对象存储(而非块存储):
  要把对象存入ceph集群,客户端必须做到:
  1、指定对象名
  2、指定存储池
  Ceph客户端检出最新集群运行图,客户端用CRUSH算法动态地计算出如何把对象映射到归置组、然后计算如何把归置组分配到OSD。要定位对象,只需要对象名和存储池名字即可。例如:
  ceph osd map {poolname} {object-name}
  练习:定位某个对象
  1、先创建一个对象,有rados put 命令加上对象名、一个有数据的测试文件路径、并制定存储池。
  echo{Test-data} > testfile.txt
  rados put {object-name} {file-path}--pool=data
  rados put test-object-1testfile.txt--pool=data
  确认Ceph存储集群存储了此对象:
  rados -p data ls



1 root@u18:~# rados lspools
2 data
3 metadata
4 rbd
5 kvm
6 libvirt-pool
7 template
8 root@u18:~# echo "Hello World" > testfile.txt
9 root@u18:~# rados put test-object-1testfile.txt --pool=data
10 root@u18:~# rados -p data ls
11 test-object-1
12 root@u18:~#
  2、定位对象:
  cephosdmap{pool-name}{object-name}
  cephosdmapdata   test-object-1
  Ceph应该输入对象位置,例如:



1 root@u18:~# ceph osd map data test-object-1
2 osdmap e862 pool 'data' (0) object 'test-object-1' -> pg 0.74dc35e2 (0.22) -> up (, p1) acting (, p1)
3 root@u18:~#
  radosrm可删除此测试对象,例如:
  radosrmtest-object-1   --pool=data
  
页: [1]
查看完整版本: ceph存储之存入/检出对象数据