玩客云armbian系统U盘扩容,解决openwrt没缓存宕机

一:起因

我玩客云是装了armbian,然后docker了home-assistants+openwrt

昨晚发现旁路由不能出国学习了,打开酸酸乳一看,所有配置都丢失了,登录宿主机一看,磁盘100%的使用了

磁盘已满

查看挂载情况,确定100%

image-20220120110210907

记录一下容器名称和镜像,万一折腾挂了,能重新pull回来

所用容器名称

刚开始docker ps -a 由于没有磁盘空间,查看不到容器,使用了apt-get clean 清除了一下宿主缓存

du -h –max-depth=1可以用查看目录大小,确定文件占用情况

二:开始折腾

插入U盘

fdisk /dev/sda

输入m,进入菜单

输入n,新建分区

默认回车,

输入w,写入分区信息

yes确认,完成分区建设,返回#

格式化命令为 mkfs.ext4 /dev/sda1

等待格式化完成

可以新建一个目录
mkdir /mnt/disk
然后把U盘挂载到这个目录
mount /dev/sda1 /mnt/disk

设置为每次开机就挂载

编辑 vi /etc/rc.local

在exit 0代码前面

输入命令 mount /dev/sda1 /mnt/disk

完成自动挂载,接着迁移docker

先暂停docker

service docker stop

这里遇到直接停止docker会自动重启/断连,主要是docker下的OenCloud容器造成,所以先把所有容器都设为不自动启动docker container update –restart=no [容器ID] 再reboot后就能正常暂停docker服务了

之后在U盘挂载的目录新建一个文件夹
mkdir /mnt/disk/docker/
然后把docker的文件都迁移到/mnt/disk/docker/目录中

命令为:
rsync -avz /var/lib/docker/ /mnt/disk/docker/
之后编辑 /etc/docker/daemon.json 配置文件,如果没有这个文件,那么需要自己创建一个,根据上面的迁移目录,基础配置如下:
{ “data-root”: “/mnt/disk/docker/”}

将容器服务启动起来

把原来设为不自动启动docker container update –restart=no [容器ID] 的no改回always

service docker start

这样子之后你在docker安装的所有东西都会安装在U盘里

如果报错,记录一下

报:Failed to start Docker Application Container Engine.

原因是/etc/docker/daemon.json新建内容不对,导致docker的daemon服务没起来

修改下/etc/docker/daemon.json就好增加registry-mirrors

    "registry-mirrors": [
        "http://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ]

最终daemon.json文件

image-20220120150529524

再重启一下docker

systemctl daemon-reload

systemctl restart docker

image-20220120150458693

三:扩展

有了U盘可以考虑安装宝塔了,先记录一下前人使用的方法

接下来说宝塔的迁移,因为宝塔要在/www文件夹里运行,所以宝塔的迁移方式有一点不一样
安装过宝塔的可以先卸载了,或者 rm -rf /www 把这个www文件夹删除了,然后新建 mkdir /www/

之后在U盘里新建目录 mkdir /mnt/disk/www
用软连接的命令(相当于创建快捷方式)
ln -s 源文件 目标文件源文件在U盘里为U盘新建的目录/mnt/disk/www,目标文件为/www总的来说命令为 ln -s /mnt/disk/www /www这一步完成之后就可以直接用宝塔的安装命令了wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh慢慢等待吧
这样子之后,你在宝塔里安装的所有内容php,mysql之类的或者可道云,博客网站 都会安装在U盘
一般来说这两个搞定之后,大多数的大应用都可以通过宝塔和docker安装,玩客云盒子本身的占用不会超过4g

学习参考:https://www.right.com.cn/FORUM/thread-4066384-1-1.html

四:总结

我在想,要不要把home-assistants容器删除算了,现在ha还是不会玩,有点折腾人,自动化都没实现过,现在有用的只是网页控制一下broadlink联博的四位插座,本身APP就能控制,还不会跟小米的联动起来,有点想放弃了!

给玩客云docker版本的openwrt 安装阿里云webdav服务

一:openwrt版本

之前一直都是使用docker版本的webdav,为什么今天要使用openwrt版本呢,原因还是今天OpenWrt被升级记录时候,看到原来另一位大佬,里面有openwrt的ipk版本,而且在0.5.2版本记录中,有提到(玩客云),本着能少装点docker就少装点,毕竟现在玩客云8G的emmc已使用无几

image-20211214161746592

从图中可以看到,已使用96%了

二:备份

经过昨天血的教训,我还是习惯备份一下吧,免得折腾失败了,无后悔药可救

  1. 先SSH上宿主主机
  2. docker ps -a 记下id
  3. docker export id > /tmp/onecloud.tar
  4. 用winsip登录下载回云盘备份,也可以使用SSH直接下载,命令不记得了,懒得找命令了

docker 备份参考了https://www.cnblogs.com/zhink/p/8609272.html

用容器生成镜像

[root@git docker]# docker ps
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                 PORTS                                                            NAMES
e950a988d058        twang2218/gitlab-ce-zh   "/assets/wrapper"   2 hours ago         Up 2 hours (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:2222->22/tcp   gitlab-wahaha
[root@git docker]# docker commit e950a988d058 gitalb-zh
sha256:dd61a1ec3cdc782d6076e47afc10a35e19700a9ad56df6630a8c1de1c1c105c3
[root@git docker]# docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
gitalb-zh                          latest              dd61a1ec3cdc        6 seconds ago       1.72 GB
docker.io/twang2218/gitlab-ce-zh   latest              1f71f185271a        9 days ago          1.63 GB

备份:

查看镜像

[root@git docker]# docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
docker.io/twang2218/gitlab-ce-zh   latest              1f71f185271a        9 days ago          1.63 GB
docker save -o [tar包真实路径] [镜像名 ](ID也可以)
ocker save -o /opt/docker-gitlab-ce-zh.tar  docker.io/twang2218/gitlab-ce-zh

恢复:

docker load -i [tar包真实路径]

docker load -i /opt/docker-gitlab-ce-zh.tar

导出:是根据容器的 ID 进行导出镜像

[root@git docker]# docker ps  -a
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                 PORTS                                                            NAMES
e950a988d058        twang2218/gitlab-ce-zh   "/assets/wrapper"   3 hours ago         Up 3 hours (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:2222->22/tcp   gitlab-wahaha
[root@git docker]# docker export e950a988d058 > /opt/gitlab-zh.tar
[root@git docker]# ls -lh /opt/
total 3.1G
-rw------- 1 root root 1.7G Mar 20 02:16 docker-gitlab-ce-zh.tar
-rw-r--r-- 1 root root 1.5G Mar 20 02:38 gitlab-zh.tar

可以看出导出的镜像比备份的镜像小很多,是因为导出的镜像没历史数据,不能回滚

导入:

[root@git docker]# docker import - git-mast < /opt/gitlab-zh.tar
 git-mast镜像名(注意中间的  -   )
[root@git docker]# docker images
REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
git-mast                           latest              6dfab05161f9        14 seconds ago      1.49 GB
docker/gitlab-zh                   latest              aebe317ba2a3        16 minutes ago      1.72 GB
gitalb-zh                          latest              dd61a1ec3cdc        25 minutes ago      1.72 GB
docker.io/twang2218/gitlab-ce-zh   latest              1f71f185271a        9 days ago          1.63 GB

注:导出 export 与 保存 save 的区别

(1).export导出的镜像文件大小 小于 save保存的镜像

(2).export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag );而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images –tree)

三:准备

我是从这里看到的https://github.com/messense/aliyundrive-webdav/releases

在这里先感谢一下messense无私奉献精神

从这里先把玩客云的三个ipk下载回来

  1. https://github.com/messense/aliyundrive-webdav/releases/download/v1.0.0/aliyundrive-webdav_1.0.0_arm_cortex-a5_vfpv4.ipk
  2. https://github.com/messense/aliyundrive-webdav/releases/download/v1.0.0/luci-app-aliyundrive-webdav_1.0.0_all.ipk
  3. https://github.com/messense/aliyundrive-webdav/releases/download/v1.0.0/luci-i18n-aliyundrive-webdav-zh-cn_1.0.0-1_all.ipk
image-20211214162924169

四:安装

其实官方有安装说明,就是wget三个文件,再opkg install 对应的三个文件

我就比较懒,所以直接使用LCI界面来安装,比较直观

image-20211214163307927

三个文件都上传后,点安装

image-20211214163519589

这样就完成安装了,是不挺简单的

五:配置

主要是Refresh Token代码,查看获取方法网上很多,就跳过这步吧,其它都是默认就可以了

image-20211214165236227

可以看到目录了,这样就成功了

六:总结

这次直接在OpenWrt上安装IPK文件,不使用docker,主要是玩客云的储存空间太小了,ipk文件一共不到2M,这样省点空间,下次还是要弄个X86路由吧,目前种草了灵越3472主板,3D7CM型号的是J5005,主要是功耗非常底,看了老白视频,觉得当非常适合当HTPC及旁路由