V2EX kice
 kice 最近的时间轴更新
kice

kice

V2EX 第 161196 号会员,加入于 2016-03-01 04:36:42 +08:00
Home Lab 网络设计(想要 Production Ready)
宽带症候群    kice    2024-04-03 17:48:09 PM    最后回复来自 sbilly
12
DIY unraid 替代品: SnapRAID
NAS    kice    2024-04-24 19:23:10 PM    最后回复来自 lisaac
10
选择 NAS 系统,不知道选什么好
NAS    kice    2024-01-20 23:01:26 PM    最后回复来自 snugness
18
如何实现调整内网单个 IP 的数据包出口
OpenWrt    kice    2023-10-10 16:01:16 PM    最后回复来自 MSIAM
1
求分布式任务队列库推荐
Python    kice    2023-10-23 16:24:45 PM    最后回复来自 hanssx
8
Python 折腾 web 交互的痛
Python    kice    2023-01-05 17:47:42 PM    最后回复来自 yagamil
19
GPS 老是定位到巴基斯坦怎么办
Android    kice    2023-01-02 00:02:58 AM    最后回复来自 Arena2458
25
无限流量 VPS 的想法
VPS    kice    2022-12-01 23:02:08 PM    最后回复来自 alect
4
kice 最近回复了
2024-03-10 15:38:27 +08:00
回复了 Chengyaojin 创建的主题 NAS 问下 nas 选哪种模式好 jbod, raid1-10, shr...
2024-03-10 15:38:13 +08:00
回复了 Chengyaojin 创建的主题 NAS 问下 nas 选哪种模式好 jbod, raid1-10, shr...
来折腾下 SnapRAID

看看这里: [WIP] DIY unraid 替代品:SnapRAID
2024-03-10 15:36:35 +08:00
回复了 kice 创建的主题 NAS DIY unraid 替代品: SnapRAID
现在搭建好了环境,在开始 SnapRAID 之前,有几个问题需要解决下:

1. PVE 的 PCIe 直通和内存动态分配不兼容,所以要么不直通 PCIe ,要么就固定内存给虚拟机。主要关系到 NVME 盘直通。
2. 我用的 R730XD ,然后 PVE 挂在了 HBA 上。机械盘不能直通给虚拟机,只能通过软件直通( RDM )。
3. RDM 直通有盘数量限制,一共是 33 个的样子。其次,RDM 直通只能设置硬盘序列号,不能设置硬盘型号,也没有 SMART 信息。
4. ~~PVE 的虚拟网卡只有 10Gb ,希望未来够用。~~

5. **DrivePool 平衡策略只能通过界面触发。**
6. **SSD 缓存 DrivePool 需要手动触发“平衡”才能写到机械硬盘。**
7. **DrivePool 文件分配策略搞不懂,要同时避免 SnapRAID 同步时不能触发平衡和能合理分配文件。**

8. PrimoCache 也可能出现 SnapRAID 同步时发生写操作。
---

1 ~ 4 暂时不影响使用,SMART 信息可以通过 SSH 到宿主机或者宿主机用 PY 暴露 HTTP 接口。
NVME 使用 RDM 直通性能看上去还行(用的 virtio scsi single 和一堆参数)。

DrivePool 可能并不十分合适 SnapRAID ,但是没有替代品。目前在研究使用 Rclone+WinFSP+Union ,目前看上去性能应该够用。


关于分区合并,我暂定了以下需求:
1. 能使用 SSD 作为写缓存。
2. 写缓存回写可以手动控制。或者在 SnapRAID 同步时,整个机械盘池能变为只读(写入只写到 SSD 上)。
3. 文件分配磁盘选择能平均一些。
4. 文件分配后,不能移动到其他硬盘;或者一次只能移动一个磁盘,并且在移动完成能触发 SnapRAID 同步。
5. 能被 Everything WizTree 索引。


最坏的情况是写一个 DrivePool 插件,或者直接把 Rclone 的 mount 代码提取出来改改。
2024-03-08 10:23:09 +08:00
回复了 kice 创建的主题 NAS DIY unraid 替代品: SnapRAID
@totoro625

PVE 塞 Win 是因为直接 Win 的话虚拟机会麻烦,不如直接 Win 虚拟机。

samba 文件路径长度限制太痛。想过是 NFS 或者 iSCSI 给 windows ,然后再 win 提供 SMB 共享。

现在用的是 unraid ,但是 unraid 的 NFS 性能有问题,iSCSI 插件可靠性未知。
TrueNAS NFS 和 iSCSI 都有,但是只支持 ZFS 或者单盘使用。要么扩容太难,要么接受单盘挂了会损失数据。

---

snapraid 适合文件内容不会变化的情况;看上去你这个是数据较少,可能更适合整快照。

---

如果是偏向于冷储存,多盘的均衡可以关掉。
本质上入队的时候都是把函数名转成字符串。但是把函数放在一起的话,按理是可以提供类型提示(例如 Tab 自动完成)。

目前看的话 taskiq 做得比较好,其他的任务队列一般般。┑( ̄Д  ̄)┍
2024-02-01 10:24:23 +08:00
回复了 txzh007 创建的主题 程序员 内网版本应用如何解决授权问题
如果是需要完全离线,那基本上没啥办法。只能增加破解难度,例如各种加壳什么的。

或者换一个思路,想办法让用户“更新”你的软件,例如推出新功能,或者一开始只能买阉割版。更新软件就相当于变相联网了。
2023-09-10 12:33:28 +08:00
回复了 lon91ong 创建的主题 Python 有没有 Python 库实现批量布尔值赋值和读写操作
@kice 为什么 Android 网页版会莫名其妙提交。。。于是接着回复

其次可以考虑下用有限状态机框架来表达状态之间的转换。

---

回到问题

第一点只是数据结构,背后怎么样都无所谓。bitmask ,数组,甚至是树都 ok 。
关于 bitmask 的补充,Python 原生的 int 是变长,所以不存在只能设置 32bit 限制。

第二点和第三点,既然用上了 Python ,可以看看 Python 的魔法函数。
2023-09-10 12:25:35 +08:00
回复了 lon91ong 创建的主题 Python 有没有 Python 库实现批量布尔值赋值和读写操作
首先是如果一个程序需要这么多状态,正常先考虑下能不能改进设计模式,让状态管理起来简单一些。
@kice 手机卡了,然后不知道为什么就提交了。。。

但是,正则表达式是绝大部分语言都能用,目前主流语言标准库都自带。其他两种方法都需要解析整个 HTML 文档,理论上还有性能问题。

如果使用正则表达式需要自己处理 HTML 里面的 escape characters ,不过处理也不难。
按照标题来说的话,要问怎么选择 HTML 里面的元素?

学习成本最低的算是 CSS selector ,看上去你误以为是 beautiful soup 了(只能这样猜测)。

其次是正则表达式,最后再是 XPath 。

兼容性的话,最高应该是 XPath ,虽然绝大部分情况用 CSS selector 就能解决。

但是在特殊情况下,正则表达式是绝大部分语言

如果使用正则表达式需要自己处理 HTML 里面的 escape characters ,
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1186 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 30ms UTC 23:45 PVG 07:45 LAX 16:45 JFK 19:45
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86