常規文件的佈局 xattrs 叫做 ceph.file.layout 、目錄的佈局 xattrs 叫做 ceph.dir.layout佈局
佈局字段:
pool
字符串,可指定 ID 或名字。它是文件的數據對象所在的 RADOS 存儲池。
stripe_unit
字節數、整數。一個文件的數據塊按照此尺寸(字節)像 RAID 0 同樣分佈。一文件全部條帶單元的尺寸同樣,最後一個條帶單元一般不完整——即它包含文件末尾的數據、還有數據末端到固定條帶單元尺寸之間的未使用「空間」。
stripe_count
整數。組成 RAID 0 「條帶」數據的連續條帶單元數量。
object_size
整數個字節。文件數據按此尺寸分塊爲 RADOS 對象對象
使用getfattr讀出文件佈局:
getfattr -n ceph.file.layout filenameip
查詢單個文件佈局字段:
getfattr -n ceph.file.layout.pool filename
getfattr -n ceph.file.layout.stripe_unit filename
getfattr –n ceph.file.layout.stripe_count filename
getfattr –n ceph.file.layout.object_size filename字符串
使用setfattr修改文件佈局:
setfattr -n ceph.file.layout.pool –v pool_num file_name ---設置pool id
setfattr -n ceph.file.layout.stripe_unit -v 1048576 filename --設置條帶大小
setfattr –n ceph.file.layout.stripe_count –v 2 filename --設置條帶跨越個數
setfattr –n ceph.file.layout.object_size –v 1048576 filename --設置對象大小get
查詢目錄特殊性:it
使用getfattr讀出目錄佈局:
getfattr -n ceph.dir.layout.pool dirnameobject
使用setfattr修改目錄佈局:
setfattr -n ceph.dir.layout.pool –v pool_num file_name ---設置pool id
setfattr -n ceph.dir.layout.stripe_unit -v 1048576 filename --設置條帶大小
setfattr -n ceph.dir.layout.stripe_count –v 2 filename --設置條帶跨越個數
setfattr -n ceph.dir.layout.object_size –v 1048576 filename --設置對象大小file