虚拟化容器,大数据,DBA,中间件,监控。

CephFs cephfs文件系统使用

21 12月
作者:admin|分类:应用管理

1、CephFs介绍


 Ceph File System (CephFS) 是与 POSIX 标准兼容的文件系统, 能够提供对 Ceph 存储集群上的文件访问. Jewel 版本 (10.2.0) 是第一个包含稳定 CephFS 的 Ceph 版本. CephFS 需要至少一个元数据服务器 (Metadata Server - MDS) daemon (ceph-mds) 运行, MDS daemon 管理着与存储在 CephFS 上的文件相关的元数据, 并且协调着对 Ceph 存储系统的访问。  

 对象存储的成本比起普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了做文件共享的时候,直接用文件存储的形式好了,性价比高。

 CephFS 架构,底层是核心集群所依赖的, 包括:

  • OSDs (ceph-osd): CephFS 的数据和元数据就存储在 OSDs 上
  • MDS (ceph-mds): Metadata Servers, 管理着 CephFS 的元数据
  • Mons (ceph-mon): Monitors 管理着集群 Map 的主副本

 

 2、配置 CephFS MDS


  要使用 CephFS, 至少就需要一个 metadata server 进程。可以手动创建一个 MDS, 也可以使用 ceph-deploy 或者 ceph-ansible 来部署 MDS。  

 

 

3、部署Ceph文件系统


部署一个 CephFS, 步骤如下:

1. 在一个 Mon 节点上创建 Ceph 文件系统.

2. 若使用 CephX 认证,需要创建一个访问 CephFS 的客户端

3. 挂载 CephFS 到一个专用的节点.

   - 以 kernel client 形式挂载 CephFS

   - 以 FUSE client 形式挂载 CephFS

创建一个 Ceph 文件系统

1、CephFS 需要两个 Pools - cephfs-data 和 cephfs-metadata, 分别存储文件数据和文件元数据

[root@cephnode01 ~]# ceph osd pool create cephfs-data 16 16
pool 'cephfs-data' created
[root@cephnode01 ~]# ceph osd pool create cephfs-metadata 16 16
pool 'cephfs-metadata' created

2、创建一个 CephFS, 名字为 cephfs:

[root@cephnode01 ~]# ceph fs new cephfs cephfs-metadata cephfs-data
new fs with metadata pool 6 and data pool 5

3、验证至少有一个 MDS 已经进入 Active 状态 

[root@cephnode01 ~]# ceph fs status cephfs
cephfs - 0 clients
======
+------+--------+------------+---------------+-------+-------+
| Rank | State  |    MDS     |    Activity   |  dns  |  inos |
+------+--------+------------+---------------+-------+-------+
|  0   | active | cephnode03 | Reqs:    0 /s |   10  |   13  |
+------+--------+------------+---------------+-------+-------+
+-----------------+----------+-------+-------+
|       Pool      |   type   |  used | avail |
+-----------------+----------+-------+-------+
| cephfs-metadata | metadata | 1536k | 3812M |
|   cephfs-data   |   data   |    0  | 3812M |
+-----------------+----------+-------+-------+
+-------------+
| Standby MDS |
+-------------+
|  cephnode02 |
|  cephnode01 |
+-------------+
MDS version: ceph version 14.2.20 (36274af6eb7f2a5055f2d53ad448f2694e9046a0) nautilus (stable)


|  cephnode02 |
|  cephnode01 |
这些是备份的

4、在 Monitor 上, 创建一个用户,用于访问CephFs

[root@cephnode01 ~]# ceph auth get-or-create client.cephfs mon 'allow r' mds 'allow rw' osd 'allow rw pool=cephfs-data, allow rw pool=cephfs-metadata'
[client.cephfs]
	key = AQA2qZRgJO03ERAALlTLxyD1AVxWUPJv0Shxfw==

5、验证key是否生效

[root@cephnode01 ~]# ceph auth get client.cephfs
exported keyring for client.cephfs
[client.cephfs]
	key = AQA2qZRgJO03ERAALlTLxyD1AVxWUPJv0Shxfw==
	caps mds = "allow rw"
	caps mon = "allow r"
	caps osd = "allow rw pool=cephfs-data, allow rw pool=cephfs-metadata"

6、检查CephFs和mds状态 

[root@cephnode01 ~]# ceph mds stat
cephfs:1 {0=cephnode03=up:active} 2 up:standby
[root@cephnode01 ~]# ceph fs ls
name: cephfs, metadata pool: cephfs-metadata, data pools: [cephfs-data ]

 

4、kernel client 形式挂载 CephFS


1、创建挂载目录 cephfs

[root@cephnode03 ~]# mkdir -p /cephfs

2、挂载目录

[root@jenkins-master ~]# mount -t ceph 192.168.179.102:6789,192.168.179.103:6789,192.168.179.104:6789:/ /cephfs/ -o name=cephfs,secret=AQA2qZRgJO03ERAALlTLxyD1AVxWUPJv0Shxfw==


[root@jenkins-master ~]# df -Th
Filesystem                                                       Type      Size  Used Avail Use% Mounted on
/dev/sda3                                                        xfs        24G  8.6G   16G  36% /
devtmpfs                                                         devtmpfs  2.2G     0  2.2G   0% /dev
tmpfs                                                            tmpfs     2.2G     0  2.2G   0% /dev/shm
tmpfs                                                            tmpfs     2.2G  8.7M  2.2G   1% /run
tmpfs                                                            tmpfs     2.2G     0  2.2G   0% /sys/fs/cgroup
/dev/sda1                                                        xfs       497M  128M  369M  26% /boot
overlay                                                          overlay    24G  8.6G   16G  36% /var/lib/docker/overlay2/0a514c93e2d180af50aa6657a9a823a96daab64c3a7c911b1dae13095230f6eb/merged
overlay                                                          overlay    24G  8.6G   16G  36% /var/lib/docker/overlay2/077ee52b9dc04df99eecd85b3639827b6868d45d6c9d47252b5398ec24a78d4b/merged
tmpfs                                                            tmpfs     438M     0  438M   0% /run/user/0
192.168.179.102:6789,192.168.179.103:6789,192.168.179.104:6789:/ ceph       15G  3.1G   12G  21% /cephfs

3、验证是否挂载成功

[root@jenkins-master ~]# stat -f /cephfs
  File: "/cephfs"
    ID: 771fa7fb1c7e12f9 Namelen: 255     Type: ceph
Block size: 4194304    Fundamental block size: 4194304
Blocks: Total: 3837       Free: 3051       Available: 3051
Inodes: Total: 250        Free: -1



[root@jenkins-master ~]# umount /cephfs/

4、自动挂载

# echo "mon1:6789,mon2:6789,mon3:6789:/ /cephfs ceph name=cephfs,secretfile=/etc/ceph/cephfs.key,_netdev,noatime 0 0" | sudo tee -a /etc/fstab

 

浏览456 评论0
返回
目录
返回
首页
kubernetes集群证书一年后过期,如何续期 Ceph RBD块存储 快照创建和克隆