【ceph】CentOS7.x上ceph的单机部署和cephFS文件系统的使用

Ceph FS是一个支持POSIX接口的文件系统,它使用 Ceph 存储集群来存储数据。文件系统对于客户端来说可以方便的挂载到本地使用。

Ceph FS构建在RADOS之上,继承RADOS的容错性和扩展性,支持冗余副本和数据高可靠性。



一、实验环境

操作系统:CentOS7.5 Minimal

cephServer(ceph01):192.168.1.106    /dev/sda   /dev/sdb   /dev/sdc

cephClient:192.168.1.104   /dev/sda 

我们实验环境的ceph是用ceph-deploy部署的单机版,也就是说存储并不具备高可用性,主要用于实验cephFS。

我们后续在此基础上,将ceph存储做成集群,再测试ceph的其他存储类型。

本次安装的ceph版本为:ceph version 12.2.11  luminous (stable)



二、安装配置cephServer


更改主机名,添加主机名映射

# hostnamectl  set-hostname  ceph01

#  echo "192.168.1.106  ceph01" >>/etc/hosts


将  /dev/sdc分区,作为OSD的journal日志盘

# parted  -s  /dev/sdc  "mklabel gpt"

# parted  -s  /dev/sdc  "mkpart primary  0% 100%"


设置本机免密登录

# ssh-keygen

# ssh-copy-id root@192.168.1.106

关闭selinux和firewalld

# setenforce 0

# sed  -i  's/^SELINUX=.*/SELINUX=permissive/g'  /etc/selinux/config

# systemctl  stop firewalld

# systemctl disable firewalld 


添加ceph yum仓库

# vim /etc/yum.repos.d/ceph.repo

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

[Ceph]

name=Ceph packages for $basearch

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch

enabled=1

gpgcheck=0

[Ceph-noarch]

name=Ceph noarch packages

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch

enabled=1

gpgcheck=0

[ceph-source]

name=Ceph source packages

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS

enabled=1

gpgcheck=0

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

#  yum -y install epel-release

# yum clean all

#  yum repolist


安装ceph 相关组件

#  yum -y install ceph-deploy

# ceph-deploy --version

# yum -y install  ceph-mds ceph-mgr ceph-osd ceph-mon

# mkdir mycluster

# cd  mycluster


# ceph-deploy new  ceph01

# vim ceph.conf 

增加如下字段:

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

osd_pool_default_size = 1

osd_pool_default_min_size = 1

public_network = 192.168.1.0/24

cluster_network = 192.168.1.0/24

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


#  ceph-deploy  mon create  ceph01

# ceph-deploy  mon create-initial

# ceph-deploy admin  ceph01


#  ceph-deploy  disk  list  ceph01 

# ceph-deploy  disk  zap  ceph01   /dev/sdb  

# ceph-deploy osd create --data /dev/sdb --journal /dev/sdc  ceph01

#  ceph-deploy mgr create  ceph01 

# ceph-deploy  mds  create ceph01


# cd mycluster/

#  ll 

# lsblk

# ll /etc/ceph/


#  systemctl  status ceph*


为cephfs创建存储池

#  ceph osd pool create cephfs_data 128

#  ceph osd pool create  cephfs_metadata 128

#  ceph fs new cephfs cephfs_metadata    cephfs_data


# ceph  fs  ls

#  ceph status 

# ceph  -w 


配置 MGR dashboard


#  ceph mgr module enable dashboard

# vim  /etc/ceph/ceph.conf 

添加如下字段:

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

[mgr]

mgr modules = dashboard

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


设置dashboard的IP和端口

# ceph config-key put mgr/dashboard/server_addr 192.168.1.106

# ceph config-key put mgr/dashboard/server_port 7000


# systemctl restart ceph-mgr@ceph01.service

# systemctl status ceph-mgr@ceph01.service


# ss -tan


浏览器访问: http://192.168.1.106:7000

如果部署过程中有问题,实在无法解决,你也可以推倒重来:

# cd  mycluster

# ceph-deploy purge  ceph01

# ceph-deploy purgedata  ceph01

# ceph-deploy forgetkeys

# rm  -rf  mycluster/*



三、安装配置cephClient


关闭selinux

# setenforce 0

# sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config


客户端要挂载使用cephfs的目录,有两种方式:

1. 使用linux kernel client

2.  使用ceph-fuse

这两种方式各有优劣势,kernel client的特点在于它与ceph通信大部分都在内核态进行,因此性能要更好,缺点是L版本的cephfs要求客户端支持一些高级特性,ceph FUSE就是简单一些,还支持配额,缺点就是性能比较差,实测全ssd的集群,性能差不多为kernel client的一半。


方式一:使用linux kernel client


为了让低版本内核可以使用cephfs,需要手动将cephSever的一些特性关闭

获取到crushmap并解码:

#  ceph osd getcrushmap -o crush.map

# crushtool -d crush.map -o crush.txt

在crumap中关闭两个特性:

tunable chooseleaf_vary_r 0

tunable chooseleaf_stable 0

重新编译并插入crushmap

# crushtool -c crush.txt -o newcrush.map

#ceph osd setcrushmap -i newcrush.map



# cat /etc/ceph/ceph.client.admin.keyring

默认采用ceph-deploy部署ceph集群是开启了cephx认证,需要挂载secret-keyring,即集群mon节点/etc/ceph/ceph.client.admin.keyring文件中的”key”值,采用secretfile可不用暴露keyring,但有1个bug,始终报错:libceph: bad option at 'secretfile=/etc/ceph/admin.secret'

Bug地址: https://bugzilla.redhat.com/show_bug.cgi?id=1030402


# mount -t ceph 192.168.1.106:6789:/      /mnt    -o name=admin,secret=AQDalqxcT2yKOBAAJvtN5ARgpcZLXWN6rdhovw==

#  df  -hT


方式二:使用ceph-fuse


添加ceph yum仓库

# vim /etc/yum.repos.d/ceph.repo

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

[Ceph]

name=Ceph packages for $basearch

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/$basearch

enabled=1

gpgcheck=0

[Ceph-noarch]

name=Ceph noarch packages

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch

enabled=1

gpgcheck=0

[ceph-source]

name=Ceph source packages

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS

enabled=1

gpgcheck=0

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

#  yum -y install epel-release

# yum clean all

#  yum repolist


安装ceph-fuse 相关组件

#  yum -y install ceph-fuse

# rpm -ql ceph-fuse

创建ceph-fuse 相关目录

#  mkdir  /etc/ceph

#  scp  root@192.168.1.106: /etc/ceph/ceph.client.admin.keyring  /etc/ceph

#  scp  root@192.168.1.106: /etc/ceph/ceph.conf    /etc/ceph 

#  chmod  640  /etc/ceph/ceph.client.admin.keyring


创建ceph-fuse的service文件

#  cp /usr/lib/systemd/system/ceph-fuse@.service  /etc/systemd/system/ceph-fuse.service

#  vim  /etc/systemd/system/ceph-fuse.service 

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

[Unit]

Description=Ceph FUSE client

After=network-online.target local-fs.target time-sync.target

Wants=network-online.target local-fs.target time-sync.target

Conflicts=umount.target

PartOf=ceph-fuse.target

[Service]

EnvironmentFile=-/etc/sysconfig/ceph

Environment=CLUSTER=ceph

ExecStart=/usr/bin/ceph-fuse -f -o rw,noexec,nosuid,nodev  /mnt

TasksMax=infinity

Restart=on-failure

StartLimitInterval=30min

StartLimitBurst=3

[Install]

WantedBy=ceph-fuse.target

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

我们将cephfs挂载在客户端/mnt下


# systemctl daemon-reload

# systemctl  start ceph-fuse

# systemctl  status  ceph-fuse


#  df  -hT


测试写入一个大文件

#  dd if=/dev/zero of=/mnt/test  bs=1M count=10000

# df  -hT



四、参考

理解Ceph的三种存储接口:块设备、文件系统、对象存储

https://www.jianshu.com/p/7656fe528488


Ceph FS 基本操作

https://k2r2bai.com/2015/11/21/ceph/cephfs


NFS+CephFS构建基于Ceph的NAS服务

http://www.bocloud.com.cn/news/show-193.html


Ceph Filesystem ( CephFS) :: Step by Step Configuration

https://ceph.com/geen-categorie/ceph-filesystem-cephfs-step-by-step-configuration/


How to build a Ceph Distributed Storage Cluster on CentOS 7

https://www.howtoforge.com/tutorial/how-to-build-a-ceph-cluster-on-centos-7

How to Mount CephFS on CentOS 7

https://www.howtoforge.com/tutorial/how-to-mount-cephfs-on-centos-7


Ceph Storage for Oracle® Linux Release 2.0

https://docs.oracle.com/cd/E52668_01/E66514/html/ceph-cephfS.html


CentOS7.2部署Luminous版Ceph-12.2.0

http://www.hl10502.com/2017/09/13/ceph-deploy-luminous


通过ceph-fuse访问文件系统

https://github.com/unitedstack/UDS-Documentation/blob/master/%E9%80%9A%E8%BF%87ceph-fuse%E8%AE%BF%E9%97%AE%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.md


CEPH-FUSE – FUSE-BASED CLIENT FOR CEPH

http://docs.ceph.com/docs/master/man/8/ceph-fuse/


MOUNT CEPHFS USING FUSE

http://docs.ceph.com/docs/master/man/8/ceph-fuse/


Accessing CephFS via FUSE client

https://www.oreilly.com/library/view/ceph-cookbook/9781784393502/ch04s05.html


CenOS7 下搭建ceph luminous(12.2.1)

http://www.cnblogs.com/sisimi/p/7717297.html

CentOS7部署CephFS

https://www.cnblogs.com/sisimi/p/7976154.html?tdsourcetag=s_pcqq_aiomsg


ceph (分布式文件系统)

https://www.kancloud.cn/ningjing_home/ceph/458296


CEPHFS 最佳实践

https://ceph.seekerliu.com/cephfs/best-practices


Ceph文件系统存储之Ceph FS

https://blog.frognew.com/2017/02/ceph-fs.html


CephFS 使用

https://www.jianshu.com/p/c22ff79c4452


使用ceph的文件存储CephFS

https://blog.csdn.net/zzq900503/article/details/80470785


cephfs初探

http://strugglesquirrel.com/2018/07/17/cephfs%E5%88%9D%E6%8E%A2-%E5%B0%8F%E8%AF%95%E7%89%9B%E5%88%80/


CephFS 介绍及使用经验分享

https://juejin.im/entry/5c3c19466fb9a049db735f2d


基于Ceph分布式存储的Harbor部署方案

https://blog.csdn.net/m0_37886429/article/details/89084549


CEPH FILESYSTEM

https://www.cnblogs.com/netonline/p/10485176.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,306评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,657评论 2 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,928评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,688评论 0 220
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,105评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,024评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,159评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,937评论 0 212
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,689评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,851评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,325评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,651评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,364评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,192评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,985评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,154评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,955评论 2 279