kice 最近的时间轴更新
kice

kice

V2EX 第 161196 号会员,加入于 2016-03-01 04:36:42 +08:00
Home Lab 网络设计(想要 Production Ready)
宽带症候群  •  kice  •  101 天前  •  最后回复来自 sbilly
12
DIY unraid 替代品: SnapRAID
NAS  •  kice  •  79 天前  •  最后回复来自 lisaac
10
选择 NAS 系统,不知道选什么好
NAS  •  kice  •  174 天前  •  最后回复来自 snugness
18
如何实现调整内网单个 IP 的数据包出口
OpenWrt  •  kice  •  277 天前  •  最后回复来自 MSIAM
1
求分布式任务队列库推荐
Python  •  kice  •  264 天前  •  最后回复来自 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 最近回复了
125 天前
回复了 Chengyaojin 创建的主题 NAS 问下 nas 选哪种模式好 jbod, raid1-10, shr...
125 天前
回复了 Chengyaojin 创建的主题 NAS 问下 nas 选哪种模式好 jbod, raid1-10, shr...
来折腾下 SnapRAID

看看这里: [WIP] DIY unraid 替代品:SnapRAID
125 天前
回复了 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 代码提取出来改改。
127 天前
回复了 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 做得比较好,其他的任务队列一般般。┑( ̄Д  ̄)┍
163 天前
回复了 txzh007 创建的主题 程序员 内网版本应用如何解决授权问题
如果是需要完全离线,那基本上没啥办法。只能增加破解难度,例如各种加壳什么的。

或者换一个思路,想办法让用户“更新”你的软件,例如推出新功能,或者一开始只能买阉割版。更新软件就相当于变相联网了。
@kice 为什么 Android 网页版会莫名其妙提交。。。于是接着回复

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

---

回到问题

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

第二点和第三点,既然用上了 Python ,可以看看 Python 的魔法函数。
首先是如果一个程序需要这么多状态,正常先考虑下能不能改进设计模式,让状态管理起来简单一些。
@kice 手机卡了,然后不知道为什么就提交了。。。

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

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

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

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

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

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

如果使用正则表达式需要自己处理 HTML 里面的 escape characters ,
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2260 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 11:07 · PVG 19:07 · LAX 04:07 · JFK 07:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.