设为首页 收藏本站
查看: 2113|回复: 0

[经验分享] ceph(rbd、cephfs)磁盘挂载详解

[复制链接]

尚未签到

发表于 2019-2-2 09:37:09 | 显示全部楼层 |阅读模式
客户端内核要求
1:RBD方式挂载
2:cephfs 挂载
3:对象文件上传下载

###########################客户端内核要求##############################

1:升级client端内核
操作系统使用CentOS6.6,因为系统已经包含xfs的支持可以直接使用不需要再次编译。
由于CentOS6.5系统的内核为2.6.32,因此要关闭硬盘的写入缓存,若高于此版本不需要关闭。
#hdparm -W 0 /dev/sdb 0


2:升级系统内核
kernel 2.6.34以前的版本是没有Module rbd的,把系统内核版本升级到最新
rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml  -y


3:安装完内核后修改/etc/grub.conf配置文件使
修改配置文件中的 Default=1 to Default=0


4:验证内核支持
[首先加载ceph.ko]
#modprobe -l|grep ceph
kernel/fs/ceph/ceph.ko
kernel/net/ceph/libceph.ko
#modprobe  ceph

5:机器重启后生效 init 6




####################RBD方式挂载###################################


1:安装ceph软件包、同步集群配置文件和key
Yum install ceph –y


2:新建一个ceph pool
ceph osd pool create {pool-name} {pg-num} [{pgp-num}]   实例


ceph osd pool create rbdpool 100 100


3:在pool中新建一个镜像
rbd create rbdpoolimages --size 80960 -p rbdpool   或者 rbd create rbdpool/rbdpoolimages --size 102400



4:列出块设备在一个特定的池,执行以下命令并替换大括号内相关{POOLNAME}池名称:
rbd ls rbdpool


5:查询一个池内的镜像信息,执行下面的,更换{镜像}的镜像名称和池名称替换{池名称}:
rbd --image {image-name} -p {pool-name} info 示例:


rbd --image rbdpoolimages -p rbdpool info
rbd image 'rbdpoolimages':
        size 80960 MB in 20240 objects
        order 22 (4096 kB objects)
        block_name_prefix: rb.0.1272.238e1f29
        format: 1


6:把镜像映射到pool块设备中
rbd map rbdpoolimages -p rbdpool   
/dev/rbd1


7:取消映射块设备:
使用RBD命令要取消映射块设备镜像,指定rm选项,设备名称(即,一般以作为块设备映像名称相同)
rbd unmap /dev/rbd/{poolname}/{imagename}
例如:
rbd unmap /dev/rbd1

8:查看镜像映射map

rbd showmapped
                  
id pool    image         snap device   
1  rbdpool rbdpoolimages -    /dev/rbd1

9:格式化映射的设备块
mkfs.xfs -m0 /dev/rbd1

参数:-m reserved-blocks-percentage,保留块百分比,-m:设置预留空间
默认是5%。也就是2G的空间,文件系统只是有2G*95%

10:挂载新建的分区
mkdir  /rbddir
mount /dev/rbd1 /rbddir
df -h
/dev/rbd0        78G   56M   78G   1% /rbddir


11:把挂载的信息写到fstab里

/dev/rbd0                    /rbddir                 xfs     defaults        0 0


12:查看创建的池
ceph osd lspools


13:从池中取出一个块设备,请执行以下命令,请更换大括号内相关的镜像的名字,池的名称替换{池名称}的名称及替换大括号内{镜像}名称:  
rbd rm {image-name} -p {pool-name}   示例:
rbd rm rbdpoolimages -p rbdpool


14:删除池
ceph osd pool delete kman kman --yes-i-really-really-mean-it




15:创建池参考资料
http://docs.openfans.org/ceph/ceph4e2d658765876863/ceph-1/ceph-storage-cluster3010ceph5b5850a896c67fa43011/operations301064cd4f5c3011/pools30106c603011



##########################cephFS挂载####################################

创建cephfs文件系统
对于一个刚创建的MDS服务,虽然服务是运行的,但是它的状态直到创建 pools 以及文件系统的时候才会变为Active.

1:查看cephfs 状态命令:
ceph mds dump




2:创建cephfs 存储池
ceph osd pool create {pool-name} {pg-num} [{pgp-num}]
    {pool-name}--> 存储池名称,必须唯一。
    {pg-num}--> 存储池拥有的归置组总数。
    {pgp-num}--> 用于归置的归置组总数。

ceph osd pool create cephfs_data 10
ceph osd pool create cephfs_metadata 10
ceph fs new leadorfs  cephfs_metadata cephfs_data

3:验证数据生成
[root@web-3-136 ~]# ceph mds stat
e10: 1/1/1 up {0=dn-5-228=up:active}, 2 up:standby


##########################cephfs客户端挂载###############################
1:安装客户端挂载软件
yum install ceph-fuse -y

2:创建挂载目录
mkdir /cephfs

磁盘挂载

3.1:使用密钥挂载


ceph auth list    #查找client.admin    密钥

client.admin
        key: AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
        caps: [mds] allow
        caps: [mon] allow *
        caps: [osd] allow *


挂载:
mount -t ceph 172.17.5.225:6789:/ /cephfs -o name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==

4:验证挂载结果:
df -Th         
Filesystem              Type    Size  Used Avail Use% Mounted on
172.17.5.225:6789:/    ceph     30T  648M   30T   1% /cephfs

5:证书来源位置
more /etc/ceph/ceph.client.admin.keyring   #key证书来源
[client.admin]
        key = AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==
        

6:使用密钥文件挂载
mount  -t ceph node01:6789:/ /cephfs -v -o name=admin,secretfile=/etc/ceph/ceph.client.admin.keyring  或

mount.ceph 172.17.5.225:6789:/ /cephfs -o name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==  

7:若果有多个mon监控节点,可以挂载多可节点,保证了cephFS的安全行,当有一个节点down的时候不影响写入数据

mount.ceph dn-5-225,dn-5-227,dn-5-229:/ /cephfs -o name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==

8:验证挂载信息:
config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.


df -h
Filesystem                                     Size  Used Avail Use% Mounted on
172.17.5.225,172.17.5.227,172.17.5.229:/
                                               30T  648M   30T   1% /cephfs


9:把挂载的信息写到fstab里
[root@client ~]# vi /etc/fstab
172.17.5.225,172.17.5.227,172.17.5.229:/  /cephfs   ceph  name=admin,secret=AQADm49VtOnOORAAX9Toe4luaBKJPLsh2gmUCA==,0    0

10:ceph-fuse指定key文件的调用方式

ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m dn-5-225 /cephfs

11:验证挂载信息:
df -h
ceph-fuse              30T  648M   30T   1% /cephfs





12:文件系统表以下内容添加到/etc/fstab中
id=admin,conf=/etc/ceph/ceph.conf /cephfs       fuse.ceph defaults 0 0


13:执行挂载
[root@web-3-136 ~]# mount -a
ceph-fuse[11305]: starting ceph client
2015-07-15 16:49:29.322048 7f3325caa760 -1 init, newargv = 0x47e97d0 newargc=13
ceph-fuse[11305]: starting fuse



14:验证挂载信息:

[root@web-3-136 ~]# df -Th
Filesystem                Type    Size  Used Avail Use% Mounted on
ceph-fuse
                         fuse.ceph-fuse     30T  648M   30T   1% /cephfs


15:挂载后查看结果,注意观察类型
df -Th


参考文档
http://docs.openfans.org/ceph/ceph4e2d658765876863/ceph-1/copy_of_ceph-filesystem301065874ef67cfb7edf3011/manpage-mount-ceph3010mount-ceph5e2e52a998753011




####################对象文件上传,查看###########################
1:创建一个pool
#rados mkpool

2:上传rados put {object-name} {file-path} --pool=putdir
示例
  rados put zabbix_client_install.tar.gz ./zabbix_client_install.tar.gz --pool=putdir
3:查看上传内容:
rados -p putdir ls
zabbix_client_install.tar.gz
4:下载对象文件
下载 rados get {object-name} {file-path} --pool=putdir

rados get zabbix_client_install.tar.gz  /workspace/zabbix_client_install.tar.gz -p putdir


#####################################################################
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670730-1-1.html 上篇帖子: ceph 添加删除磁盘mon osd mds 下篇帖子: ceph集群jewel版本 rbd 块map 报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表