April 6, 2022

我有了一个大胆又邪恶的想法

qnap的传统nas用ext4fs组合的raid5已经只剩下2块4T 1块2T的3寸盘了

新的WD HC530 14T单盘zfs性能十分拉跨 写入速度比老希捷10T还不如

这次挪动raid0上的数据时不小心取消了qnap自动分层功能导致丢失了r0上的数据 无所谓都不是重要东西 更进一步的坚定了淘汰qnap TS-451+这个NAS的想法 USB5G网卡可以给macBook或者z270用

这些盘上的东西都不重要 目前集中在希捷10T上 把还可以回复seeds的数据更新到3x2t ssd的zpool上 能完整完成校验相信不足2T 其余打个打包堆一堆 能放多少就放 不够了就往黑苹果上剩下的750G上ssd上堆 笔记本还有350G可以暂时放点零碎 挪走了10T硬盘上6个T的文件后还剩下2个多T需要想办法 之后再谈

先把md+zfs方案提前规划一下 10T 14T 2T 4T 4T 中间容量其实是2T 也是最适合备份的单盘容量 多了来不叫拷贝就怕挂了 少了效率太低

这5个盘除了2T那个不动以外 其余可以分为5个2T,7个2T,4个2T 一共17个2T() 实际上是1830GB可用容量,在PVE下mapper成虚拟硬碟给到truenas scale ,truenas scale获取这些盘之后 raidz可以用1830*16=29280G  29TB raw可用容量 1830G用来做parrity 理论上都裁剪成2T的盘可以blk对齐 考虑到他们都是一样的blk size 。如果奢侈点做raidz2 也可以坏2个2T分区或者2个虚拟磁盘 容量则是27450GB,27T左右也很有废物利用的性价比很好接受。 4个盘raid-z  大概能读写上3个盘的速度 也可以到300MB/s,总比这些盘散开用速度好还十分危险没有防护.考虑到挖以太币的狗东西们把矿盘疯狂地往外卖 这年头正规渠道行货盘短期也不会有多少便宜货能买到 这些组合盘应该可以撑过个一年半载.27T相信不太容易填满

好了 我开始挪数据了 最近还build了个perl脚本可以让rtorrent 跳hash用的 qnap上的环境不如真x86-64完整 但是还是可以opkg make,cpan环境install perl 模块 会提示这个脚本少了 Convert-Bencode_XS 这个模块

wget https://github.com/rakshasa/rtorrent/raw/master/doc/rtorrent_fast_resume.pl
安装依赖:

apt install build-essential perl
Perl需要Convert::Bencode_XS module:

perl -MCPAN -e 'install Convert::Bencode_XS'
安装失败的话,我们可以手动安装含补丁的Convert::Bencode_XS:

wget http://search.cpan.org/CPAN/authors/id/I/IW/IWADE/Convert-Bencode_XS-0.06.tar.gz
wget https://rt.cpan.org/Ticket/Attachment/1433449/761974/patch-t_001_tests_t
tar zxf Convert-Bencode_XS-0.06.tar.gz
cd Convert-Bencode_XS-0.06
patch -uNp0 -i ../patch-t_001_tests_t
perl Makefile.PL
make
make test
make install
使用脚本:

perl rtorrent_fast_resume.pl <种子档案路径> <种子路径> <新种子输出路径>
把输出的种子添加到rtorrent就是100%进度了

https://metacpan.org/release/IWADE/Convert-Bencode_XS-0.06   要build这个module又提是少了xlocale.h这个头文件

https://ahelpme.com/linux/compiling/glibc-2-26-and-failure-to-compile-because-of-xlocale-h/  博客作者提示gnulibc少的库可用现成glib的头文件做软链接来骗过编译器 果然可以 现在脚本可以运行了 等待重新seed那些旧数据吧.
ln -s /usr/include/locale.h /usr/include/xlocale.h

前几天还嫌弃python的iotop开销太大搞得CPU风扇吵翻天 build了个cpp版的iotop直接可以在qnap上运行的binary. 这次就安静了 果然要效能还得是c++,但是架不住Python写起来简单啊.