Jump to content
TheBB

Syncthing

Recommended Posts

Introduction

Syncthing replaces proprietary sync and cloud services with something open, trustworthy and decentralized. Your data is your data alone and you deserve to choose where it is stored, if it is shared with some third party and how it's transmitted over the Internet.

Requirements

  • RAM >= 128 MB and swap

Installation

  • Install necessary packages:
opkg install syncthing
  • Start syncthing:
/opt/etc/init.d/S92syncthing start

Using Syncthing

On the first run  it may take  several minutes to generate certificates. Wait and open http://<ip address of device>:8384 and configure it.

screen_238.png

  • Thanks 1

Share this post


Link to post
Share on other sites

Пара моментов.

1. Может быть пост по данному ПО достоин перекочевать в готовые решения? Пакет собран, работает. Почему бы и нет?

2. Месяца 2 приложение работало отлично, сейчас на 3.00 убивает роутер. То есть при старте забирает все ресурсы (CPU+RAM) и роутер перестает отвечать и по telnet и по dropbear (так же пропадает доступ по SMB). Притом если сессия по SSH уже есть в ней можно перезагрузить роутер командой reboot, просто на это может уйти минут 5. По наблюдением в top почти всегда syncthing находится на верхней строчке по CPU с загрузкой 80-90%, но пару раз наблюдал, что там был процесс ndm с загрузкой 30-40% при тех же симптомах (не отзывчивый роутер).

Хотя сейчас подумал, что недавно после неудачного обновления полностью с форматированием флешки переустановил Entware и сейчас не использую SWAP раздел, который ранее был 1Гб. Скорее всего в этом дело.

Но в целом по диагностике и трабшутингу данного ПО куда смотреть? Есть где-то подробные логи?

Share this post


Link to post
Share on other sites
В 12.04.2019 в 07:07, ankar84 сказал:

Хотя сейчас подумал, что недавно после неудачного обновления полностью с форматированием флешки переустановил Entware и сейчас не использую SWAP раздел, который ранее был 1Гб. Скорее всего в этом дело.

Вернул SWAP раздел - проблема ушла.

Share this post


Link to post
Share on other sites
23 минуты назад, ankar84 сказал:

Вернул SWAP раздел - проблема ушла. 

Пробовал два раза правда на 215 и даже тут выкладывал свои сообщения, не сказать что отлично но работал на 7621 и даже без swap раздела с подключенными винтами HDD на USB3.

Share this post


Link to post
Share on other sites
4 минуты назад, vasek00 сказал:

работал на 7621 и даже без swap раздела с подключенными винтами HDD на USB3.

Вот мне кажется, что около недели проработало без SWAP раздела. А потом просто что-то случилось и Syncthing стал капитально завешивать роутер. Пробовал удалять папку /opt/etc/syncthing/index-v0.14.0.db (в качестве меры попробовать начать с нуля, сбросить кэш), приложение начало ее формировать заново, но не смогло завершить, зависало вместе с роутером.

Помогло только возвращение SWAP раздела. Сейчас работает как нужно. Винт так же воткнут в USB3.

Share this post


Link to post
Share on other sites

Попробовал на релизе 3 по ощущениям конечно нагрузка прибавилась, но система отзывчива все равно.

1003296022_-2.jpg.5bac02ab8f63570286d601b9d60b5f10.jpg

Во второй части синхр.каталога (т.е. есть в исходнике на ПК но нет на роутере) в котором 105 файлов jpg на сумму 656МБ при потоке по сети в 35Мбит

814582443_-6.jpg.32435deb79e90387d237d4649c26b147.jpg

Памяти

1151219864_-4.jpg.8baed59215f4b65df04361a35384f223.jpg

Загрузка CPU по приложениям 4*100=400%

984114451_-3.jpg.df8d2421c97d44682254a5a63c78474e.jpg

Swap не использовал, винт HDD подключен USB3, тут как бы самому процу жутковато.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Syncthing should not run as a privileged or system user. Please consider using a normal user account.

Как такое решать?

Share this post


Link to post
Share on other sites

Обновление с работающего релиза 1.6 на релиз 1.8 и как итог новый релиз не запущен.

 

 

Каталог /opt/etc/syncthing от релиза 1.6 и делаем обновление. K92.... просто переименован из S92....

/opt/etc/syncthing # ls -l
-rw-r--r--    1 root     root           619 Apr 18  2019 cert.pem
-rw-r--r--    1 root     root          4426 Apr 18  2019 config.xml
-rw-r--r--    1 root     root            33 Apr 18  2019 csrftokens.txt
-rw-r--r--    1 root     root           607 Apr 18  2019 https-cert.pem
-rw-r--r--    1 root     root           288 Apr 18  2019 https-key.pem
drwxr-xr-x    2 root     root          1024 Sep 16 11:12 index-v0.14.0.db
-rw-r--r--    1 root     root           288 Apr 18  2019 key.pem
/opt/etc/syncthing # 
/opt/etc/init.d # ./K92syncthing start
 Starting syncthing...              done. 
/opt/etc/init.d # ps
  PID USER       VSZ STAT COMMAND
    1 root      1056 S    init
    2 root         0 SW   [kthreadd]
    4 root         0 SW<  [kworker/0:0H]
    6 root         0 SW   [ksoftirqd/0]
    ...
 3049 root      667m S    syncthing
 3059 root      667m S    syncthing
 ...
/opt/etc/init.d # syncthing -version
syncthing v1.6.0-rc.5 "Fermium Flea" (go1.14.3 linux-mipsle) ryzhovau@builder 2020-06-17 17:16:23 UTC

                                       
/opt/etc/init.d # opkg upgrade
...
Upgrading syncthing on root from 1.6.0-rc.5-1 to 1.8.0-1...
Downloading http://bin.entware.net/mipselsf-k3.4/syncthing_1.8.0-1_mipsel-3.4.ipk
...
/opt/etc/init.d # ./K92syncthing start
 Starting syncthing...              failed. 
/opt/etc/init.d #                                                        

Удаление syncthing и его каталога /opt/etc/syncthing, а потом чистая установка

/opt/etc/init.d # ./S92syncthing start
 Starting syncthing...              done. 
panic: qtls.ClientSessionState not compatible with tls.ClientSessionState

goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.2()
        /home/ryzhovau/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.17.3/internal/handshake/unsafe.go:26 +0x22c
sed: /opt/etc/syncthing/config.xml: No such file or directory
/opt/etc/init.d #

При закидывание сохраненного ранее конфа в каталог и запуска

/opt/etc/init.d # syncthing
panic: qtls.ClientSessionState not compatible with tls.ClientSessionState

goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.2()
        /home/ryzhovau/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.17.3/internal/handshake/unsafe.go:26 +0x22c
/opt/etc/init.d # 

Для создания коф файла

S92syncthing start

...

. /opt/etc/init.d/rc.func

if [ ! -d /opt/etc/syncthing ]; then
   syncthing -generate="/opt/etc/syncthing"
   sed -i 's|127.0.0.1:8384|0.0.0.0:8384|' /opt/etc/syncthing/config.xml
elif [[ -f /opt/etc/syncthing/config.xml ]]; then
   sed -i 's|127.0.0.1:8384|0.0.0.0:8384|' /opt/etc/syncthing/config.xml
fi

Если же в ручную

/opt/etc/init.d # syncthing -generate="/opt/etc/syncthing"
panic: qtls.ClientSessionState not compatible with tls.ClientSessionState

goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.2()
        /home/ryzhovau/go/pkg/mod/github.com/lucas-clemente/quic-go@v0.17.3/internal/handshake/unsafe.go:26 +0x22c
/opt/etc/init.d # 

 

Сам конфиг если смотреть после обновления вырос по строкам если брать основную часть

Скрытый текст

1.6

...
    <gui enabled="true" tls="true" debugging="false">
        <address>0.0.0.0:8384</address>
        <user>Giga</user>
        <password>$2a$10...........lW</password>
        <apikey>h95H.............25tq</apikey>
        <theme>default</theme>
    </gui>
    <ldap></ldap>
    <options>

    <options>
        <listenAddress>default</listenAddress>
        <globalAnnounceServer>default</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21027</localAnnouncePort>
        <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
        <maxSendKbps>0</maxSendKbps>
        <maxRecvKbps>0</maxRecvKbps>
        <reconnectionIntervalS>60</reconnectionIntervalS>
        <relaysEnabled>true</relaysEnabled>
        <relayReconnectIntervalM>10</relayReconnectIntervalM>
        <startBrowser>true</startBrowser>
        <natEnabled>true</natEnabled>
        <natLeaseMinutes>60</natLeaseMinutes>
        <natRenewalMinutes>30</natRenewalMinutes>
        <natTimeoutSeconds>10</natTimeoutSeconds>
        <urAccepted>-1</urAccepted>
        <urSeen>3</urSeen>
        <urUniqueID></urUniqueID>
        <urURL>https://data.syncthing.net/newdata</urURL>
        <urPostInsecurely>false</urPostInsecurely>
        <urInitialDelayS>1800</urInitialDelayS>
        <restartOnWakeup>true</restartOnWakeup>
        <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
        <upgradeToPreReleases>false</upgradeToPreReleases>
        <keepTemporariesH>24</keepTemporariesH>
        <cacheIgnoredFiles>false</cacheIgnoredFiles>
        <progressUpdateIntervalS>5</progressUpdateIntervalS>
        <limitBandwidthInLan>false</limitBandwidthInLan>
        <minHomeDiskFree unit="%">10</minHomeDiskFree>
        <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
        <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
        <tempIndexMinBlocks>10</tempIndexMinBlocks>
        <trafficClass>0</trafficClass>
        <defaultFolderPath>~</defaultFolderPath>
        <setLowPriority>true</setLowPriority>
        <maxConcurrentScans>0</maxConcurrentScans>
    </options>


1.8

    <gui enabled="true" tls="true" debugging="false">
        <address>0.0.0.0:8384</address>
        <user>Giga</user>
        <password>$2a$10$........LlW</password>
        <apikey>h95H...........w25tq</apikey>
        <theme>default</theme>
    </gui>
    <ldap></ldap>
    <options>
        <listenAddress>default</listenAddress>
        <globalAnnounceServer>default</globalAnnounceServer>
        <globalAnnounceEnabled>true</globalAnnounceEnabled>
        <localAnnounceEnabled>true</localAnnounceEnabled>
        <localAnnouncePort>21027</localAnnouncePort>
        <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
        <maxSendKbps>0</maxSendKbps>
        <maxRecvKbps>0</maxRecvKbps>
        <reconnectionIntervalS>60</reconnectionIntervalS>
        <relaysEnabled>true</relaysEnabled>
        <relayReconnectIntervalM>10</relayReconnectIntervalM>
        <startBrowser>true</startBrowser>
        <natEnabled>true</natEnabled>
        <natLeaseMinutes>60</natLeaseMinutes>
        <natRenewalMinutes>30</natRenewalMinutes>
        <natTimeoutSeconds>10</natTimeoutSeconds>
        <urAccepted>3</urAccepted>
        <urSeen>3</urSeen>
        <urUniqueID>eEcссссM</urUniqueID>
        <urURL>https://data.syncthing.net/newdata</urURL>
        <urPostInsecurely>false</urPostInsecurely>
        <urInitialDelayS>1800</urInitialDelayS>
        <restartOnWakeup>true</restartOnWakeup>
        <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
        <upgradeToPreReleases>false</upgradeToPreReleases>
        <keepTemporariesH>24</keepTemporariesH>
        <cacheIgnoredFiles>false</cacheIgnoredFiles>
        <progressUpdateIntervalS>5</progressUpdateIntervalS>
        <limitBandwidthInLan>false</limitBandwidthInLan>
        <minHomeDiskFree unit="%">10</minHomeDiskFree>
        <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
        <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
        <tempIndexMinBlocks>10</tempIndexMinBlocks>
        <trafficClass>0</trafficClass>
        <defaultFolderPath>~</defaultFolderPath>
        <setLowPriority>true</setLowPriority>
        <maxFolderConcurrency>0</maxFolderConcurrency>
        <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
        <crashReportingEnabled>false</crashReportingEnabled>
        <stunKeepaliveStartS>180</stunKeepaliveStartS>
        <stunKeepaliveMinS>20</stunKeepaliveMinS>
        <stunServer>default</stunServer>
        <databaseTuning>auto</databaseTuning>
        <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
    </options>

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Откат на 1.6 проблем не создал, все запускается

/opt/etc/init.d # ./S92syncthing start
 Starting syncthing...              done. 
11:47:12 INFO: Device ID: VZDSZ.....P3FG7AB
11:47:12 INFO: Default folder created and/or linked to new config
/opt/etc/init.d # syncthing -version
syncthing v1.6.0-rc.5 "Fermium Flea" (go1.14.3 linux-mipsle) ryzhovau@builder 2020-06-17 17:16:23 UTC
/opt/etc/init.d # 

/opt/etc/syncthing # ls -l
-rw-r--r--    1 root     root           615 Sep 16 11:47 cert.pem
-rw-------    1 root     root          4858 Sep 16 11:47 config.xml
-rw-r--r--    1 root     root           607 Sep 16 11:47 https-cert.pem
-rw-------    1 root     root           288 Sep 16 11:47 https-key.pem
drwxr-xr-x    2 root     root          1024 Sep 16 11:48 index-v0.14.0.db
-rw-------    1 root     root           288 Sep 16 11:47 key.pem
/opt/etc/syncthing # 

 

Share this post


Link to post
Share on other sites
15 часов назад, zyxmon сказал:

1.9.0 скоро будет в репе. Работает.

Проверил все запустилось.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...