Istnieje możliwość wykorzystania z przestrzeni OneDrive dostępnej w ramach uczelnianej subskrypcji Microsoft365. Czyli przestrzeni dostępnej dla pracowników po zalogowaniu na konto służbowe w domenie @p.lodz.pl. Dzięki temu można w łatwy sposób przenosić oraz współdzielić dane.

Niestety łatwy bezpośredni dostęp do usług Microsoft z poziomu systemów Linux, a w szczególności klastra obliczeniowego nie jest możliwy.
Jest jednak dość uniwersalne obejście tego problemu, które będzie opisane poniżej.


  • przenoszenia danych pomiędzy lokalnym komputerem a klastrem,
  • współpracy z innymi przez udostępnianie danych zapisanych w przestrzeni OneDrive,
  • archiwizowania danych


Przestrzeń OneDrive to chmura plikowa umieszczona daleko w internecie. Nie nadaje się do prowadzenia bezpośrednich obliczeń na danych z tej przestrzeni. Na pewno będzie to bardzo niewydajne a najprawdopodobniej zakończy się zawieszeniem procesów obliczeniowych lub węzła obliczeniowego.


Wykorzystanie aplikacji rclone.

Aplikacja rclone jest programem typu open source służącą do min do synchronizacji danych pomiędzy przeróżnymi rozwiązaniami chmurowymi w szczególności chmurą OneDrive.

Jest to aplikacja uruchamiana w trybie terminalowym na wszystkich platformach. Zwykle wykorzystuje się ją wywołując komendę z odpowiednimi parametrami.

Aplikacja umożliwia również montowanie i używanie zdalnych udziałów chmurowych jak zwykłe przestrzenie dyskowe. Poniżej znajduje się opis jak w najprostszy sposób ją skonfigurować, oraz wykorzystać w klastrze BO.


Procedura polega na

Dla ułatwienia poniżej zaprezentowano rozwiązanie w postaci procedury.

Lp.Gdzie wykonywaćWykonywana czynnośćJak wykonaćPodpowiedzi

1

Lokalnie
na swoim komputerze

zainstalować aplikację rcloneŚciągnąć https://rclone.org/downloads/ 
i rozpakować pakiet dla odpowiedniej platformy
Rozpakować archiwum w wygodny dla siebie miejscu. Można przezwać rozpakowany katalog na rclone. Program będziemy uruchamiali podając w terminalu pełną ścieżkę dostępu.
2Lokalnie
na swoim komputerze
skonfigurować prawidłowo
udział OneDrive
Zgodnie z instrukcją https://rclone.org/onedrive/

Uproszczona instrukcja odpowiedzi na pytania konfiguracyjne:

Polecenie: rclone config

Enter name for new remote.
name>OneDrive
Storage> 31
client_id>(puste)
client_secret>(puste)
region>1
Edit advanced config? n
Use web browser to automatically authenticate rclone with remote? y
(Uwaga: Powinno otworzyć się okno w przeglądarce,  w którym trzeba prawidłowo zalogować się do własnej przestrzeni OneDrive)


Dla przestrzeni osobistej OneDrive

config_type>1
config_driveid>1


Dla przestrzeni zespołu Teams
config_type>4
Option config_search_term.
Search term
Enter a value.
config_search_term> Tu wpisujemy część nazwy zespołu w celu wyszukania
config_site> Podajemy numer wyszukanego zespołu
Option config_driveid.
Select drive you want to use
Choose a number from below, or type in your own string value.
Press Enter for the default (...).
 1 / Dokumenty (documentLibrary)
   \ (...)
config_driveid>np 1


Drive OK?
Found drive "root" of type "business" y
Keep this "OneDrive" remote? y

3Lokalnie
na swoim komputerze
sprawdzenie czy nasza konfiguracja działa prawidłowo

Wydaj polecenie w konsoli

rclone lsd OneDrive:/


Polecenie powinno wyświetlić zawartość przestrzeni OneDrive
4Lokalnie
na swoim komputerze
przegranie konfiguracji na klaster BlueOcean

Wydaj polecenie w konsoli

scp -P 2222 ~/.config/rclone/rclone.conf <username>@blueocean.p.lodz.pl:~/.config/rclone/

Na Windows:

scp -P 2222 <uzyskana ścieżka > <username>@blueocean.p.lodz.pl:~/.config/rclone/



Na Windows ścieżkę do pliku z konfiguracją rclone możemy uzyskać poleceniem:


rclone config file


5

W konsoli klastra BO

montowanie przestrzeni OneDrive do wcześniej stworzonego katalogu o nazwie OneDrive w katalogu domowym użytkownika

Wydaj polecenie w konsoli
rclone mount --daemon --vfs-cache-mode=full OneDrive:/ ~/OneDrive



6

W konsoli klastra BO

sprawdzenie czy montowanie działa

Wydaj polecenie w konsoli

ls ~/OneDrive

Polecenie powinno pokazać zawartość przestrzeni OneDrive.
7

W konsoli klastra BO

odmontowanie przestrzeni OneDrive

Wydaj polecenie z konsoli

fusermount -u OneDrive

Podczas odmontowania nie może być otwarty żaden plik lub katalog w przestrzeni OneDrive.
Katalog Onedrive nie może być również aktywnym katalogiem w terminalu.


  • Zamontowana przestrzeń jest widoczna jedynie na węźle na którym właśnie ją zamontowaliśmy. Na każdym wymaganym węźle trzeba ją montować / odmontowywać niezależnie.

  • Co 90 dni wygasa token autoryzacyjny do OneDrive. Oznacza to, że trzeba odświeżyć konfigurację rclone związaną z OneDrive. Patrz procedura odświerzenia tokena autoryzacyjnego.


Procedura odnowienia tokena polega na:

Procedura odnowienia tokana autoryzacyjnego
Lp.Gdzie wykonywaćWykonywana czynnośćJak wykonaćPodpowiedzi
1Lokalnie
na swoim komputerze

Odświeżenie autoryzacji OneDrive

Wydaj polecenie w konsoli

rclone authorize onedrive


  • W poleceniu onedrive musi być koniecznie małymi literami.
  • W efekcie wywołania polecenia otworzy się okno przeglądarki w którym należy się poprawnie zalogować do usługi OneDrive.
  • Jeśli w przeglądarce było już wcześniej poprawne logowanie do usługi, odrazu pokaże się ekran, informujący o tym że czynność zakończyła się poprawnie.
  • Po poprawnie zakończonym logowaniu w konsoli dostaniemy w wyniku min odświeżony token autoryzacyjny. Przykładowy wynik

    2023/03/08 17:11:56 NOTICE: If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=Bm-RerrPDbfwY1D4ccLVvw
    2023/03/08 17:11:56 NOTICE: Log in and authorize rclone for access
    2023/03/08 17:11:56 NOTICE: Waiting for code...
    2023/03/08 17:11:58 NOTICE: Got code
    Paste the following into your remote machine -→
    \{ token \}
    <---End paste

    Wszystko wraz z nawiasami klamrowymi {} to nasz token.
2W konsoli klastra BOWymiana tokena autoryzacyjnego w konfiguracji rclone
  • otworzyć w dowolnym edytorze plików tekstowych np. vi, nano plik ~/.config/rclone/rclone.conf.
  • odszukać konfigurację dostępu do OneDrive, zaczyna się od [OneDrive]
  • wkleić nowy w miejsce starego tokena, znajdującego się po wyrażeniu "token = "
  • zapisać plik
  • Token uzyskaliśmy w poprzednim punkcie.
  • Token wklejamy do pliku jako całość ograniczoną nawiasami klamrowymi {}