Ceph 文件系统 (CephFS) :: 逐步配置

转载

CephFS

Ceph 文件系统是一个符合 POSIX 标准的文件系统,它使用 Ceph 存储集群来存储其数据。 这是唯一一个尚未准备好用于生产的 Ceph 组件,我想说它准备好用于预生产环境。

内部结构

感谢 https://docs.ceph.net.cn/docs/master/cephfs/ 提供图片 

CephFS 的要求

  • 您需要一个正在运行的 Ceph 集群,并且至少有一个 MDS 节点。 MDS 对于 CephFS 的工作是必需的。

  • 如果您 没有 MDS,请配置一个

  • # ceph-deploy mds create

注意: 如果您硬件不足或想节省硬件,可以将 MDS 服务运行在现有的监视器节点上。 MDS 服务 不需要 太多资源

  • 一个 Ceph 客户端来挂载 CephFS

配置 CephFS

  • 在客户端节点上安装 Ceph

[root@storage0101-ib ceph]# ceph-deploy install na_fedora19
[ceph_deploy.cli][INFO ] 调用 (1.3.2): /usr/bin/ceph-deploy install na_fedora19
[ceph_deploy.install][DEBUG ] 正在安装稳定的 emperor 版本到 ceph 主机 na_csc_fedora19
[ceph_deploy.install][DEBUG ] 检测主机 na_fedora19 的平台...
[na_csc_fedora19][DEBUG ] 连接到主机: na_csc_fedora19
[na_csc_fedora19][DEBUG ] 检测远程主机的平台信息
[na_csc_fedora19][DEBUG ] 检测机器类型
[ceph_deploy.install][INFO ] 分发信息: Fedora 19 Schrödinger’s Cat
[na_csc_fedora19][INFO ] 正在 na_fedora19 上安装 ceph
[na_csc_fedora19][INFO ] 运行命令: rpm --import https://ceph.net.cn/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
[na_csc_fedora19][INFO ] 运行命令: rpm -Uvh --replacepkgs --force --quiet https://ceph.net.cn/rpm-emperor/fc19/noarch/ceph-release-1-0.fc19.noarch.rpm
[na_csc_fedora19][DEBUG ] ########################################
[na_csc_fedora19][DEBUG ] 正在更新 / 安装...
[na_csc_fedora19][DEBUG ] ########################################
[na_csc_fedora19][INFO ] 运行命令: yum -y -q install ceph

[na_csc_fedora19][ERROR ] 警告: RPMDB 在 yum 之外被修改。
[na_csc_fedora19][DEBUG ] Ceph 没有 Presto 元数据可用
[na_csc_fedora19][INFO ] 运行命令: ceph --version
[na_csc_fedora19][DEBUG ] ceph 版本 0.72.2 (a913ded2ff138aefb8cb84d347d72164099cfd60)
[root@storage0101-ib ceph]#

  • 为 CephFS 创建一个新池

# rados mkpool cephfs

  • 为 cephfs 创建一个新的密钥环 (client.cephfs)

# ceph auth get-or-create client.cephfs mon 'allow r' osd 'allow rwx pool=cephfs' -o /etc/ceph/client.cephfs.keyring

  • 从密钥环中提取密钥

# ceph-authtool -p -n client.cephfs /etc/ceph/client.cephfs.keyring > /etc/ceph/client.cephfs

  • 将密钥文件复制到客户端节点下的 /etc/ceph。 这允许在启用 cephx 身份验证时挂载文件系统

# scp client.cephfs na_fedora19:/etc/ceph
client.cephfs 100% 41 0.0KB/s 00:00

  • 列出 Ceph 集群上的所有密钥

# ceph auth list

选项 1:使用内核驱动程序挂载 CephFS

  • 在客户端机器上,在 /etc/fstab 中添加挂载点。 提供 Ceph 监视器节点的 IP 地址和上面创建的密钥文件的路径

192.168.200.101:6789:/ /cephfs ceph name=cephfs,secretfile=/etc/ceph/client.cephfs,noatime 0 2

  • 挂载 cephfs 挂载点,您可能会看到一些“mount: error writing /etc/mtab: Invalid argument”但您可以忽略它们并检查 df -h

[root@na_fedora19 ceph]# mount /cephfs
mount: error writing /etc/mtab: Invalid argument

[root@na_fedora19 ceph]#
[root@na_fedora19 ceph]# df -h
文件系统 大小 已用 可用 使用率 挂载点
/dev/vda1 7.8G 2.1G 5.4G 28% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 288K 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 2.6M 3.9G 1% /tmp
192.168.200.101:6789:/ 419T 8.5T 411T 3% /cephfs
[root@na_fedora19 ceph]#

选项 2:将 CephFS 挂载为 FUSE

  • 将 ceph 配置文件 (ceph.conf) 从监视器节点复制到客户端节点,并确保它具有 644 的权限

# scp ceph.conf na_fedora19:/etc/ceph

# chmod 644 ceph.conf

  • 将密钥文件从监视器节点复制到客户端节点下的 /etc/ceph。 这允许在启用 cephx 身份验证时挂载文件系统(我们之前已经完成此操作)

# scp client.cephfs na_fedora19:/etc/ceph
client.cephfs 100% 41 0.0KB/s 00:00

  • 确保客户端机器上安装了“ceph-fuse”软件包

# rpm -qa | grep -i ceph-fuse
ceph-fuse-0.72.2-0.fc19.x86_64

  • 要将 Ceph 文件系统作为 FUSE 挂载,请使用 ceph-fuse 命令

[root@na_fedora19 ceph]# ceph-fuse -m 192.168.100.101:6789 /cephfs
ceph-fuse[3256]: 正在启动 ceph 客户端
ceph-fuse[3256]: 正在启动 fuse
[root@na_csc_fedora19 ceph]#

[root@na_fedora19 ceph]# df -h
文件系统 大小 已用 可用 使用率 挂载点
/dev/vda1 7.8G 2.1G 5.4G 28% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 292K 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 2.6M 3.9G 1% /tmp
ceph-fuse 419T 8.5T 411T 3% /cephfs
[root@na_fedora19 ceph]#