haiwen / seafile

High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features.
http://seafile.com/
Other
12.27k stars 1.54k forks source link

seaf-fuse Input/output error , some users not shown and files corrupted #2718

Closed bhzhu203 closed 6 months ago

bhzhu203 commented 11 months ago

version seafile-server-9.0.9

Like this

ls ~/tmp ls: reading directory '/root/tmp': Input/output error

图片

1. When users increase to 35+ ,some of the users can not be shown/found on Fuse FS. Need to delete the user ,and recreate it. Then , they appear out.

2. Some files are corrupted on the Fuse FS ,md5sums are not the same as original files. So need to delete the files on the seahub, then refind/recover them from trash can.

Finally ,the md5sums are correct.

killing commented 11 months ago

For the first issue, you should check seaf-fuse.log for any errors. Are there anything special about the users?

The second issue is normal as your data is corrupted.

bhzhu203 commented 11 months ago

seaf-fuse.log

  1. NO seaf-fuse.log has no special log output. seaf-fuse have no debug log output option
  2. But I can get/download the correct data from seahub

There are someones have the same issues as mine. https://forum.seafile.com/t/using-ls-on-seaf-fuse-mount-point-throws-input-output-error/10428

bhzhu203 commented 11 months ago
root@seafile:~# umount ~/tmp ; rm -vf /seafile/logs/seaf-fuse.log

###################################################################################
#Using the offical seafile-server 9.0.9 seaf-fuse ,showing there is 43 files/users

root@seafile:~# /opt/seafile-server-latest/seaf-fuse.sh start /root/tmp
Starting seaf-fuse, please wait ...
seaf-fuse started

Done.
root@seafile:~# ls ~/tmp | wc
ls: reading directory '/root/tmp': Input/output error
     43      43     845

#############################################################################################################################################
#Using the latest seafile-server f659a910c9579eee7fd7e1c35cf6dccc64ff9413 seaf-fuse (compiled by myself),showing there is 56 files/users , but still not completed

root@seafile:~# umount ~/tmp
root@seafile:~# /usr/bin/seaf-fuse -c /seafile/ccnet -d /seafile/seafile-data -F /seafile/conf -l /seafile/logs/seaf-fuse.log /root/tmp
root@seafile:~# ls ~/tmp | wc
ls: reading directory '/root/tmp': Input/output error
     56      56    1105
root@seafile:~# cat  /seafile/logs/seaf-fuse.log
2023-11-16 16:17:28 ../common/seaf-utils.c(328): Use database sqlite
2023-11-16 16:17:57 ../common/seaf-utils.c(353): Use database sqlite
2023-11-16 16:21:48 ../common/seaf-utils.c(328): Use database sqlite
2023-11-16 16:22:05 ../common/seaf-utils.c(353): Use database sqlite
bhzhu203 commented 6 months ago

seaf-fuse is working wrong when mounting a lots of users / directories / files , some of them disapear

freeplant commented 6 months ago

This may be related to use SQLite as database. Can you try to upgrade your server to version 10 and then migrate to MySQL database?

bhzhu203 commented 6 months ago

This may be related to use SQLite as database. Can you try to upgrade your server to version 10 and then migrate to MySQL database?

Ok I will try to test it