1. 檢視池列表
# ceph osd lspools
或者# rados lspools
[root@ceph01 ~]# ceph osd lspools
0 rbd,
[root@ceph01 ~]# rados lspools
rbd
2. 檢視池的詳細資訊(id、副本數、crush規則集、pg數等)
# ceph osd dump | grep -i pool
[root@ceph01 ~]# ceph osd dump | grep -i pool
pool 0 'rbd' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 flags hashpspool stripe_width 0
3. 建立池
# ceph osd pool create 池名稱 pg數 pgp數
pg與pgp
pg是用來存放object的,pgp相當於是pg存放osd的一種排列組合,我舉個例子,比如有3個osd,osd.1、osd.2和osd.3,副本數是2,如果pgp的數目為1,那麼pg存放的osd組合就只有一種,可能是[osd.1,osd.2],那麼所有的pg主從副本分別存放到osd.1和osd.2,如果pgp設為2,那麼其osd組合可以兩種,可能是[osd.1,osd.2]和[osd.1,osd.3],是不是很像我們高中數學學過的排列組合,pgp就是代表這個意思。一般來說應該將pg和pgp的數量設定為相等。例如:建立乙個名為sg的池,pg數128,pgp數128
[root@ceph01 ~]# ceph osd pool create sg 128 128
pool 'sg' created
4. 修改池的副本數
# ceph osd pool set 池名稱 size n
[root@ceph01 ~]# ceph osd pool set sg size 5
set pool 1 size to 5
5. 重新命名池
# ceph osd pool rename 原名 新名
[root@ceph01 ~]# ceph osd pool rename sg test
pool 'sg' renamed to 'test'
6. 資料管理
建立檔案用以測試池的副本數
# echo 『hello ceph!』 > /tmp/test
將檔案存入池中
# rados -p test put object1 /tmp/test
確認該檔案是否在池中
# rados -p test ls
檢視test池中的物件object1與osd的對映關係
# ceph osd map test object1
[root@ceph01 ~]# echo 'hello ceph!' > /tmp/test
[root@ceph01 ~]# rados -p test put object1 /tmp/test
[root@ceph01 ~]# rados -p test ls
object1
[root@ceph01 ~]# ceph osd map test object1
osdmap e39 pool 'test' (1) object 'object1' -> pg 1.bac5debc (1.3c) -> up ([3,4,1], p3) acting ([3,4,1], p3)
7. 塊裝置操作
建立塊裝置
# rbd create 介質名 --size 大小(m) --pool 池名稱
列出塊裝置
# rbd ls 池名稱
檢索塊資訊
# rbd --image 介質名 info --pool 池名稱
[root@ceph01 ~]# rbd create aa --size 1024m --pool test
[root@ceph01 ~]# rbd ls test
aa[root@ceph01 ~]# rbd --image aa info --pool test
rbd image 'aa':
size 1024 mb in 256 objects
order 22 (4096 kb objects)
block_name_prefix: rbd_data.107c6b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
[root@ceph01 ~]# rbd feature disable aa --pool test exclusive-lock object-map fast-diff deep-flatten
[root@ceph01 ~]# rbd map aa --pool test --id admin
id pool image snap device
0 test aa - /dev/rbd0
[root@ceph01 ~]# mkfs.ext4 /dev/rbd0
mke2fs 1.42.9 (28-dec-2013)
discarding device blocks: 完成
檔案系統標籤=
os type: linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
stride=1024 blocks, stripe width=1024 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第乙個資料塊=0
maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
superblock backups stored on blocks:
32768, 98304, 163840, 229376
allocating group tables: 完成
正在寫入inode表: 完成
creating journal (8192 blocks): 完成
writing superblocks and filesystem accounting information: 完成
[root@ceph01 ~]# mkdir -p /mnt/aa
[root@ceph01 ~]# mount /dev/rbd0 /mnt/aa
[root@ceph01 ~]# echo '/dev/rbd0 /mnt/aa ext4 defaults,noatime,_netdev 0 0' >> /etc/fstab
[root@ceph01 ~]# lsblk
name maj:min rm size ro type mountpoint
sda 8:0 0 20g 0 disk
├─sda1 8:1 0 1g 0 part /boot
├─sda2 8:2 0 2g 0 part
│ └─cl-swap 253:0 0 2g 0 lvm [swap]
└─sda3 8:3 0 17g 0 part /
sdb 8:16 0 20g 0 disk
├─sdb1 8:17 0 15g 0 part /var/lib/ceph/osd/ceph-0
└─sdb2 8:18 0 5g 0 part
sdc 8:32 0 20g 0 disk
├─sdc1 8:33 0 15g 0 part /var/lib/ceph/osd/ceph-1
└─sdc2 8:34 0 5g 0 part
sr0 11:0 1 7.7g 0 rom /mnt/cdrom
rbd0 252:0 0 1g 0 disk /mnt/aa
ceph常用命令
1.刪除osd a 凍結需要刪除的osd root node01 ceph osd out osd.4 marked out osd.4.b 用ceph w 檢視被凍結的osd遷移動作,遷移結束後繼續 無讀寫 c 停止要刪除的osd的程序或者服務 root node05 etc init.d cep...
Ceph常用命令
一 ceph集群常用命令 1 ceph狀態查詢常用命令 1 檢視ceph集群狀態 ceph s 2 檢視mon狀態 ceph mon stat 狀態說明 集群內 in 集群外 out 或者且在執行 up 掛了且不再執行 down 3 檢視osd狀態 ceph osd stat 4 檢視osd目錄樹 ...
其他常用命令
顯示兩個檔案不一樣的行 diff file1 file2 選項 i 不區分大小寫 c 按照標準格式輸出 顯示檔案大小 du a s directory a 顯示每個檔案的大小 s 總計 確定檔案型別 file filename 顯示相應檔案的前幾行 head number filename 顯示當前...