K3终极折腾记<一>

一、原由

K3已经够老了,总想着淘汰它。又感觉还能用,真是食之无味,弃之可惜!最近挺闲,决定来玩个大的,最后利用它一下。

二、现状

现在用的是某山正流行的梅林版本,之前用的小宝哥的。宝哥的梅林还挺不错的,就是不更新了,插件太老,不能适应人民群众日益增长的需求了。结果换成这版本后,可能是这机子实在不行吧,被我改散热,加风扇折腾过。老是断流,不光2.4G断,5G也断!网页还经常登陆不了,虽然功能足够满足我的要求,但这断流实在忍受不了!

三、需求

笔者的要求其实一点也不高,得有nfs用来存储摄像机的录像,嗯,笔者的摄像机带nfs网络存储。专门挂了一个分区作监控存储。一个分区用来给MAC当外挂硬盘。MAC的硬盘足够快,可惜实在太小… 所以nfs是刚需,上网要求不高,无线正常就行,有线接了监控摄像机和一台装了ubuntu20.04的工控机。因为有远程办公室电脑的需要,所以得做内网穿透。

四、方案考虑

目前免费的适用于K3的,只有openwrt还在不断更新了,所以固件只能是openwrt了。正好L大的固件也支持我的所以要求,就它了。实际上开工才知道,还是有很多问题要解决…

五、刷机

这里笔者的梅林刷回LEDE其实挺麻烦的,要先刷回官改(宝哥版)。结果刷回去wan口挂了… 说实话,笔者用的这版梅林挺坑的,当然也可能是笔者运气问题。某山找到解决办法,把备份的mtd0刷回去就好了,幸好我备份了,当然没备份的也有办法,改mac地址就行,不难,也没试过就不说了。反正一通折腾刷到宝哥官改固件的lede了。
然后某山找了个编译好的openwrt,下载量最大那个。刷好发现没有nfs,不能挂usb硬盘… 太无语了!现在人都nas自由了啊!我还活在20世纪,穷人伤心了!换吧,换了下载量第二的LEDE编译固件。这回挂上硬盘了,可还是没有nfs… 这回好了,头疼了。一咬牙一跺脚,哥们自己装行吧!一顿操作猛如虎,强制核心不对也给nfs装上了!结果还是不能用!
索性一不做,二不休!哥们找LEDE的源码自己编行吧!正好ubuntu都是现成的呢,照着L大的说明又一顿操作,编译了三回,第一回花了两天,后面两回倒是没用几小时。终于搞定了nfs等一切我要的功能!

六、配置

刷回好不容易弄出来的固件,心情顿好!LEDE固件现在确实很成熟了,除了无线功率不太行,啥都好用!
废话一大通重点来了,因为众所周知的原因。收费的云盘用不起,免费的太慢!openwrt上带kod。界面漂亮,使用习惯切合国人。可是,可是K3是32位的armV7,可道云的技术方案,它不支持2G以上文件!怪不得别人都不编译这功能!就我傻傻的弄个可道云在K3上。
知错就改,换个云盘方案嘛,不是事。正好ubuntu上有docker,有postgresql,直接上企业级的nextcloud,docker安装老简单了,教程很多就不水了。然后问题又来了,nextcloud支持外部存储,但这功能很坑!又是权限问题,又是不能分享!我又不想把硬盘挂在ubuntu上。然后笔者想啊想找到了一个办法,我在nextcloud的docker里挂上nfs,挂到

/var/www/html/data/user/files/

这里要注意了,默认是不让挂的,因为mount要sudo,而容器内的root是假的root,其实就是普通用户。要给特权才行,网上说改docker的配置文件

/var/lib/docker/containers/一长串字符对应容器/hostconfig.json

事实上我试了,不行。我把json配置的privileged:改成true,重启docker后又改回false了!
笔者找到二个办法,一是:

docker stop nextcloud  # 停止服务
docker commit nextcloud nextcloudbak  # 创建新镜像
docker run -d --name nextcloudnew --restart=always --privileged=true -p8086:80 -v /home/user/docker-date/nextcloud:/var/www/html -v  nextcloudbak  # 使用新镜像运行容器
docker rm nextcloud   # 删除老容器
docker rename nextcloudnew nextcloud  # 修改容器名

办法二就简单了,反正容器里啥也没有,删除了重新run。

然后就可以

docker exec -it nextcloud /bin/bash

# 以下容器内挂载
mount -t nfs4 -o async,nolock,vers=3 -v 192.168.2.1:/mnt/sda3/soft(要挂载的目录)/ /var/www/html/data/user/files/soft(挂载的目录)/

这里vers=3,或4,和nfs版本有关。
这个命令只能手动挂载,总不能重启一次来手工干一次活吧,我尝试把它写入fstab这个linux专门负责挂载的文件里,然后用mount -a试了一下,可以挂载,可惜重启还是不会自动挂载,因为容器里的linux不会自动执行挂载动作。最后在根目录发现有entrypoint.sh文件,那就好办了,给它加一行嘛。

docker cp nextcloud:/entrypoint.sh ./  # 先把文件复制出来

# vim在倒数第二行加上:
mount -t nfs4 -o sync,nolock,vers=3 -v 192.168.2.1:/mnt/sda3/soft/ /var/www/html/data/user/files/soft/

# 再把文件复制回去
docker cp ./entrypoint.sh nextcloud:/entrypoint.sh

这样就解决挂载问题了。未完待续…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无证的攻城狮

如本文对您有用,大爷给打个赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值