五、安装管理后台
1、 开启dashboard模块
ceph mgr module enable dashboard
2、生成签名
ceph dashboard create-self-signed-cert
3、创建目录
mkdir mgr-dashboard [root@CENTOS7-1 mgr-dashboard]# pwd /usr/local/ceph-cluster/mgr-dashboard
4、生成密钥对
cd /usr/local/ceph-cluster/mgr-dashboard
openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca
5、启动dashboard
ceph mgr module disable dashboard ceph mgr module enable dashboard
6、设置IP与PORT
ceph config set mgr mgr/dashboard/server_addr 192.168.88.161 ceph config set mgr mgr/dashboard/server_port 18843
7、关闭HTTPS
ceph config set mgr mgr/dashboard/ssl false
8、查看服务信息
[root@CENTOS7-1 mgr-dashboard]# ceph mgr services { "dashboard": "https://node1:8443/" }
9、 设置管理用户与密码
ceph dashboard set-login-credentials admin admin
10、访问
六、创建Cephfs
集群创建完后, 默认没有文件系统, 我们创建一个 Cephfs 可以支持对外访问的文件系统。
ceph-deploy --overwrite-conf mds create CENTOS7-1 CENTOS7-2 CENTOS7-3
1、创建两个存储池, 执行两条命令:
ceph osd pool create cephfs_data 128 ceph osd pool create cephfs_metadata 64
少于 5 个 OSD 可把 pg_num 设置为 128
OSD 数量在 5 到 10 ,可以设置 pg_num 为 512
OSD 数量在 10 到 50 ,可以设置 pg_num 为 4096
OSD 数量大于 50 ,需要计算 pg_num 的值
通过下面命令可以列出当前创建的存储池:
ceph osd lspools
2.、创建fs, 名称为fs_test:
ceph fs new fs_test cephfs_metadata cephfs_data
3、状态查看, 以下信息代表正常:
[root@CENTOS7-1 mgr-dashboard]# ceph fs ls name: fs_test, metadata pool: cephfs_metadata, data pools: [cephfs_data ] [root@CENTOS7-1 ceph-cluster]# ceph mds stat fs_test-1/1/1 up {0=CENTOS7-2=up:active}, 2 up:standby
附: 如果创建错误, 需要删除, 执行:
ceph fs rm fs_test --yes-i-really-mean-it ceph osd pool delete cephfs_data cephfs_data --yes-i-really-really-mean-it
确保在ceph.conf中开启以下配置:
[mon] mon allow pool delete = true
4、采用fuse挂载
先确定 ceph-fuse 命令能执行, 如果没有, 则安装:
yum -y install ceph-fuse
5、创建挂载目录
mkdir -p /usr/local/cephfs_directory
6、挂载cephfs
ceph-fuse -k /etc/ceph/ceph.client.admin.keyring -m 192.168.88.161:6789 /usr/local/cephfs_directory
7、查看磁盘挂载信息
/usr/local/cephfs_directory 目录已成功挂载。
七、客户端连接验证(Rados Java)
1、安装好JDK、GIT和MAVEN
2、下载rados java客户端源码
git clone https://github.com/ceph/rados-java.git
下载目录位置:
3、执行MAVEN安装, 忽略测试用例:
[root@CENTOS7-1 rados-java]# mvn install -Dmaven.test.skip=true 生成jar包, rados-0.7.0.jar
4、创建软链接, 加入CLASSPATH
ln -s /usr/local/sources/rados-java/target/rados-0.7.0.jar /opt/jdk1.8.0_301/jre/lib/ext/rados-0.7.0.jar
安装jna
yum -y install jna
创建软链接
ln -s /usr/share/java/jna.jar /opt/jdk1.8.0_301/jre/lib/ext/jna.jar
查看
[root@CENTOS7-1 target]# ll /opt/jdk1.8.0_301/jre/lib/ext/jna.jar lrwxrwxrwx 1 root root /opt/jdk1.8.0_301/jre/lib/ext/jna.jar -> /usr/share/java/jna.jar [root@CENTOS7-1 target]# ll /opt/jdk1.8.0_301/jre/lib/ext/rados-0.7.0.jar lrwxrwxrwx 1 root root /opt/jdk1.8.0_301/jre/lib/ext/rados- 0.7.0.jar -> /usr/local/sources/rados-java/target/rados-0.7.0.jar
5、创建JAVA测试类
CephClient 类,注意, 最新版 0.6 的异常处理包位置已发生变化。
importcom.ceph.rados.Rados; importcom.ceph.rados.exceptions.*; importjava.io.File; publicclassCephClient{ publicstaticvoidmain(Stringargs[]){ try{ Radoscluster=newRados("admin"); System.out.println("Createdclusterhandle."); Filef=newFile("/etc/ceph/ceph.conf"); cluster.confReadFile(f); System.out.println("Readtheconfigurationfile."); cluster.connect(); System.out.println("Connectedtothecluster."); }catch(RadosExceptione){ System.out.println(e.getMessage()+":"+e.getReturnValue()); } } }
6、运行验证
需要在 linux 环境下运行,且要在 client 节点。
编译并运行:
[root@CENTOS7-1 sources]# javac CephClient.java [root@CENTOS7-1 sources]# java CephClient Created cluster handle. Read the configuration file. Connected to the cluster.
成功与 ceph 建立连接。
注意:如果 java 和 javac 版本不同,可以使用 rpm -qa |grep java 进行查找, rpm -e --nodeps jdk进行删除,source /etc/profile 进行生效
jdk 的位数为 64 位