OneDrive plugin questions / feature request

  • Hi,


    I just upgraded to OMV6 and found out about the OneDrive plugin. Awesome! Some time ago I already tried setting up my own synchronization with abraunegg's onedrive service, but was struggling with automating the process and forgot about it. Now I noticed the new plugin and it works perfectly, thanks for integrating this!


    There is one thing though... My OneDrive is fairly large (almost 600 GB), and my poor Pi 4 (4 GB RAM) is using quite some resources to check for differences at the configured intervals. I have set it to check once per hour, which is the longest possible interval, and every time it takes 15 minutes even if there are no differences. I can see this in the CPU graph, it's not per se User or System but mostly Wait-IO CPU usage. I have two questions now:

    1. Can Wait-IO CPU usage slow down my Pi, or is it not something to worry about? So far it doesn't seem to give me any problems, but there are other important services (docker containers) running on the Pi and I want to minimize the risk that these are impacted

    2. I don't make changes to my files very often, would it also be possible to set the synchronization interval to e.g. 6, 12 or even 24 hours? That would also allow my harddrive to spin down much more often

  • @mvzut

    Quote


    I just upgraded to OMV6 and found out about the OneDrive plugin. Awesome!

    ...


    There is one thing though... My OneDrive is fairly large (almost 600 GB), and my poor Pi 4 (4 GB RAM) is using quite some resources to check for differences at the configured intervals. I have set it to check once per hour, which is the longest possible interval, and every time it takes 15 minutes even if there are no differences. I can see this in the CPU graph, it's not per se User or System but mostly Wait-IO CPU usage.


    What client version are you running? OMV initially integrated v2.4.17 .. which, if you were using the OpenSuSE Build Service repository, you would be using v2.4.19. There are some significant performance differences between these versions.


    Regarding the differences check .. once per hour is not the longest possible ... please read:

    * 'monitor_interval' - https://github.com/abraunegg/o…USAGE.md#monitor_interval - this is the time between checks of OneDrive for online changes

    * 'monitor_fullscan_frequency' - https://github.com/abraunegg/o…onitor_fullscan_frequency - controls how often the integrity check is performed. This is where I/O intensive operations come from and again is 100% dependent on what client version you are running as to how big of an impact this is.


    Quote

    I don't make changes to my files very often, would it also be possible to set the synchronization interval to e.g. 6, 12 or even 24 hours? That would also allow my harddrive to spin down much more often

    Please re-read the above 2 links. You need to configure your client to operate in alignment with your rate of data change. Potentially this may be ideal for your scenario:

    * 'monitor_interval' = 3600 (check OneDrive online for changes 1hr after completion of last check)

    * 'monitor_fullscan_frequency' = 12 (default, perform integrity check every 12 iterations of checking OneDrive for changes, approx every 12 hours or twice a day)


    Quote

    Some time ago I already tried setting up my own synchronization with abraunegg's onedrive service, but was struggling with automating the process and forgot about it.


    Next time please raise a Discussion for questions with the client - https://github.com/abraunegg/onedrive/discussions - it is better to post there for assistance.

  • votdev

    Added the Label OMV 6.x
  • Thanks for the reply. However, the information doesn't solve my problem unfortunately . I know 60 minutes is not the longest interval, at least not when you use it "stand-alone" as described on GitHub. But 60 minutes is the longest interval that the plugin exposes via the OMV web interface. I want to be able to configure, start/stop etc everything from within OMV, including a longer interval than 60 minutes.


    By the way, does anyone know where the options for the onedrive plugin are stored? If I type "onedrive --display-config" I get a different config than what I set in the OMV plugin. For instance it shows a monitor interval of 300, even though I set it at 60 minutes (=3600 seconds) in the web UI.


    The reason I did not post my question on the onedrive GitHub is that this is OMV specific, I believe.

  • By the way, does anyone know where the options for the onedrive plugin are stored? If I type "onedrive --display-config" I get a different config than what I set in the OMV plugin. For instance it shows a monitor interval of 300, even though I set it at 60 minutes (=3600 seconds) in the web UI.

    The configuration is stored in the /var/cache/onedrive directory.

  • Thanks for the reply. However, the information doesn't solve my problem unfortunately . I know 60 minutes is not the longest interval, at least not when you use it "stand-alone" as described on GitHub. But 60 minutes is the longest interval that the plugin exposes via the OMV web interface. I want to be able to configure, start/stop etc everything from within OMV, including a longer interval than 60 minutes.

    IMO it does not make sense to increase the number of checks greater than 1h. E.g. if you set it to 24h, a full-scan will be done every 24h*12... something you really don't want to have. I don't want to overload the UI with another option for monitor_fullscan_frequency.


    I theory it is possible to let the plugin code configure the monitor_fullscan_frequency depending on the monitor_interval set in the UI, but which values should be used here to make everyone happy?


    If you or anyone else want to see such a feature in OMV, please contribute the code to the project.

  • @mvzut


    With the application 'defaults' / OMV defaults and client version v2.4.20 (which you should be running) - what is your current CPU graph showing you for your performance?


    IMHO - if your data online 'hardly' changes, you still should be checking OneDrive online at least every hour for any data change. This is reasonable. Telling then your system to perform an integrity check twice a day is also reasonable. This is the suggestion I made above. A tweak on this would be:


    * 'monitor_interval' = 3600 (check OneDrive online for changes 1hr after completion of last check)

    * 'monitor_fullscan_frequency' = 24 = perform integrity check every 24 iterations of checking OneDrive for changes


    I would be really interested to see the following:

    * Your current CPU usage graphs - what is the CPU actually doing. Can you graph the 'onedrive' process by itself? What is it actually doing in comparison?

    * Your current experience with these settings given your prior issue statement "I have set it to check once per hour, which is the longest possible interval, and every time it takes 15 minutes even if there are no differences." ... as this will be the integrity check performing its job to validate your data

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!