创建和使用CephFS

编程入门 行业动态 更新时间:2024-10-08 05:20:06

创建和使用CephFS

创建和使用CephFS

创建和使用CephFS

快速创建CephFS

对于大多数Ceph部署,设置第一个CephFS文件系统非常简单,如下所示

root@node1:~# ceph fs volume create cephfs

手动创建:

创建2个RADOS池

Ceph文件系统至少需要两个RADOS池,一个用于数据,另一个用于元数据

文件系统、元数据池和数据池的名称只能包含集合[a-zA-Z0-9_-.]中的字符。

$ ceph osd pool create cephfs_data
$ ceph osd pool create cephfs_metadata

此命令使用指定的元数据和数据池创建一个新的文件系统。指定的数据池是默认数据池,设置后无法更改。每个文件系统都有自己的一组MDS守护程序分配给列组,因此请确保有足够的备用守护程序可用于容纳新的文件系统。

创建mds服务守护进程

创建 mds.yaml文件

service_type: mds
service_id: fs_name
placement:count: 3

然后可以使用以下方法应用该规范:

ceph orch apply -i mds.yaml
创建文件系统
$ ceph fs new <fs_name> <metadata> <data> [--force] [--allow-dangerous-metadata-overlay] [<fscid:int>] [--recover]            
$ ceph fs new cephfs cephfs_metadata cephfs_data
$ ceph fs ls

挂载CephFS

CephFS 有两种挂载方式,kernel及FUSE mounts。kernel挂载的性能比fuse更好。

作为一个粗略的指南,从Ceph 10.x(Jewell)开始,您应该至少使用4.x内核。如果您必须使用较旧的内核,那么应该使用fuse客户端,而不是内核客户端。

内核驱动挂载

通常,通过内核驱动程序装载CephFS的命令如下所示:

mount -t ceph {device-string}={path-to-mounted} {mount-point} -o {key-value-args} {other-args}

在Ceph集群上,默认情况下会启用CephX。使用mount命令使用内核驱动程序装载CephFS:

mkdir /mnt/mycephfs
mount -t ceph <name>@<fsid>.<fs_name>=/ /mnt/mycephfs

name是用于安装CephFS的CephX用户的用户名。fsid是可以使用ceph-fsid命令找到的ceph集群的fsid。fs_name是要装载的文件系统。内核驱动程序需要MON的套接字和CephX用户的密钥,例如:

root@node1:~# ceph fsid
361628de-f851-11ed-97a2-000c29391d66
root@node1:~# cat /etc/ceph/ceph.client.admin.keyring
[client.admin]key = AQCP4mpk5wgMExAAAOeZLA5mFiYV/Sg3Umqm+A==caps mds = "allow *"caps mgr = "allow *"caps mon = "allow *"caps osd = "allow *"
可以使用secretfile文件echo AQCP4mpk5wgMExAAAOeZLA5mFiYV/Sg3Umqm+A== > cephuser.secret
root@node3:~# mkdir /root/mycephfs
root@node3:~# mount -t ceph admin@361628de-f851-11ed-97a2-000c29391d66.cephfs=/ /root/mycephfs -o mon_addr=172.16.11.135:6789/172.16.11.136:6789,secretfile=/root/cephuser.secret
root@node3:~# df -h
Filesystem                                           Size  Used Avail Use% Mounted on
tmpfs                                                393M  1.5M  391M   1% /run
/dev/mapper/ubuntu--vg-lv--0                          46G  8.5G   36G  20% /
tmpfs                                                2.0G     0  2.0G   0% /dev/shm
tmpfs                                                5.0M     0  5.0M   0% /run/lock
/dev/sda2                                            2.0G  138M  1.7G   8% /boot
tmpfs                                                393M  4.0K  393M   1% /run/user/1000
tmpfs                                                393M  4.0K  393M   1% /run/user/0
overlay                                               46G  8.5G   36G  20% /var/lib/docker/overlay2/d4ccc46e1cce45011bfa5489535e026b32d5fe01997944efab8663b    e6e1e7f25/merged
overlay                                               46G  8.5G   36G  20% /var/lib/docker/overlay2/e1405f4830dbe37d851fbd657d278e5cadfc642e07d7399f50bd3c7    bf51a219a/merged
overlay                                               46G  8.5G   36G  20% /var/lib/docker/overlay2/727a220b46961e2d11ee9d8755a5c7e4275483e793046e7358fa141    179102525/merged
overlay                                               46G  8.5G   36G  20% /var/lib/docker/overlay2/b004a6dd972e3caf5887c51a209d1a883063a738ab45d0d84a72624    3d59b15a0/merged
overlay                                               46G  8.5G   36G  20% /var/lib/docker/overlay2/3cbb7606a098d28712bd4d9e7009d58e45ff64d92ef12c45bf8ebe4    2e1afaaab/merged
admin@361628de-f851-11ed-97a2-000c29391d66.cephfs=/   95G     0   95G   0% /root/mycephfs

内核挂载必须安装ceph-common,否则会报错

root@node3:~#  mount -t ceph admin@361628de-f851-11ed-97a2-000c29391d66.cephfs=/ /root/mycephfs -o mon_addr=172.16.11.135:6789/172.16.11.136:6789,secretfile=/root/cephuser.secret
mount: /root/mycephfs: wrong fs type, bad option, bad superblock on admin@361628de-f851-11ed-97a2-000c29391d66.cephfs=/, missing codepage or helper program    , or other error.

安装ceph-common

root@node3:~# cephadm add-repo --release quincy
root@node3:~# cephadm install ceph-common
持久性装载

要在文件系统表中安装CephFS作为内核驱动程序,请在/etc/fstab中添加以下内容

{name}@.{fs_name}=/ {mount}/{mountpoint} ceph [mon_addr={ipaddress},secret=secretkey|secretfile=/path/to/secretfile],[{mount.options}]  {fs_freq}  {fs_passno}

我们尝试使用以下挂载

admin@361628de-f851-11ed-97a2-000c29391d66.cephfs=/     /root/mycephfs    ceph    mon_addr=172.16.11.135:6789/172.16.11.136:6789/172.16.11.137,secretfile=/root/cephuser.secret,noatime,_netdev    0       0

支持旧语法以实现向后兼容性。
要使用内核驱动程序装载CephFS,请执行以下操作:

mount -t ceph :/ /root/mycephfs -o name=admin
测试CephFS的io速率
吞吐量bw
IOPSIOPS
响应时间lat
提交延迟slat
filename=/dev/emcpowerb 支持文件系统或者裸设备,-filename=/dev/sda2或-filename=/dev/sdb
direct=1                 测试过程绕过机器自带的buffer,使测试结果更真实
rw=randwread             测试随机读的I/O
rw=randwrite             测试随机写的I/O
rw=randrw                测试随机混合写和读的I/O
rw=read                  测试顺序读的I/O
rw=write                 测试顺序写的I/O
rw=rw                    测试顺序混合写和读的I/O
bs=4k                    单次io的块文件大小为4k
bsrange=512-2048         同上,提定数据块的大小范围
size=5g                  本次的测试文件大小为5g,以每次4k的io进行测试
numjobs=30               本次的测试线程为30
runtime=1000             测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止
ioengine=psync           io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包
rwmixwrite=30            在混合读写的模式下,写占30%
group_reporting          关于显示结果的,汇总每个进程的信息
此外
lockmem=1g               只使用1g内存进行测试
zero_buffers             用0初始化系统buffer
nrfiles=8                每个进程生成文件的数量
安装fio软件包
apt-get -y install fio
随机读:
root@node1:~# fio -name=randread -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/root/mycephfs/filetest.txt
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.30
Starting 1 process
randread: Laying out IO file (1 file / 1024MiB)
Jobs: 1 (f=1): [r(1)][100.0%][r=7541KiB/s][r=1885 IOPS][eta 00m:00s]
randread: (groupid=0, jobs=1): err= 0: pid=204836: Wed May 24 09:54:16 2023read: IOPS=1043, BW=4175KiB/s (4275kB/s)(1024MiB/251154msec)slat (usec): min=9, max=18992, avg=24.00, stdev=116.84clat (usec): min=4, max=1441.8k, avg=61285.53, stdev=107963.39lat (usec): min=483, max=1441.8k, avg=61310.69, stdev=107963.14clat percentiles (msec):|  1.00th=[    3],  5.00th=[    5], 10.00th

更多推荐

创建和使用CephFS

本文发布于:2024-02-13 07:02:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757715.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:CephFS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!