Linux使用bcache让SSD加速硬盘
前言在Linux下,使用SSD为HDD加速,目前较为成熟的方案有:flashcache,enhanceIO,dm-cache,bcache等,多方面比较以后最终选择了bcache。 bcache 是一个 Linux 内核块层超速缓存。它允许使用一个或多个高速磁盘驱动器(例如 SSD)作为一个或多个速度低得多的硬盘的超速缓存。bcache 支持直写和写回,不受所用文件系统的约束。默认情况下,它只超速缓存随机读取和写入,这也是 SSD 的强项。它还适合用于台式机、服务器和高端储存阵列。CentOS和Ubuntu都可以使用bcache。bcache是在3.10以后的版本加入mainline的,因此需要3.10以上的内核版本。但是笔者使用Centos 7在3.10.0的内核上进行配置时,发现无法生成相应的配置文件节点,测试过程中使用4.3.3版的内核。
首先我们先明白几个概念
既然是缓存,那自然就会想到缓存策略,bcache支持三种缓存策略:
writeback:回写策略,所有的数据将先写入缓存盘,然后等待系统将数据回写入后端数据盘中。(性能最好)
writethrough:直写策略(默认策 ...
docker部署aria2-pro
前言我平时有一些下载视频和一些资源文件的需求,有时候需要离线下载,也要速度比较快的方式
之前我是用家里的玩客云绝育之后不再写盘当下载机用的,但是限制很多
我发现了aria2 这个下载器非常适合我,而有个大佬又在原来的基础上进行了大量的配置等优化
发布了aria2-pro的项目,而且提供了docker部署
项目说明
BT 下载率高、速度快
重启后不丢失任务进度、不重复下载
删除正在下载的任务自动删除未完成的文件
下载错误自动删除未完成的文件
下载完成自动删除控制文件(.aria2后缀名文件)
下载完成自动删除种子文件(.torrent后缀名文件)
下载完成自动删除空目录
BT 下载完成自动清除垃圾文件(文件类型过滤功能)
BT 下载完成自动清除小文件(文件大小过滤功能)
有一定的防版权投诉、防迅雷吸血效果
更好的 PT 下载支持
使用 Aria2 Pro Core 项目最新静态编译二进制文件
多平台:amd64, i386, arm64, armhf(VPS、群辉、树莓派等常见平台完美支持)
全功能:Async DNS, BitTorrent, Firefox3 Cookie, ...
Bililive-go实现直播自动监控录制
前言最近有直播录制的需求,但是自己手动录制太麻烦繁琐,于是用了开源项目Bililive-go进行全自动监控录制,目前这个项目已经有3K stars了
部署为了方便我使用了docker compose 部署
123456789101112version: '3.8'services: bililive: image: 'chigusa/bililive-go:latest' container_name: bililive restart: unless-stopped network_mode: bridge ports: - '5009:8080' volumes: - /data/bililive-go/config/config.yml:/etc/bililive-go/config.yml - /data/bililive-go/videos:/srv/bililive
把容器内的配置文件映射到本地服务器/data/bililiv ...
基于SSH打通隧道实现异地组网
前言最近有异地组网的需求,我目前的是用蒲公英X1盒子来进行组网,但是蒲公英X1非会员账号有设备限制3个(这个是硬伤),虽然说可以打通P2P但是在复杂的网络环境下概率不是特别高
所以研究下SSH异地组网的方式,想要打通两个局域网只需要登录SSH即可,也就是说只需要在想连接的局域网端部署一台可以ssh的主机,并且将ssh端口开放到公网即可
本文的内容只用于学习研究,请勿作为违法用途,若用于违规用途出现的任何问题,作者概不负责登录SSH经过我测试Xshell命令行中使用会出现问题,推荐使用windows以及各操作系统的自带命令行进行连接,下面以windows为例
如果命令行输入ssh显示没有命令的话先按照OpenSSH
官网下载地址:https://www.mls-software.com/opensshd.html
下载完成之后,输入命令
1ssh -D 2222 -p Port username@host
Port 写上SSH的端口,一般是22端口, 但是如果你是内网穿透出来的写穿透的外部端口
username 写ssh要登录的用户名
host 写主机名,也就是ssh的目标主机
-D ...
【Docker系列】docker部署常见的软件1
Nginx服务器
12345678docker run \ -p 9002:80 \ --name nginx \ -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /etc/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /etc/nginx/log:/var/log/nginx \ -v /data/img:/usr/share/nginx/html \ -d nginx:latest
Mysql数据库 (docker compose 部署)
12345678910111213141516version: '3.3'services: mysql: image: mysql:8.0 container_name: mysql #command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always env ...
OpenWRT下的AdGuardHome插件无法更新核心
前言[openwrt]装了AdGuard home插件屏蔽广告,但是发现点击更新核心之后无法正常更新,插件也无法启动,显示未启动未重定向
1.思考由于更新核心的链接是github的,github国内访问速度比较慢,而且经常被运营商拦截
1https://github.com/AdguardTeam/AdGuardHome/releases/download/${latest_ver}/AdGuardHome_linux_${Arch}.tar.gzhttps://static.adguard.com/adguardhome/release/AdGuardHome_linux_${Arch}.tar.gz#https://static.adguard.com/adguardhome/beta/AdGuardHome_linux_${Arch}.tar.gz
我们可以使用[github加速]的网站在链接上加上签字,通过加速网站的代理下载
1https://github.moeyy.xyz/https://gi ...
【OpenWRT系列】PVE+OpenWRT实现旁路由
前言最近想玩下[软路由],了解了下各种软路由系统之后选择了openwrt,这个是基于linux的,而且可以安装docker之类的各种有用的插件,但是我手头暂时没有机器可以做软路由,但由于是但网口机器,就做个旁路由,先使用PVE虚拟一台研究,openwrt占用的资源很少 1G内存就完全够了,这篇文章的前提是pve已经安装好了
1.安装[openwrt]openwrt的镜像是img格式的,但是pve并不支持img,我们需要将img转成qcow的格式
我使用了img2kvm脚本来进行转换
1./img2kvm /dev/pve/openwrt.img 100 /var/lib/vz/template/iso/vm-100-disk-1
命令解释:openwrt.img后面的100 对应的是虚拟机编号id 最后的vm-100-disk-1 中的100也是一样的,disk-1的1代表这个虚拟机第一个盘
这里说明一下 /dev/pve这是上传镜像之后会在这里目录里面 (对应pve默认的local存储池)
/var/lib/vz/t ...
MC服务器使用Waterfall跨服
前言想弄一个跨服,目前这篇文章是边测试边写的,两个子服都是在同一个机器上运行的
如果两个子服在不同的网络,跨服的延迟就会比较高
两个子服 s1 和 s2 都是使用folia核心
版本1.20.1
s1 端口: 25565
s2 端口 : 25566
1.下载 WaterfallWaterfall Downloads | PaperMC
2.启动两个子服1/usr/local/java17/bin/java -jar server.jar nogui
1/usr/local/java17/bin/java -jar server.jar nogui
3.启动 Waterfall第一次启动[服务端]时会下载额外的模块(位于 modules [文件夹],下载完成后服务端便会启动。
1/usr/local/java17/bin/java -Dfile.encoding=UTF-8 -Xms512M -Xmx1024M -jar waterfall-1.20-562.jar
看到这一行表示启动成功了
[03:55:33 INFO]: Listening on /0.0. ...
KVM虚拟机部署K8S重启后/etc/hosts内容丢失
前言
使用KVM开了[虚拟机部署]K8S,部署完成后重启,节点的pod等信息无法获取到,查看报错初步推测为域名解析失效,查看/etc/hosts后发现安装k8s时添加的内容全部消失
网上搜索一番之后发现了
如果直接修改 /etc/hosts 文件,重启后会还原丢失修改,原因是腾讯云默认使用了 Cloud-Init 进行初始化操作。
官方说明参见:https://cloud.tencent.com/document/product/213/34698
官方描述中说 “2018年9月后使用公共镜像创建的实例不会出现 /etc/hosts 配置在重启后被覆盖的问题”。
然而实际还是会被覆盖。
据我所知腾讯云之类的云服务商大部分都是[kvm虚拟化],我推测也可能是采用了 Cloud-Init 进行初始化操作。
所以就手动修改 Cloud-Init 模板:
cd /etc/cloud/templatesls
会看到很多 hosts.***.tmpl 文件,根据你的Linux发行版进行修改。
为了防止小白问 ...
cloudreve网盘迁移K8S
NFS存储配置由于我们是用NFS作为数据存储的,所以需要先配置下nfs
1/data *(rw,no_root_squash,no_all_squash,async)/usr/local/mysql *(rw,no_root_squash,no_all_squash,sync)/usr/local/redis *(rw,no_root_squash,no_all_squash,sync)
/data 就是cloudreve的数据存储目录 (此目录使用 async异步 来提高性能 适用于文件实时同步要求较低的情况)
/usr/local/mysql 是mysql的pod数据存储的目录
/usr/local/redis 是redis的数据和配置存储目录
刷新下配置1exportfs -r
贴配置文件了,还有挺多不完善的
cloudreve.yaml
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 ...