Ceph其他常用命令(製作塊裝置使用)

2021-09-14 06:34:09 字數 4605 閱讀 4579

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 顯示當前...