Ceph接口使用
CephFS文件系统
服务端
添加mds服务
---admin---
###在管理节点创建 mds 服务
cd /etc/ceph
ceph-deploy mds create node01 node02 node03
###查看各个节点的 mds 服务
ssh root@node01 systemctl status ceph-mds@node01
ssh root@node02 systemctl status ceph-mds@node02
ssh root@node03 systemctl status ceph-mds@node03
创建存储池
###创建存储池,启用 ceph 文件系统
###ceph 文件系统至少需要两个 rados 池
###一个用于存储数据,一个用于存储元数据。此时数据池就类似于文件系统的共享目录。
ceph osd pool create cephfs_data 128 #创建数据Pool
ceph osd pool create cephfs_metadata 128 #创建元数据Pool
ceph osd lspools ###能查看到资源池的ID号
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/311953eca07c4cc954874844a0772390.png)
###创建 cephfs,命令格式:
ceph fs new <FS_NAME> <CEPHFS_METADATA_NAME> <CEPHFS_DATA_NAME>
ceph fs new mycephfs cephfs_metadata cephfs_data
#启用ceph,元数据Pool在前,数据Pool在后
###查看cephfs
ceph fs ls
###查看mds状态,一个up,其余两个待命,目前的工作的是node01上的mds服务
ceph -s
mds: mycephfs:1 {0=node01=up:active} 2 up:standby
或
ceph mds stat
mycephfs:1 {0=node01=up:active} 2 up:standby
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/488e1703d6a43347dd22204a66eb87f4.png)
授权用户权限
---admin---
###创建用户
###语法格式:ceph fs authorize <fs_name> client.<client_id> <path-in-cephfs> rw
###账户为 client.zhangsan,用户 name 为 zhangsan,zhangsan 对ceph文件系统的 / 根目录(注意不是操作系统的根目录)有读写权限
ceph fs authorize mycephfs client.zhangsan / rw | tee /etc/ceph/zhangsan.keyring
###账户为 client.lisi,用户 name 为 lisi,lisi 对文件系统的 / 根目录只有读权限,对文件系统的根目录的子目录 /test 有读写权限
ceph fs authorize mycephfs client.lisi / r /test rw | tee /etc/ceph/lisi.keyring
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b5264aa85a8f4ec14677d632c2ff36fb.png)
客户端
前期准备
主机名 |
public网络 |
cluster网络 |
角色 |
admin |
192.168.242.69 |
|
admin(管理节点) |
node01 |
192.168.242.66 |
192.168.242.100.11 |
mon、mgr、osd |
node02 |
192.168.242.67 |
192.168.242.100.12 |
mon、mgr、osd |
node03 |
192.168.242.68 |
192.168.242.100.13 |
mon、osd |
client |
192.168.242.70 |
|
client |
####防火墙设置
####关闭 selinux 与防火墙
####客户端要在 public 网络内
systemctl disable --now firewalld
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
###配置时间同步(一定要做)
systemctl enable --now chronyd
timedatectl set-ntp true #开启 NTP
timedatectl set-timezone Asia/Shanghai #设置时区
chronyc -a makestep #强制同步下系统时钟
timedatectl status #查看时间同步状态
chronyc sources -v #查看 ntp 源服务器信息
timedatectl set-local-rtc 0 #将当前的UTC时间写入硬件时钟
###安装常用软件和依赖包
yum -y install epel-release
yum -y install yum-plugin-priorities yum-utils ntpdate python-setuptools python-pip gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel zip unzip ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssh openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers libxslt-devel libevent-devel ntp libtool-ltdl bison libtool vim-enhanced python wget lsof iptraf strace lrzsz kernel-devel kernel-headers pam-devel tcl tk cmake ncurses-devel bison setuptool popt-devel net-snmp screen perl-devel pcre-devel net-snmp screen tcpdump rsync sysstat man iptables sudo libconfig git bind-utils tmux elinks numactl iftop bwm-ng net-tools expect snappy l