私有云盘-可道云-安装和使用和数据迁移

私有云盘是什么

随着云计算和移动办公大潮的到来,iPad、智能手机等家庭联网设备不断增多,以及搭载小容量SSD笔记本电脑的流行,能够跨平台分享的个人云服务需求不断增长;而今天的个人云服务也已经极大丰富,从2TB的百度网盘到商务人士中流行的Dropbox和Box个人云,不但免费,而且功能界面简单易用。

但是,对于影音发烧友、高度重视数据安全、数据密集型的极客和中小企业用户而言,个人DIY的私有云依然是不二的选择。目前市场上的私有云产品大致可以分为四类:PC私有云、NAS私有云、智能路由私有云和WiFi移动存储私有云。

何为免费,就是不用花钱,购买nas,智能路由和移动WiFi来搭建以及服务器来搭建都需要花钱。

为什么选择可道云

可道云kodbox:可能国内是最好用的开源网盘。搭建简单,插件丰富,操作友好

企业版都是不开源的。都是基础版(社区版)免费+企业版收费的方式

个人搭建可道云网盘甚至承担了NAS的功效,把家中近10T的硬盘资源真正盘活了,随时随地可以登录网页来查看陈年的文件、照片;随时随地,可以通过手机来看视频、查文档,可道云APP也几乎成了我常用的APP之一。

可道云搭建

可道云安装

推荐使用docker compose进行安装,参考教程:https://juejin.cn/post/7200396667506016293

这是我的docker-compose.xml

version: "3.1"
services:
  db:
   image: mariadb
   command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
   volumes:
     - "./db:/var/lib/mysql"
   environment:
     - "TZ=Asia/Shanghai"
     - "MYSQL_ROOT_PASSWORD=sbsn555"
     - "MYSQL_DATABASE=kodbox"
     - "MYSQL_USER=kodbox"
     - "MYSQL_PASSWORD=sbsn555"
  app:
   image: kodcloud/kodbox
   ports:
    - 1119:80
   links:
    - db
    - redis
   volumes:
    - "./site:/var/www/html"
   restart: always
  redis:
   image: redis:alpine
   environment:
    - "TZ=Asia/Shanghai"
   restart: always                    

可道云基础使用

https://demo.kodcloud.com/#user/login --官网提供的体验网站

1 文件上传

图形化操作很简单,此处不再赘述

2 多端支持

下载客户端,然后输入 ip:port 进行连接远程服务器,使用用户名密码登录登录

3 文件保存(注意只有非空文件会被保存到数据库)

注:在个人文档中的数据会被保存到数据库db,db又会同步保存到local storage 中

1、非空文件最终会保存到数据库和磁盘local storage中,但是不会区分是谁的文件

2、保存到local storage时即便是创建了目录,磁盘中也不会做任何区分

4 插件使用

https://post.smzdm.com/p/apvn77kx/pic_12/

5 文件备份(覆盖式)

文件备份只支持本数据库的文件备份不支持跨库的文件备份

6 数据库查看

1、用户的document 的数据都在这里

2、用户数据相关的文档在这里

可道云数据迁移(注意是覆盖式)

磁盘数据迁移原理

直接单纯的文件拷贝是不能用的,甚至服务都起不来,数据迁移其实分为两部分 数据库mysql迁移 + 磁盘数据迁移

1、数据库mysql迁移 /data/docker2/site/db

数据库中保存了用户信息,和用户的文档内容,所以这个是主要备份对象

2、磁盘数据迁移 /data/docker2/site/data/files

磁盘中保存了一些系统文件和所有个人用户的文档(注没有任何路径区分,且只有admin用户可以看到)

具体操作:

旧的数据库:docker_db_1 (mariadb)

新的数据库:docker2_db_1 (mariadb)

1、进入旧的数据库容器 docker_db_1 中将数据库kodbox导出为backup.sql

mysqldump -ukodbox -psbsn555 kodbox --column-statistics=0 > backup.sql

2、进入新的数据库容器 docker2_db_1 将 backup.sql 导入

mysql -ukodbox -psbsn555 kodbox < backup.sql

root@3c38f554638e:/var/lib/mysql# mysql -ukodbox -psbsn555 kodbox < backup.sql

mysql: [Warning] Using a password on the command line interface can be insecure.

root@3c38f554638e:/var/lib/mysql#

效果:

可以看到旧的云盘文件已经迁移到新的云盘文件了

其他:

官方文档: https://docs.kodcloud.com/setup/migratokod2/