獲取映像列表
要掛載塊設備映像,先羅列出所有的映像。
rbd list
映射塊設備
用 rbd 把映像名映射為內核模塊。必須指定映像名、存儲池名、和用戶名。若 RBD 內核模塊尚未加載, rbd 命令會自動加載。
sudo rbd map {pool-name}/{image-name} --id {user-name}
例如:
sudo rbd map rbd/myimage --id admin
如果你啟用了 cephx 認證,還必須提供密鑰,可以用密鑰環或密鑰文件指定密鑰。
sudo rbd map rbd/myimage --id admin --keyring /path/to/keyring
sudo rbd map rbd/myimage --id admin --keyfile /path/to/file
取消塊設備映射
要取消塊設備映射,用 rbd 命令、指定 unmap 選項和設備名(即為方便起見使用的同名塊設備映像)。
sudo rbd unmap /dev/rbd/{poolname}/{imagename}
例如:
sudo rbd unmap /dev/rbd/rbd/foo
創建塊設備映像
要想把塊設備加入某節點,你得先在 Ceph 存儲集群中創建一個映像,使用下列命令:
rbd create --size {megabytes} {pool-name}/{image-name}
例如,要在 swimmingpool 這個存儲池中創建一個名為 bar 、大小為 1GB 的映像,執行:
rbd create --size 1024 swimmingpool/bar
如果創建映像時不指定存儲池,它將使用默認的 rbd 存儲池。例如,下面的命令將默認在 rbd 存儲池中創建一個大小為 1GB 、名為 foo 的映像:
rbd create --size 1024 foo
Note
指定此存儲池前必須先創建它,詳情見存儲池。
羅列塊設備映像
要列出 rbd 存儲池中的塊設備,可以用下列命令(即 rbd 是默認存儲池名字):
rbd ls
用下列命令羅列某個特定存儲池中的塊設備,用存儲池的名字替換 {poolname} :
rbd ls {poolname}
例如:
rbd ls swimmingpool
檢索映像信息
用下列命令檢索某個特定映像的信息,用映像名字替換 {image-name} :
rbd info {image-name}
例如:
rbd info foo
用下列命令檢索某存儲池內的映像的信息,用映像名字替換 {image-name} 、用存儲池名字替換 {pool-name} :
rbd info {pool-name}/{image-name}
例如:
rbd info swimmingpool/bar
調整塊設備映像大小
Ceph 塊設備映像是精簡配置,只有在你開始寫入數據時它們才會占用物理空間。然而,它們都有最大容量,就是你設置的 --size 選項。如果你想增加(或減小) Ceph 塊設備映像的最大尺寸,執行下列命令:
rbd resize --size 2048 foo (to increase)
rbd resize --size 2048 foo --allow-shrink (to decrease)
刪除塊設備映像
可用下列命令刪除塊設備,用映像名字替換 {image-name} :
rbd rm {image-name}
例如:
rbd rm foo
用下列命令從某存儲池中刪除一個塊設備,用要刪除的映像名字替換 {image-name} 、用存儲池名字替換 {pool-name} :
rbd rm {pool-name}/{image-name}
例如:
rbd rm swimmingpool/bar
調整RBD鏡像大小
在上面的映射完塊設備格式化掛載后,使用resize命令調整RBD,然后用XFS在線調整特性擴容文件系統。