分类 学习笔记 下的文章

本来打算下载一些电影,有时间可以看看。

打开Aria2,导入种子文件,点击下载后,画面一直停留在准备中的状态。

打开共享文件夹,下载共享目录提示“尚未准备好”。

心想:坏了,应该是硬盘挂了。

怀着忐忑的心情打开PVE,用命令行方式检查发现,磁盘无法挂载。掉盘了!除了能识别磁盘名称外,磁盘完全无法读取。

尝试数个方法无果,研判磁盘已彻底死亡。解除磁盘在PVE中的状态,把硬盘拔下来。

pve-hd

这个硬盘是从原来的台式机上卸下的。虽然蓝盘不是很适合用来做下载盘,心想是用来做BT下载中转,数据也不是很重要,就用起来了。

前段时间PVE就每天发两个Email给我,报告磁盘有故障。

细想,一路来挂的盘不是蓝盘就是绿盘。“外地人”这质量真的一般般。

原本计划把这个破硬盘换成4T的紫盘。可是,在它没有挂之前,我还没有换的动力。

去二手东看了一下4T紫盘,已经699了。比我上次购买价格460,贵了200多块。

这么一遭,真是“破屋偏逢连夜雨”。磁盘被Chia挖矿这样炒一下,还真就用不起了。算了,先不买了。于是在NAS上划了1T空间来用于下载,凑合用一段时间。

划空间的时候我顺便看了一下,PVE母机的健康状况。

pve

不查不发现,母机也出现了IO延迟问题。这次真TMD是祸不单行。

pve-ssd

母机的SSD磨损也到66%了。虽然还没有到必须更换的阈值,但是母机下面太多东西。这个需提早部署,要尽快更换。

现在唯一的希望是618,二手东的磁盘优惠折扣能给力一点!


TimeMachine.png

过去一段时间,家里路由配置一直是“主iKuai,旁koolshare”组合。这个组合已经稳定工作有2年多时间。

由于koolshare维护状态已经进入“濒死”阶段,为保障家里网络服务稳定,于是决定对这路由系统进行改造。

简单研判了一下,决定选择”主ROS,旁openWRT“方案。

母机是PVE,这样搭配很速度就撸出来。为节省资源,我把原来omv主机删掉,把MacOS的备份系统直接转移到openWRT上。

按照官方提供的配置方案顺利部署好AFP服务器。不过问题来了。无论我使用MacOS的网络模块还是用ssh的方式连接openWRT的afp能连接,但是无法验证登录。

检查了afp的log文件,没有发现异常。琢磨半天是不是类似SMB协议那样需要有个用户账户转换问题。翻遍AFP的官方文档,没能找到解决方案。

谷歌爬文半天也未能找到解决方案。准备重做omv之际,我重新看了一下afp的log文件,发现登录过程只记录了很简单的一句:

{afp_dsi.c:108} (note:AFPDaemon): AFP statistics: 0.06 KB read, 0.06 KB written}

然后查找AFP文档发现默认的log等级比较简单,没有记录debug内容于是修改afp.conf文件的log level:

[Global]
; Global server settings
log file = /var/log/afpd.log
log level = default:maxdebug uamsdaemon:maxdebug afpdaemon:maxdebug
afp interfaces = br-lan

再次测试登录afp,然后查看log文件发现问题所在:

PAM DHX2: libgcrypt versions mismatch
由于libgcrypt缺失,造成无法使用PAM验证登录。

在ssh中直接执行

   opkg update && opkg install libgcrypt

片刻安装成功,重启afp,并重新测试登录afp。这次,密码验证成功,顺利登录。

最后测试MacOS的TimeMachine备份也正常了。


最近打算部署一个小项目。由于预算原因,便宜购置了台微型VPS。微型VPS带来的麻烦事是:内存拮据和IO效率不行,只能使用较低版本的MySQL数据服务器。本来想使用Drupal作为脚本程序,MySQL数据库服务版本太低无法适配。

之后对比了多个方案,最终选择直接部署基于Django框架的CMS程序Wagtail。

wagtail.png

本地调试Python用台式电脑还凑合。不过,MBP由于内存本来就比较吃紧,还拖个内存大户MySQL就显得有点累赘了。SQLite虽然是Django自带能开箱即用,不过管理显得有点麻烦,也比较吃IO。综上,我把MySQL服务器部署在家里的NAS上,方便不同设备进行调试。

我本机没有安装MySQL,所以也没有自带Python连接MySQL的驱动。Django自带的django.db.backends.mysql模块默认是使用MySQL Client进行连接的。网上的教程来来去去都是教你怎么样把MySQL Client给安装上去。无论是Brew方式安装还是通过官方的安装包安装,都需要先安装MySQL。对于Brew,系统还提示我使用的是Big Sur版本的系统,可能遭遇不可预计的缺陷。

不管三七二十一,撸上再说。结果,得益于GFW的作用,到安装MySQL的环节,老死下载不下来。实在受不了这样的折腾,心想MySQL这样流行的数据库服务器,不可能没有官方的Python驱动的。于是在MySQL的官方查询了一下,果然有官方的驱动,名字叫”MySQL Connector/Python"。真是踏破铁鞋无觅处,得来全不费工夫。

直接用pip给装上。

    pip install mysql-connector-python

不一会儿功夫,顺利安装上。顺便配置好Django的连接信息:

    import mysql.connector

    DATABASES = {
        'default': {
            'ENGINE': 'mysql.connector.django',
            'NAME': 'dbname',
            'USER': 'dbuser',
            'PASSWORD': '123456',
            'HOST': '192.168.11.240',
            'PORT': 3306,
        }
    }

重建一下数据,顺利启动项目。

这次在安装MySQL Client上浪费了点时间,真的学艺不精到处是坑。


镁光MX500.jpeg

由于成本问题,当初配置主机的时候使用的是m2接口的ssd,容量只有256G。

虽然有NAS,在编辑视频的时候,本地容量还是比较吃紧。由此购入了英睿达的MX500,容量是500G,旨在缓解下略显紧张的存储压力。

镁光MX500-2.jpeg


由于好奇心重而且比较贪玩,喜欢尝试不同的东西。也为便于记录生活,很久前我还部署了一个专门用于存放手机随手拍照片的博客。该博客是基于WordPress系统,地址:https://www.ccchen.com

因为访问量非常低,而且也不想再倒腾备案的事情。所以,我决定让它留在linode上,毕竟还有4个多月的免费使用时间呢:D。

今天抽空把digitalocean上的系统删掉,顺便把linode上的WordPress修整了一下。主要是作提高访问速度和风格简单的修正处理。

1、图片用了又拍云的免费CDN加速功能。为了节省系统资源没有用外接插件,直接在风格的模板函数文件functions.php头部加入了下面的代码。有需要的朋友可以参考一下,把CDN_HOST的值替换你的cdn地址即可。

    //将本地图片地址替换为CDN地址
    define('CDN_HOST','//ccchen.gdcn.net');
    add_filter('the_content','z_cdn_content');
    function z_cdn_content($content){
        return str_replace(home_url().'/wp-content/uploads', CDN_HOST.'/wp-content/uploads', $content);
        }
        add_filter('wp_get_attachment_url','z_get_attachment_url',10,2);
    function z_get_attachment_url($url, $post_id){
        return str_replace(home_url(), CDN_HOST, $url);
        }
    add_filter( 'post_thumbnail_html', 'cdn_post_image_html', 10, 3 ); 
    function cdn_post_image_html( $html, $post_id, $post_image_id ) {  
        return str_replace(home_url(), CDN_HOST, $html); 
    }  
    
    //强行插入特色图片
    
    function wpforce_featured() {
        global $post;
        $already_has_thumb = has_post_thumbnail($post->ID);
        if (!$already_has_thumb)  {
            $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
            if ($attached_image) {
                foreach ($attached_image as $attachment_id => $attachment) {
                    set_post_thumbnail($post->ID, $attachment_id);
                }
            } else {
                set_post_thumbnail($post->ID, '414');
            }
        }
    }  //end function
    add_action('the_post', 'wpforce_featured');
    add_action('save_post', 'wpforce_featured');
    add_action('draft_to_publish', 'wpforce_featured');
    add_action('new_to_publish', 'wpforce_featured');
    add_action('pending_to_publish', 'wpforce_featured');
    add_action('future_to_publish', 'wpforce_featured');

2、使用cloudflare加速普通文件访问速度,解决linode间歇断流问题。在页面规则(Page Rules)里面按照下图配置一个缓存规则即可。有需要的可以参考一下。
cloudflare

个人主观感受,还是有比较明显的提速效果。

以上。