在Windows上如何后台运行JuiceFS
Ceph对象存储方案
共 2031字,需浏览 5分钟
· 2022-03-13
在Windows上如何后台运行JuiceFS
1. 背景&解决方案
JuiceFS的Badger引擎改造完成以后,需要在Windows下面进行后台运行。因为现有的JuiceFS中还没有在Windows下的后台运行实现,所以需要通过其他途径解决。
现有代码地址 https://github.com/juicedata/juicefs/blob/main/cmd/mount_windows.go#L48
func makeDaemon(c *cli.Context, name, mp string, m meta.Meta) error {
logger.Warnf("Cannot run in background in Windows.")
return nil
}
网上找了一大圈,发现一个nssm的命令行工具比较好用
https://nssm.cc/ 官网
https://nssm.cc/release/nssm-2.24.zip 工具下载地址
https://git.nssm.cc/nssm/nssm.git 源码仓库
2. 脚本实现
以Windows10下为例,将相关操作封装成对应的批处理。具体如下
1. 服务注册脚本
解压对应的工具到Windows10下面的的D:/juicefs
目录即可,同时将编译好的juicefs.exe也放置在同一个目录,创建一个初始化脚本InstallService.bat
,该脚本用于注册一个名为JuiceFS
的系统服务(开机自启动),并指定对应的挂载盘符,内容如下
@echo off
@title Run JuiceFS Background
echo ********************************
echo Setting mount path,(example: mount_path=Z)
set mount_path=Z
set /p mount_path="Set mount_path="
echo Mount JuiceFS To %mount_path%
set dir_name=badger_test
echo dir_name:badgerDB path
echo cache_dir:directory paths of local cache
echo max_uploads:directory paths of local cache
echo cache_size : size of cached objects in MiB (default: 102400)
echo ********************************
set max_uploads=150
set cache_size=102400
set juicefs_dir=D:\juicefs\
set cache_dir=%juicefs_dir%cache
if exist %cache_dir% (
echo "cache exist"
) else (
md %cache_dir%
echo "create cache_dir"
)
%juicefs_dir%nssm.exe install JuiceFS Application=%juicefs_dir%juicefs.exe
%juicefs_dir%nssm.exe set JuiceFS Application %juicefs_dir%juicefs.exe
%juicefs_dir%nssm.exe set JuiceFS AppDirectory %juicefs_dir%
%juicefs_dir%nssm.exe set JuiceFS AppParameters mount --cache-dir=%cache_dir% --cache-size=%cache_size% --max-uploads=%max_uploads% --no-usage-report --debug badger://%dir_name% %mount_path%:
%juicefs_dir%nssm.exe start JuiceFS
2. 服务关停脚本
脚本名称StopService.bat
@echo off
set juicefs_dir=D:\juicefs\
%juicefs_dir%nssm.exe stop JuiceFS
3. 服务卸载脚本
脚本名称RemoveService.bat
@echo off
set juicefs_dir=D:\juicefs\
%juicefs_dir%nssm.exe remove JuiceFS confirm
3. 运行须知
需要注意的是,上面的脚本都需要用系统管理员权限
运行
运行成功以后,可以成功在资源管理器中看到对应的盘符
系统服务面板会注册一个名为JuiceFS
的后台服务
评论
什么是以太坊期货ETF?它们如何运作?
作者:Jagjit Singh,CoinTelegraph;编译:陶朱,金色财经一、以太坊期货 ETF 介绍以太坊期货 ETF 是追踪以太坊期货合约而非以太坊本身的投资基金。考虑一份承诺在未来某个时间以特定价格购买以太坊的合约。这些衍生品合约通过以太坊 (ETH) 期货交易所交易基金 (ETF) 进
区块链头条
0
字节面试:如何解决MQ消息积压问题?
面试题大全:www.javacn.siteMQ(Message Queue)消息积压问题指的是在消息队列中累积了大量未处理的消息,导致消息队列中的消息积压严重,超出系统处理能力,影响系统性能和稳定性的现象。1.消息积压是哪个环节的问题?MQ 执行有三大阶段:消息生产阶段。消息存储阶段。消息消费阶段。
Java中文社群
0
如何动手做出一个 CPU,很简单
将Python客栈设为“星标⭐”第一时间收到最新资讯来源:无聊的闪客纯手工打造一个 CPU 这个事儿。在电子专业的同学眼里,很容易。在计算机专业的同学眼里,稍稍有点复杂,有的专业课的实验课可能会带着同学做一个,或者用 Logisim 这样的仿真软件去模拟实现一个。在非计算机专业的同学眼里,就有点不敢
Python客栈
0
面试官:MySQL 上亿大表,如何深度优化?
来源:cnblogs.com/YangJiaXin/p/10828244.html背景分析测试实施索引优化后delete大表优化为小批量删除总结前段时间刚入职一家公司,就遇上这事!背景XX实例(一主一从)xxx告警中每天凌晨在报SLA报警,该报警的意思是存在一定的主从延迟(若在此时发生主从切换,需要
好好学java
0
AI智能视觉检测技术在工业级测量领域的创新应用--AMB Tube-Q导管数字化测量系统
技术背景在深度学习算法出来之前,对于视觉算法来说,大致可以分为以下5个步骤:特征感知,图像预处理,特征提取,特征筛选,推理预测与识别。早期的机器学习中,占优势的统计机器学习群体中,对特征是不大关心的。深度学习是机器学习技术的一个方面,由人工神经网络提供支持。深度学习技术的工作原理是教机器通过实例学习
机器视觉
0
人人都能在本地电脑上部署LLama3大模型
电脑配置要求:推荐16GB内存以上,最低8GB。最近几年主流CPU均可。英伟达显卡性能表现会更好,但不是必须。部署流程:1、下载安装Ollama大模型运行框架2、下载运行LLama3大模型3、下载安装服务器容器Docker Desktop4、下载运行OpenWebUI应用服务搞定!视频演示
Python涨薪研究所
0
下沉市场对黄金的偏爱,停滞在金价飙升之前
狂买还是狂卖?冲击万店,汉堡界能跑出下一个蜜雪冰城吗?最近一段时间金价的暴涨,已从部分人的惊喜变成大众的惊吓。大众的讨论从升值贬值、这个时间段入手是否合适,开始变成“上次金价暴涨世界发生了什么?”的担忧。金价狂涨在互联网中已经演变为大众话题,无论准不准备囤黄金,手头有没有黄金,都或多或少关注着金价的
亿欧网
0
6 个火爆 GitHub 的后台管理模板,快来收藏!
将Python客栈设为“星标⭐”第一时间收到最新资讯今天来给大家介绍6个火爆 G 站的管理后台模板,有了它们,对于前端不是很熟悉的小伙伴来说,再也不用烦恼了,而且有一说一,即使是前端大牛,要想从零开发一套完整的管理模板,也不是一件容易的事情。1. vue-element-admin该项目是基于 Vu
Python客栈
0