Ceph – RBD Client’a Disk Verme

Amacimiz elimizdeki Ubuntu 14.04 Linux sunucuya Ceph uzerinden  uzerinden 20 GB’lik disk alani vermek. Block access yapacagiz yani RBD Client olacak Ubuntu.

Once Ceph Cluster’daki poollari listeleyelim 

root@cephadm:~# ceph osd lspools 

0 rbd,

Simdi hizlica 20 GB lik bir disk imaji yaratalim ve yarattigmizi gorelim

root@cephadm:~# rbd create ubuntuya-disk –size 20G

root@cephadm:~# rbd ls

ubuntuya-disk

Eger farkli bir pool kullanmak isterseniz -p ile pool adini be;irtebilirsiniz !!!

Daha ayrinti bilgi ister isek

root@cephadm:~# rbd –image ubuntuya-disk info

rbd image ‘ubuntuya-disk’:

size 20480 MB in 5120 objects

order 22 (4096 kB objects)

block_name_prefix: rbd_data.12864b6bae7

format: 2

features: layering

flags:

Client olarak calisacak makinede /etc/hosts dosyasi guncellenmelidir veya DNS calisiyor ise ne ala , sonuc olarak client baglanacagi nodelari bilmeli

Bir sonraki adim dagitima gore degisebilir ama Ubuntu’da asagidaki gibi olacak, kernel’a rbd ekleyelim

noroot@cephosd3:~$ sudo modprobe rbd

noroot@cephosd3:~$ lsmod | grep rbd

rbd                    68638  0

libceph               238931  1 rbd

Client makineme ceph ile ilgili binarylerin kurulmasi lazim , bu kez host name degil ip vererek yapiyorum , bu arada Ubuntu makinemde root kullanicisi aktfi , sudo ve requiretty davalari ile ugrasmiyorum

ceph-deploy install 10.111.21.187

ceph-deploy admin 10.111.21.187 veya ceph.conf ile ceph.cleint.admin.keyring dosyasi/etc/ceph altina kopyalanabilir

Burada ceph.cleint.admin.keyring , tum gerekli islemleri admin olarka client uzerinden yapabiliyorum

Client’da diski gormeye basladim

root@cephosd3:~# rbd list

ubuntuya-disk

Once bu imaji mount edelim sunucuya

root@cephosd3:~# rbd map ubuntuya-disk

/dev/rbd0

Daha fazla ayrinti

root@cephosd3:~# rbd showmapped

id pool image         snap device

0  rbd  ubuntuya-disk –    /dev/rbd0

Geri kalan linux fdisk / mount islemlier

/dev/rbd0p1 on /mnt type xfs (rw)

Simdi bir test 

root@cephosd3:/mnt# dd if=/dev/zero of=output.dat  bs=1024  count=10240

10240+0 records in

10240+0 records out

10485760 bytes (10 MB) copied, 0.0141812 s, 739 MB/s

root@cephosd3:/mnt# dd if=/dev/zero of=output2.dat  bs=1024  count=10240000

10240000+0 records in

10240000+0 records out

10485760000 bytes (10 GB) copied, 187.578 s, 55.9 MB/s

Simdi Disk’i buyutelim

root@cephosd3:/mnt# rbd resize ubuntuya-disk –size 30G

Resizing image: 100% complete…done.

XFS extend –> “xfs_growfs -d /xxx/xxx

Eger burada bir sanal makine diskinden veya imajindan bahsediyor olsa idik bu durumda “qemu-img resize” komutundan bahsedebilirdik.

SnapShot Almak 

/mnt altina birkac dosya yazin sonra snapshot alin

root@cephmon2:~# rbd snap create ubuntuya-disk@snapshot1

Gorelim elimizde ne var 

root@cephmon2:~# rbd snap ls ubuntuya-disk

SNAPID NAME          SIZE

4 snapshot1 40960 MB

Simdi dosyalari silin ve geri donus testi yapalim

root@cephmon2:/mnt# rbd snap rollback ubuntuya-disk@snapshot1

Rolling back to snapshot: 100% complete…done.

Once mount ettigimiz device’i unmount edip tekrardan mount edelim , sonra sildiginiz dosyalar orada.

Bu arada tekrardan snapshot’i kontrol edin , yerinde duruyor olmali

Snapshot silmek icin 

root@cephmon2:/mnt# rbd snap rm ubuntuya-disk@snapshot1

veya hepsini silmek icin

root@cephmon2:/mnt# rbd snap purge ubuntuya-disk

Removing all snapshots: 100% complete…done.

Imaji Silmek Icin 

root@cephosd3:~# rbd unmap ubuntuya-disk

root@cephosd3:~# rbd rm ubuntuya-disk

Removing image: 100% complete…done.

Bu arada Ceph rbd snapshot kullanarak Copy-on-write yapip ayni imaji isaret eden 100 lerce 1000 lerce imaj yaratabilir ve yaziliabilir alt alanlar yaratabilir mesela VDI kullaniyorsunuz tum clientlar windows 7 imajindan acacak , 1000 client lazim , read only snapshot dan 1000 kopya hizlica yaratilabilir mesela . Bunun icin rbd imaj yaratirken –image-format 2 diyerek yaratmalisiniz ve aldiginiz snapshot’i snap protect diyerek readonly yapmalisiniz ,ardindan rbd clone komutuyla snapshot’dan yeni disk imajlarini yaratabilirsiniz, eger x bir zaman icersinde clone degilde ayri bir imaj uzerinden calismak isterseniz rbd flatten ile snapshot icindeki dosyalari yeni imajin icine almak ve clone uzerinden calisma zorunlulugunuzu kaldirabilirsiniz.

Posted on 14/01/2016, in ceph and tagged , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: