cephfs的几种挂载方式

一、启用cephfs
Ceph文件系统至少需要两个RADOS池,一个用于数据,一个用于元数据
启用mds服务

ceph-deploy mds create node01

创建数据pool
ceph osd pool create cephfs_data 128
创建Metadata池
ceph osd pool create cephfs_metadata 128
启用pool
ceph fs new cephfs cephfs_metadata cephfs_data
查看cephfs
ceph fs ls
二、挂载cephfs
挂载cephfs有两种方式,kernel driver和fuse
1、kernel driver挂载
关闭认证情况下
sudo mkdir /mnt/wyl
sudo mount -t ceph 192.168.0.1:6789:/ /mnt/wyl
设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph noatime,_netdev 0 2
1
启用认证

cat ceph.client.admin.keyring

[client.admin]
key = AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==

#mount -t ceph 172.16.70.77:6789:/ /wyl -o name=admin,secret=AQBSdU5bT27AKxAAvKoWQdGpSuNRCHjC4B8DVA==
1
设置开机自动挂载/etc/fstab
172.16.70.77:6789:/ /mnt/ceph ceph name=admin,secretfile=/etc/ceph/secret.key,noatime,_netdev 0 2
1
注意:检查是否启用cephx认证方法,如果值为none为禁用,cephx为启用
[root@node1 ceph]# cat /etc/ceph/ceph.conf | grep auth | grep required
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
1
2、fuse挂载
安装挂载工具

yum -y install ceph-fuse ceph

1
将存储节点的admin秘钥拷贝到本地

ssh root@node1 “ceph-authtool -p /etc/ceph/ceph.client.admin.keyring” > admin.key

1
root@node1’s password:
赋予权限

chmod 600 admin.key

1
执行挂载

mount -t ceph node1:6789:/ /mnt -o name=admin,secretfile=admin.key

df -hT

1
设置开机自动挂载/etc/fstab
id=admin,conf=/etc/ceph/ceph.conf /mnt fuse.ceph defaults 0 0
1
mds可以同时启用多个节点,不同的client挂载不同mds存储节点,不同client可以同时写数据,数据是共享的
3、windows挂载:
https://github.com/ksingh7/ceph-cookbook/tree/master/ceph-dokan
1
安装dokaninstall.exe

现在记录一下cephfs的使用方式。
cephfs使用有两种方式,一种是创建pv,pvc然后挂载,另外一种是pod直接挂载。
第一种方式测试可用,第二种方式未测试。
方式一
创建ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
namespace: gaiatest
data:
key: QVFCbmdmaFlwSHZMS2hBQXRtVlpUeVIzTkp4eDFXT1ZlTG81cFE9PQo= (echo “secret”|base64)
创建ceph-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: ceph-pv
namespace: gaiatest
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
cephfs:
monitors:
- 10.111.131.125:6789
path: /mongoDB
user: admin
readOnly: false
secretRef:
name: ceph-secret
persistentVolumeReclaimPolicy: Recycle
创建ceph-pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: ceph-pvc
namespace: gaiatest
spec:
accessModes:
- ReadWriteMany
volumeName: ceph-pv
resources:
requests:
storage: 1Gi
挂载使用
volumeMounts:
- name: twotest-vl
mountPath: /data/configdb
readOnly: false
volumes:

  • name: uploads
    persistentVolumeClaim:
    claimName: ceph-pvc
    • 1
    • 2
    方式二pod直接挂载
    apiVersion: v1
    kind: Pod
    metadata:
    name: ceph-pod2-with-secret
    spec:
    containers:
  • name: ceph-ubuntu2
    image: ubuntu:14.04
    command: [“tail”, “-f”, “/var/log/bootstrap.log”]
    volumeMounts:
    • name: ceph-vol2
      mountPath: /mnt/cephfs/data
      readOnly: false
      volumes:
  • name: ceph-vol2
    cephfs:
    monitors:
    • ceph_mon_host:6789
      user: admin
      secretFile: “/etc/ceph/admin.secret”
      readOnly: false

你可能感兴趣的:(ceph)