ceph客户端使用_CEPH应用

CEPH应用

1、块存储:使用最多的一种方式

2、cephFS:了解,不建议在生产环境中使用,因为还不成熟

3、对象存储:了解,使用亚马逊的s3

使用RBD(Rados块设备)

1、查看存储池

[root@node1 ~]# ceph  osd  lspools

可以查看到0号镜像池,名字为rbd

2、创建名为demo-img的镜像大小为10GB

[root@node1 ~]# rbd create demo-img --image-feature layering --size 10G

[root@node1 ~]# rbd  list

[root@node1 ~]# rbd info demo-img

3、创建第2个镜像,名为image,指定它位于rbd池中

[root@node1 ~]# rbd create rbd/image --image-feature layering --size 10G

在node1-node3上编写UDEV规则,使得vdb1和vdb2重启后,属主属组仍然是ceph

[root@node1 ~]# vim /etc/udev/rules.d/90-cephdisk.rules

ACTION=="add", KERNEL=="vdb[12]", OWNER="ceph", GROUP="ceph"

使用RBD(Rados块设备)

1、查看存储池

[root@node1 ~]# ceph  osd  lspools

可以查看到0号镜像池,名字为rbd

2、创建名为demo-img的镜像大小为10GB

[root@node1 ~]# rbd create demo-img --image-feature layering --size 10G

[root@node1 ~]# rbd  list

[root@node1 ~]# rbd  info  demo-img

3、创建第2个镜像,名为image,指定它位于rbd池中

[root@node1 ~]# rbd create rbd/image --image-feature layering --size 10G

4、将image镜像大小缩减为7G

[root@node1 ceph-clu]# rbd resize --size 7G image --allow-shrink

[root@node1 ceph-clu]# rbd info image

5、扩容image到15G

[root@node1 ceph-clu]# rbd resize --size 15G image

[root@node1 ceph-clu]# rbd info image

6、将node6作为客户端,使用ceph创建的镜像作为存储设备

(1)安装客户端软件

[root@node6 ~]# yum install -y ceph-common

(2)拷贝相关文件

[root@node1 ceph-clu]# scp /etc/ceph/ceph.conf node6:/etc/ceph/

[root@node1 ceph-clu]# scp /etc/ceph/ceph.client.admin.keyring node6:/etc/ceph/

注:ceph.conf是配置文件,里面记录了ceph集群访问的方式和地址

ceph.client.admin.keyring是client.admin用户的密钥文件

(3)映射image镜像到本地

[root@node6 ~]# rbd  map  image

/dev/rbd0       ->rbd0就是映射出来的硬盘文件

[root@node6 ~]# lsblk

[root@node6 ~]# rbd showmapped

(4)格式化、挂载

[root@node6 ~]# mkfs.ext4 /dev/rbd0

[root@node6 ~]# mount /dev/rbd0 /mnt/

[root@node6 ~]# df -h /mnt/

[root@node6 ~]# echo 'hello world' > /mnt/hello.txt

快照

1、查看image镜像的快照

[root@node6 ~]# rbd  snap  ls  image

2、为image创建名为image-sn1的快照

[root@node6 ~]# rbd snap create image --snap image-sn1

3、模拟误删除操作,恢复数据

(1)删除

[root@node6 ~]# rm -f /mnt/hello.txt

(2)卸载设备

[root@node6 ~]# umount  /mnt/

(3)使用image-sn1还原快照

[root@node6 ~]# rbd snap rollback image --snap image-sn1

(4)挂载,查看是否已恢复

[root@node6 ~]# mount /dev/rbd0 /mnt/

[root@node6 ~]# cat /mnt/hello.txt

克隆快照

1、克隆快照,首先要把快照保护起来,防止误删除之类的操作

[root@node6 ~]# rbd snap protect image --snap image-sn1

2、克隆image-sn1快照,克隆的名称是image-cl1

[root@node6 ~]# rbd clone image --snap image-sn1 image-cl1 --image-feature layering

3、查看状态

[root@node6 ~]# rbd info image-cl1

parent: rbd/image@image-sn1

4、合并克隆文件

[root@node6 ~]# rbd flatten image-cl1

[root@node6 ~]# rbd info image-cl1   没有parent了

5、删除

[root@node6 ~]# umount /mnt/

[root@node6 ~]# rbd showmapped

[root@node6 ~]# rbd unmap /dev/rbd/rbd/image

你可能感兴趣的:(ceph客户端使用)