snapraid 代码浏览

最近一直在折腾硬盘上的数据。就研究了下snapraid 的代码。

snapraid非常适合做数据备份使用。我其实很好奇btrfs的single模式为啥不加个类似的功能,这样相当于直接为single模式来了个带raid5功能的备份。

snapraid的校验非常的简单暴力,直接将文件数据按块读取到内存中,然后类似模拟拼接为一个raw的文件的数据结构,然后使用raid5的算法,计算之后,将校验写入校验盘的文件中。恢复的时候,也使用的是raid5的恢复方法。

因为是基于对文件进行的操作,所以与分区格式无关系。但这样一来,对于频繁的文件读写或者移动,或者实时的写入,就不太适合了。

win10 精简版安装windows defender

我之前将我的电脑使用精简版的win10安装了,一直以为自带杀毒软件了。不经意间,发现没有安全中心,打开 安全中心后,发现竟然没有杀毒软件,这就玩大发了。于是,想尽办法把自带的杀毒软件找回来了。

  1. 管理员权限打开powershell, 使用以下命令修复

    sfc /SCANNOW
    Dism /Online /Cleanup-Image /ScanHealth
    Dism /Online /Cleanup-Image /CheckHealth
    DISM /Online /Cleanup-image /RestoreHealth
    

    然后,重启, 更新。如果简化版不是做的太好的话,安全中心和杀毒软件应该就回来了。启动即可。 但我用的版本做的太好了。在系统盘的目录中可以看到已经有软件了,但就是启动不了。

  2. 如果启动不了,那就改注册表, 改策略

    修改注册表位置:

    计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender
    

    这里面有个DisableAntiSpyware的项, 修改为1。然后重启 然后安全中心中的defender就可以正常启动了。 如果安全中心的病毒检测部分的实时监控打不开,则需要修改策略:Win+r 然后输入gpedit.msc, 修改为以下内容 1.png

  3. 为什么不用第三方软件 在我这边第三方软件影响运行速度。。。占资源,我的win10运行在虚拟机中,只分配了4G的内存资源

杂事二三件

昨天做了几件事,主要是前天晚上的一些思路,成了几件,败了几件。

  1. obs推流到抖音

    无奈我的号是无粉丝的,然后使用tcpdump在网关抓包,抓推流地址,obs通过docker部署,最后推流成功。 但抖音这边会在软件里不断的检测心跳,于是主播暂时离开了。我主要是想试试在unraid中是否可以,算是成了, 无奈硬件不给力,推流的帧率只有几,作罢。其他软件只能在windows上,无法无人职守,不喜欢。

  2. seaf客户端docker化

    没啥特殊的,开干,基于ubuntu,一切顺利

  3. org文件导出时自动替换某些内容为制定的字符

    自己✍🏻️的内容还要对自己各种过滤,实在是对自己太残忍了。使用了个宏来帮自己哔掉。

    #+MACRO: hidden $2
    

    使用时,想要替换的字符可以这样✍🏻️:

    真的{{{hidden(fuck,*)}}}鬼了
    

    发布的时候,就会变成:

    真的*鬼了

  4. org组织代码结构

    真的很无聊的想法,我想用org来组织整个项目。。。代码啥的都写到org中,然后编译的时候, 直接执行键入的编译的代码,将整个org按照org中书写的指定内容,生成指定的文件或者文件夹, 然后再编译整个项目。

    简单的流程就是比如makefile内容写在org中,然后编译这个org,生成真正的makefile, 接着执行这个makefile,项目中的其他文件也是如此。

    于是,理所当然的失败了。我对org-babel还是一无所知

  5. emacs-lisp的语法树

    我想找emacs-lisp的范式,不过没有找到。算了

简单测试freenas

今天简单测试了一下freenas,主要是为了测试使用一下zfs。因此,故意创建了各种容量的盘(2G,4G,6G,10G*2, 20G)。

坑1: 安装盘至少需要8G才行

坑2: 数据盘至少要大约2G才行

坑3: ZFS几乎要求所有盘的容量一致,因为我将10G中的一个作为系统盘了,因此,对于除了2G之外的其他盘,使用镜像也好,raid-z也好,都只能用4G.如果要想使用更多的容量,需要将最小的硬盘移除。

之所以测试不同的容量组合,是因为我这边的硬盘基本都是之前老机器上的,随着年代的不同,容量也有很大的差别。所以还是老老实实的使用unraid。

不知道unraid的cache如果使用类似ubuntu的mergerfs效率会不会提升。目前我碰到unraid的cache组(不同容量硬盘组合而成),在读取大量小文件的时候性能惨不忍睹。