我在服务器上安装了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"?
请告诉我,如果除了身份验证之外还有可能的原因。
答案 0 :(得分:1)
我认为您需要更多步骤,例如格式化文件系统,所以 为了您的目的,您应该再次检查安装步骤,Ceph为每个服务提供多个组件,例如对象存储,块存储,文件系统和API。并且每个服务都需要其配置步骤。
此安装gude对您的案例很有帮助。
如果要构建用于测试的Ceph文件系统,可以按照以下安装步骤构建小尺寸的CephFS。 我将跳过步骤和CLI用法的详细信息,您可以从官方文档中获取更多信息。
此配置需要4个节点,
启用NTP - 所有节点
# yum install -y ceph-deploy
使用普通操作系统用户在ceph-admin管理节点上创建集群(用于部署ceph组件)
$ mkdir ./cluster
$ cd ./cluster
$ ceph-deploy new ceph-admin
将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
将monitor和osd服务安装到相关节点。
$ ceph-deploy install --release jewel ceph-admin ceph-osd0 ceph-osd1 ceph-osd2
启动监控服务
$ ceph-deploy mon create-initial
创建OSD设备
ceph-deploy osd list ceph-osd{0..2}:vdb
添加元数据服务器(此服务仅需要Ceph文件系统)
ceph-deploy mds create ceph-admin
检查状态
ceph mds stat
为cephFS创建池
ceph osd pool create cephfs_data_pool 64
ceph osd pool create cephfs_meta_pool 64
创建ceph文件系统
ceph fs new cephfs cephfs_meta_pool cephfs_data_pool
节点上需要安装的ceph-fuse包。
mount as cephFS
ceph-fuse -m MONITOR_SERVER_IP_OR_HOSTNAME:PORT_NUMBER <LOCAL_MOUNTPOINT>
...完
答案 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选项挂载。