1. 部署集群
1.1 安装juicefs客户端
curl -sSL https://d.juicefs.com/install | sh -
1.2 部署tikv
2. 初始化文件系统
juicefs format --storage {storage} --bucket http://{endpoint}/{bucket-name} --access-key {ak} --secret-key {sk} "tikv://{pd-addr}:2379/{instance-name}" {fs-name}
注:如果是CephRados作为对象存储后端,则需要将ceph.conf和ceph.client.admin.keyring拷贝到/etc/ceph/目录下,然后执行format, juicefs.ceph format --storage ceph --bucket ceph://juicefs_data --access-key ceph --secret-key client.admin tikv://idcstorage-tikv-test.info:2379/jfs-test jfs-test, format后可通过bucket中的对象名称前缀找到文件系统名
优化过的juicefs.ceph format方式:
juicefs.ceph format --storage ceph --bucket ceph://idc-storage-test-ceph-mon.info:6789/juicefs_data --access-key admin --secret-key=AQA7yDlhTWdEChAAqpUoPJGLcuQFm8lLB7sdoA== tikv://idcstorage-tikv-test.info:2379/jfs-test jfs-test
3. 挂载
juicefs mount --metrics :9567 tikv://{pd-addr}:2379/{instance-name} {local-mountpoint} -d
如:juicefs mount --metrics :9567 tikv://127.0.0.1:2379/jfs ~/jfs -d
注:实际生产环境中,需要使用注册中心(如Consul),以便mount时将client的exporter node注册到Consul,然后借助prometheus的服务发现配置功能来自动识别需要收集的client metric信息
注:如果是CephRados作为对象存储后端,则需要将ceph.conf和ceph.client.admin.keyring拷贝到/etc/ceph/目录下,然后执行mount, sudo juicefs.ceph mount --consul idcstorage-consul-test-d.info:8500 tikv://idcstorage-tikv-test.info:2379/jfs-test /mnt/jfs_test -d
优化过的juicefs.ceph挂载时不需要ceph.conf和keyring文件
4. 配置监控
4.1 下载安装prometheus 和 grafana
4.2 添加client的metric exporter node到prometheus,并启动prometheus
./prometheus --config.file=./prometheus.yml --web.listen-address=:{port} --web.enable-admin-api --log.level=info --storage.tsdb.path=./data --storage.tsdb.retention=30d
4.3 如果是生产环境,需要给grafana配置内部系统专区的域名,方便办公网访问,如果是研测环境,可以跳过
4.4 配置dashboard
-
打开grafana的网页,设置 -> Add data sources -> Name,URL(Name可以填写文件系统名,URL填写http://ip:port ,其中,ip:port填写prometheus server对外提供的ip和端口
-
Dashboards->Manage->Import grafana_template.json创建一个仪表盘,进入即可看到可视化图表
5. 卸载
6. 销毁文件系统
只有在所有session都被断开后才能执行destroy,否则无法destroy
juicefs status tikv://{pd-addr}:2379/{instance-name}
juicefs destroy tikv://{pd-addr}:2379/{instance-name} {fs-uuid}