RBD (Rados Block Device)
İçindekiler
RBD Yaratma
Deneme pool’u içinde 3.000.000 MByte’lık bir rbd oluşturalım.
rbd create data --size 3000 000 --pool deneme
RBD Bilgi Alma (RBD info)
Pool içindeki rbd’ları görmek için rbd ls komutunu kullanıyoruz:
root@cephm:/home/ceph# rbd ls deneme data
Daha ayrıntılı bir bilgi almak isterseniz:
root@cephm:/home/ceph# rbd --image data -p deneme info rbd image 'data': size 2929 GB in 750000 objects order 22 (4096 kB objects) block_name_prefix: rb.0.99d69.2ae8944a format: 1
RBD İstemcilere MAP Edilmesi
Deneme altında yarattığımız data rbd’ı kullanmadan önce istemciye map etmemiz gerekiyor bunun için:
root@client:~# rbd map data --pool deneme --name client.admin /dev/rbd1
İstemcilere MAP edilen RBD’lerin Görüntülenmesi
Map edilen rbd’lerin görüntülenmesi için rbd showmapped komutu kullanabilir.
root@client:~# rbd showmapped id pool image snap device 1 deneme data - /dev/rbd1
İstemcilere MAP edilen RBD’lerin Unmap Edilmesi
İlk olarak map ettiğiniz rbd mount edilmiş ise umount etmelisiniz. Ardından rbd unmapped komut ile map edilen rbd’yi kaldırabilirsiniz.
root@client:~# rbd unmap /dev/rbd1
RBD Silinmesi
RBD silmek için rbd’nin herhangi bir istemci tarafından map edilmediğine emin olun. Herhangi bir istemciye map edilmiş bir rbd’yi silmek isterseniz aşağıdaki hatayı alırsınız.
root@cephm:~# rbd rm deneme/data 2015-04-27 15:25:42.573852 7f2a9ac5f840 -1 librbd: image has watchers - not removing Removing image: 0% complete...failed. rbd: error: image still has watchers This means the image is still open or the client using it crashed. Try again after closing/unmapping it or waiting 30s for the crashed client to timeout.
Bu durumda silmei için ilk olarak hangi istemcinin rbd’yi map ettiğine bakalım.
root@cephm:/home/ceph# rados listwatchers --pool deneme data.rbd watcher=172.16.2.106:0/3585843564 client.630175 cookie=1
İstemciden rbd’yi unmap ettikten sonra komutu tekrar çalıştırırsak:
root@cephm:/home/ceph# rbd rm deneme/data Removing image: 100% complete...done.