ceph mount失败,(95)操作不受支持

时间:2017-11-02 09:41:15

标签: storage ceph

我在服务器上安装了ceph" A"和" B"而且我想从" C"或" D"服务器

但我遇到了以下错误。

ceph-fuse[4628]: ceph mount failed with (95) Operation not supported

我的服务器配置如下。

A Server: ubunt16.04(ceph-server) 10.1.1.54
B Server: ubuntu16.04(ceph-server) 10.1.1.138
C Server: AmazonLinux(clinet)
D Server: ubuntu16.04(client)

和ceph.conf

[global]
fsid = 44f299ac-ff11-41c8-ab96-225d62cb3226
mon_initial_members = node01, node02
mon_host = 10.1.1.54,10.1.1.138
auth cluster required = none
auth service required = none
auth client required = none
auth supported = none
osd pool default size = 2
public network = 10.1.1.0/24

Ceph也正确安装。

ceph health

HEALTH_OK

ceph -s

  cluster 44f299ac-ff11-41c8-ab96-225d62cb3226
     health HEALTH_OK
     monmap e1: 2 mons at {node01=10.1.1.54:6789/0,node02=10.1.1.138:6789/0}
            election epoch 12, quorum 0,1 node01,node02
     osdmap e41: 2 osds: 2 up, 2 in
            flags sortbitwise,require_jewel_osds
      pgmap v100: 64 pgs, 1 pools, 306 bytes data, 4 objects
            69692 kB used, 30629 MB / 30697 MB avail
                  64 active+clean

使用ceph-fuse命令时发生错误。

sudo ceph-fuse -m 10.1.1.138:6789 /mnt/mycephfs/ --debug-auth=10 --debug-ms=10
ceph-fuse[4628]: starting ceph client
2017-11-02 08:57:22.905630 7f8cfdd60f00 -1 init, newargv = 0x55779de6af60 newargc=11
ceph-fuse[4628]: ceph mount failed with (95) Operation not supported
ceph-fuse[4626]: mount failed: (95) Operation not supported

我收到错误说'#34; ceph mount失败,(95)操作不受支持"

我添加了一个选项" - auth-client-required = none"

sudo ceph-fuse -m 10.1.1.138:6789 /mnt/mycephfs/ --debug-auth=10 --debug-ms=10 --auth-client-required=none
ceph-fuse[4649]: starting ceph client
2017-11-02 09:03:47.501363 7f1239858f00 -1 init, newargv = 0x5597621eaf60 newargc=11

行为已更改,此处无响应。

如果未使用ceph-fuse命令,则出现以下错误。

sudo mount -t ceph 10.1.1.138:6789:/ /mnt/mycephfs

can't read superblock

不知何故,似乎有必要通过" auth supported = none"

与客户进行身份验证

在这种情况下,你怎么能通过认证表单服务器" c"或" d"?

请告诉我,如果除了身份验证之外还有可能的原因。

2 个答案:

答案 0 :(得分:1)

我认为您需要更多步骤,例如格式化文件系统,所以 为了您的目的,您应该再次检查安装步骤,Ceph为每个服务提供多个组件,例如对象存储,块存储,文件系统和API。并且每个服务都需要其配置步骤。

此安装gude对您的案例很有帮助。

https://github.com/infn-bari-school/cloud-storage-tutorials/wiki/Ceph-cluster-installation-(jewel-on-CentOS)

如果要构建用于测试的Ceph文件系统,可以按照以下安装步骤构建小尺寸的CephFS。 我将跳过步骤和CLI用法的详细信息,您可以从官方文档中获取更多信息。

环境信息

  • Ceph版本:Jewel,10.2.9
  • OS:CentOS 7.4

安装Ceph文件系统之前的先决条件。

  • 此配置需要4个节点,

    • ceph-admin node:deploy monitor,metadata server
    • ceph-osd0:osd service
    • ceph-osd1:osd service
    • ceph-osd2:osd service
  • 启用NTP - 所有节点

  • 用于部署ceph组件的操作系统用户需要升级权限设置(例如sudoers)
  • SSH公钥配置(路线:ceph-admin - > OSD节点)

在ceph-admin管理节点上安装ceph-deploy工具。

# yum install -y ceph-deploy

为Ceph文件系统部署所需的Ceph组件

  1. 使用普通操作系统用户在ceph-admin管理节点上创建集群(用于部署ceph组件)

    $ mkdir ./cluster

    $ cd ./cluster

    $ ceph-deploy new ceph-admin

  2. 将ceph.conf修改为群集目录。

    $ vim ceph.conf

    [global]

    ..snip...

    mon_initial_members = ceph-admin

    mon_host = $MONITORSERVER_IP_OR_HOSTNAME

    auth_cluster_required = cephx

    auth_service_required = cephx

    auth_client_required = cephx

    # the number of replicas for objects in the pool, default value is 3

    osd pool default size = 3

    public network = $YOUR_SERVICE_NETWORK_CIDR

  3. 将monitor和osd服务安装到相关节点。

    $ ceph-deploy install --release jewel ceph-admin ceph-osd0 ceph-osd1 ceph-osd2

  4. 启动监控服务

    $ ceph-deploy mon create-initial

  5. 创建OSD设备

    ceph-deploy osd list ceph-osd{0..2}:vdb

  6. 为Ceph文件系统服务添加元数据服务器组件。

    1. 添加元数据服务器(此服务仅需要Ceph文件系统)

      ceph-deploy mds create ceph-admin

    2. 检查状态

      ceph mds stat

    3. 为cephFS创建池

      ceph osd pool create cephfs_data_pool 64

      ceph osd pool create cephfs_meta_pool 64

    4. 创建ceph文件系统

      ceph fs new cephfs cephfs_meta_pool cephfs_data_pool

    5. 挂载Ceph文件系统

      1. 节点上需要安装的ceph-fuse包。

      2. mount as cephFS

        ceph-fuse -m MONITOR_SERVER_IP_OR_HOSTNAME:PORT_NUMBER <LOCAL_MOUNTPOINT>

      3. ...完

答案 1 :(得分:1)

我通过修复三个设置解决了这个问题。

1

ceph.conf中的auth设置返回如下

auth cluster required = cephx
auth service required = cephx
auth client required = cephx

2

公共网络错了。

public network = 10.1.1.0/24

public network = 10.0.0.0/8

我的客户端IP地址是10.1.0.238 ... 这是一个愚蠢的错误。

3

我将秘密选项更改为secretfile选项,一切都很好。

在这种情况下,它失败了。

sudo mount -t ceph 10.1.1.138:6789:/ /mnt/mycephfs -o name=client.admin,secret=`sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring`

输出:

mount error 1 = Operation not permitted

但在这种情况下,它取得了成功。

sudo mount -vvvv -t ceph 10.1.1.138:6789:/ /mnt/mycephfs -o name=admin,secretfile=admin.secret

输出:

parsing options: rw,name=admin,secretfile=admin.secret
mount: error writing /etc/mtab: Invalid argument

※参数无效错误似乎被忽略了。

显然,两者都是同一把钥匙。

sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring
AQBd9f9ZSL46MBAAqwepJDC5tuIL/uYp0MXjCA==


cat admin.secret 
AQBd9f9ZSL46MBAAqwepJDC5tuIL/uYp0MXjCA==

我不知道原因,但我可以使用secretfile选项挂载。