有人用 NextCloud 同步大文件出错的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
jackey007
V2EX    Linux

有人用 NextCloud 同步大文件出错的吗?

  •  
  •   jackey007 2022-08-11 02:32:16 +08:00 6977 次点击
    这是一个创建于 1237 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 NC 客户端同步文件,1G 左右的文件同步报错,修改 apache 的 php.ini 和 NC 的.user.ini 文件解决了。我把 upload_max_filesize ,post_max_size 和 memory_limit 都修改为 16G 了,连一个 3.6G 的文件都同步不了。请问有遇到过类似问题的筒子吗?

    报错:Class 'OC\Log\ExceptionSerializer' not found at ./nextcloud/web/lib/private/Log.php#318

    搜索过这个问题,github 上也没看出一个明确的解决方案。

    33 条回复    2024-11-29 20:43:29 +08:00
    jackey007
        1
    jackey007  
    OP
       2022-08-11 02:33:35 +08:00
    实在解决不了,怕是还得折腾 seafile ,悲催……
    T0m008
        2
    T0m008  
       2022-08-11 03:43:58 +08:00
    apache 的 LimitRequestBody 也要提高
    documentzhangx66
        3
    documentzhangx66  
       2022-08-11 06:42:06 +08:00   1
    1.传输文件的大小,与 upload_max_filesize 、post_max_size 、memory_limit 这些参数,其实都没什么关联。无论分时还是切片,都可以绕过这些东西。

    2.我很怀疑,NextCloud 连个传输文件都做不好,checksum 这种事情,它更不可能做了吧?

    3.搜了一下,隔壁 ownCloud 也有这个问题。

    4.不过回头想想,这种开源软件开发商,本质上其实就是个前端公司,技术实力并不是他们的强项,他们的主要任务是,提供一个罗永浩式的可用的功能,然后主要精力是美化软件。几年前 syncthing 连文件同步逻辑都没做好。真要技术强了,早就去做商业化了,干嘛还开源。

    5.所以,不建议用这些玩意同步你的重要数据。如果一定要,外面打个包,zip 都行,这样自己还可以检查数据的正确性,或者在解压时被动检查。另外自己还要再搞一套文件备份机制,别拿它当做备份。
    bs10081
        4
    bs10081  
       2022-08-11 06:42:07 +08:00
    @jackey007 我主流的 self-hosting 基本都用,最後是得群 + Seafile ,Seafile 拿使用非常 nice ,群拿同步案。
    Osk
        5
    Osk  
       2022-08-11 07:40:40 +08:00
    nextcloud 传大文件的时候, 是有点折腾, 一个是 httpd 的一些设置, 你已经改了.


    另一个可能是: nextcloud 默认分片传输, 所有分片传完后, 后台会执行复制来合并分片, NVMe 这种还好, HDD 容易超时... 可以关闭分片试试.


    最后: nextcloud 的核心功能有大问题, 慎用... 不知道现在解决动不动读取整个文件内容这个 bug 没有.
    hhacker
        6
    hhacker  
       2022-08-11 08:36:01 +08:00
    nextcloud 最大的问题是大版本升级很容易升挂,不能跨版本升级,如果跨了大版本,不会有提示然后系统就挂了
    rshun
        7
    rshun  
       2022-08-11 08:38:19 +08:00
    如果你走的是 CF ,你可以直连试试
    dototototo
        8
    dototototo  
       2022-08-11 09:48:09 +08:00
    说下我的经历,我最大上传过 12 G 的文件没出现问题,你可以先看下官方指导里说的一些设置对不对。https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html

    还有看下 Nextcloud 的后台检测结果,是不是什么配置没弄好?如果没弄好的话它会有提示的。
    neroxps
        9
    neroxps  
       2022-08-11 09:54:20 +08:00
    @jackey007 #1 seafile 客户端传输文件时候需要提前切片,web 传输文件需要服务器切片,多人同时在 web 端传输大文件的话,会耗尽服务器 CPU 资源。

    seafile 还是适合做文本文档小文件备份,大量大文件(如视频、照片)没有极致的版本管理需求的,不太合适。

    我用了 3 年 seafile 社区版,最终还是换回群辉。手机客户端找文件比 seafile 方便(企业版才能搜索)。
    bubbleteaclub
        10
    bubbleteaclub  
       2022-08-11 13:30:46 +08:00
    我也是同步大文件出错,我按照这个修改了的
    https://www.wuwenlong.net/archives/220
    看起来是比你的多改了一行:
    > max_execution_time=0#默认是 30 秒,改为 0 ,表示没有上传时间限制
    gengchun
        11
    gengchun  
       2022-08-11 13:58:21 +08:00
    我用 NC 这种的原因就是出问题自己能修,而且能直接在线调。NC 这种算是最简单的架构。有一些基础,很多问题可以自己处理。数据也容易恢复。

    类似 seafile 这种直接用 C 实现的,反正我是不会用的,因为不想花时间去看代码。

    要防止文件损坏,建议用 raid 或者支持类似功能的文件系统,比如说 btrfs, zfs 这种。这个其实和同步是两个问题。


    @neroxps 强调分布式都有这个问题,tidb 一开始的实现也是 QPS 因为 CPU 限制上不去,这个是很要命的。没有现成方案,要优化需要相当的技术,不是堆工时可以解决的事情。
    jackey007
        12
    jackey007  
    OP
       2022-08-11 16:10:12 +08:00
    @bs10081 我用的是基于 debian 的 UNAS ,一个国产 NAS 软件。挂载我用的 UNAS 自带的,之前也用它自带的同步,一直没有问题,但是这个同步软件没有移动端,所以才开始折腾
    jackey007
        13
    jackey007  
    OP
       2022-08-11 16:21:25 +08:00
    我看了一下,我的 php.ini 和.htaccess 文件里都没有这个选项,请问这个选项是在哪个文件的设置里?
    jackey007
        14
    jackey007  
    OP
       2022-08-11 16:23:56 +08:00
    @bs10081 看来要做好同步盘不容易啊。我之前用的 UNAS 自带的同步,用了几年,倒是没出问题,只是这玩意儿没有移动端
    jackey007
        15
    jackey007  
    OP
       2022-08-11 16:24:20 +08:00
    @hhacker 调稳定,就没打算升级,哈哈
    jackey007
        16
    jackey007  
    OP
       2022-08-11 16:24:51 +08:00
    @rshun 不是的,我的测试都是在内网 ip 直连的
    jackey007
        17
    jackey007  
    OP
       2022-08-11 16:25:58 +08:00
    @dototototo 好的,谢谢,我确认一下。Nextcloud 小白,请问后台检测结果要在哪里看?
    jackey007
        18
    jackey007  
    OP
       2022-08-11 16:35:10 +08:00
    @bubbleteaclub 这个链接我打不开。但是这个应该不是问题,我内网测试的,max_execution_time=3600 ,这里不会超时。对了,请问您用得 NC 是哪个版本的?我的是 20.0.0 ,不止是不是后续版本解决了这个问题。我搜索报错信息,github 上有讨论过:
    https://github.com/nextcloud/server/issues/24558
    jackey007
        19
    jackey007  
    OP
       2022-08-11 19:04:14 +08:00
    感谢大家的回复,我的问题解决了。最终的问题其实很简单。
    官方文档里关于 output_buffering 的修改陈述是这样的:
    Output Buffering must be turned off in .htaccess or .user.ini or php.ini
    我之前看.htaccess 和.user.ini 里都已经设置为 output_buffering = 0 了,就没有在 php.ini 里设置,今天才发现其实不行。把 php.ini 里的相应项设置为 output_buffering = OFF 就正常工作了。目前测试过 7.3GB 的文件同步,没有发现问题。
    再次感谢大家。
    bs10081
        20
    bs10081  
       2022-08-11 19:52:50 +08:00
    @jackey00 #12 #14 是的,Seafile 最大的我得倒不是 @neroxps #9 所的性能,竟以我的( 1Gbps/1Gbps )及莓派 4B 4G 的弱性能件下,多人( 5 人)使用的候,CPU 也有超 50%,一般都在 5~15%徘,系是官方 64bit 。

    Seafile 最大的是,它的手 App 非常用,特是打一存了照片或影片的料,就出卡死的,得等到整料都 cache 下以後才恢正常,法忍受,太用了。

    但是的 App 我得算是目前同步中的佼佼者,速度快( Seafile 同步完 5 案小零碎案以後,Synology Drive 才同步了 4000 多案),定不吃性能(相 PHP 的 NextCloud 及 Synology Drive ,C 的 Seafile 完 )。

    特是 SeaDrive ,存式的非常舒服,我都拿存截,永用不完的截空(案先存在本地,後上至 Server 後,且超 Cache 留存件,就本地除),哈哈哈。下面就是通 Seafile 分享的。

    ![]( https://sync.bs10081.com/seafhttp/files/f91d6d94-7b00-4182-8b3a-6361b7b793bd/CleanShot%202022-08-11%20at%2019.49.31%402x.png)

    ,如果需要一好用的手 App ,是乖乖群比好,Seafile 和 Synology Drive 配合使用。

    附上我使用的 Seafile Image ( Docker 容器)

    https://github.com/ggogel/seafile-containerized
    neroxps
        21
    neroxps  
       2022-08-11 22:50:40 +08:00 via iPhone
    @bs10081 seafile 客户端是本地客户端切片再上传。如果你试过同步多个 超过 6G 的单文件的话,同步速度是没有 nextcloud 或者群晖快。这不是性能局限了,是他存储模式必须切块,小文件切块很快,大文件就得等等了。
    web 端因为没有程序 必须服务器切块,所以就更局限了。
    但我是因为手机端实在受不住才放弃它的。
    jackey007
        22
    jackey007  
    OP
       2022-08-12 00:17:26 +08:00
    @bs10081 您这个体验很细致。我的要求其实不高,只要同步稳定,不出错就行。负载的话,我的 NAS 是 8100CPU 和 16G 内存,就家人使用,客户端数量不超过 5 个,也基本不会同时同步大文件,所以不会有问题。要求很简单,但是要求部署好以后可以稳定运行。
    dototototo
        23
    dototototo  
       2022-08-12 00:56:55 +08:00 via Android
    @jackey007 就是管理员后台概览那个页面,它有一些固定检测项目,没通过会有提示。
    dototototo
        24
    dototototo  
       2022-08-12 00:58:44 +08:00 via Android
    发现已经解决了呀,恭喜~
    bs10081
        25
    bs10081  
       2022-08-12 02:43:26 +08:00
    @jackey007 #22 家人使用的,比吃手 App ,但是 Seafile 手 App 又做的不好 QAQ ,NextCloud 的又不佳
    ungrown
        26
    ungrown  
       2022-08-15 10:55:45 +08:00
    @jackey007 #1 怎么说呢,虽然我没用过 nextcloud ,而且在用 seafile ,但我只能先提醒你,也许 seafile 比 nextcloud 好,但绝没有到能让你完全不闹心的程度。
    seafile 也会出现无法及时检测到文件变动、无法及时获取已更新文件、多个同步终端会频繁产生冲突文件……等等闹心问题,也是个需要哄、需要妥协、需要让步的主。
    实际上,这些开源方案都有不少的小毛病,可能 seafile 已经算这里面做得不错的了(毕竟有付费分支)
    我用的坚果云同步比 seafile 稳得多,但偶尔偶尔偶尔也会出些非常小的问题。

    当然,换 seafile 确实是值得的。
    linuxgo
        27
    linuxgo  
       2022-08-18 16:03:00 +08:00
    nc 我用了很久了,中间也出现过一些 bug ,甚至无法上传文件,但是随着不断更新,现在问题越来越少了,app 同步文件的功能也很好用了,每次都是我刚用相机拍完一张照片,nc 就在后台开始上传了。
    seafile 看介绍说服务端采用加密方式,这个很危险哦,一旦那天 seafile 出问题了,那不是所有文件都报废了?而且像我的应用,在家里用的 samba ,出门才用 nc 。如果文件加密了,在家里 samba 就打不开了,没法用
    jackey007
        28
    jackey007  
    OP
       2022-08-22 00:55:05 +08:00 via iPad
    更新一下,我把 php.ini 里的 output_buffering 设为 off 时,unas 的管理页面打不开,需要设置 htaccess 和.user.ini 为 output_buffering = OFF 。另外,在内网同步还是会报错,外网不会,限制上传速度为 10MB 以后解决,应该是上传速度过快导致的问题。目前使用良好,暂时未出现问题。
    bubbleteaclub
        29
    bubbleteaclub  
       2022-08-31 14:52:33 +08:00
    @jackey007 我用的 24.0.1 ,好久没看 V2EX 了,发现已经解决啦,恭喜你
    lllong33
        30
    lllong33  
       2022-11-11 13:49:28 +08:00
    大佬们, 请教一下
    lllong33
        31
    lllong33  
       2022-11-11 13:50:56 +08:00
    大佬们, 请教一下, 写代码碰到的文件冲突怎么解决
    1. IDEA 写代码时会一直提示保存系统版本还是本地版本(file cache conflict)
    2. vscode 后会出现一些乱码
    wlxb2019
        32
    wlxb2019  
       2024-11-27 15:37:51 +08:00
    我使用客户端把本地文件同步到 web 服务器也大佬,我使用 nextcloud 同步电脑上的文件到服务器,上传几百 M 就失败,有时候报 413 错误,有时候提示文件大。我根据搜索出来的方法放大了上传文件体积,但仍然是这样。我前端挂了 cdn ,有解决思路吗
    jackey007
        33
    jackey007  
    OP
       2024-11-29 20:43:29 +08:00
    @wlxb2019 是不是 cdn 的问题?先在内网试试?我现在用 docker 的 nextcloud ,好久没碰到过奇怪的问题了。对了,我在外网是用 zerotier 回去的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5649 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 02:52 PVG 10:52 LAX 18:52 JFK 21:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86