Skip to main content
  • »
  • S3 »
  • Jak zamontować kontener object storage z NSIS jako system plików na lokalnym komputerze z systemem Windows?

Jak zamontować kontener object storage z NSIS jako system plików na lokalnym komputerze z systemem Windows?

W tym artykule opisano, jak skonfigurować bezpośredni dostęp do kontenerów object storage z chmury NSIS w oknie This PC na lokalnym komputerze z systemem Windows. Takie kontenery będą montowane na przykład jako dyski sieciowe:

../_images/object-storage-windows-example1_creodias1.png

Montaż zostanie skonfigurowany przy użyciu konta, które ma uprawnienia administracyjne uzyskane za pomocą UAC (User Account Control). Po tym procesie kontener powinien być również dostępny na kontach, które nie mają takich uprawnień administracyjnych.

Wymagania wstępne

Nr 1 Konto

Potrzebne jest konto hostingowe NSIS z dostępem do interfejsu Horizon https://horizon.cloudferro.com.

Nr 2. Kontener do przechowywania obiektów

Potrzebny jest co najmniej jeden kontener object storage w chmurze NSIS. Jeśli jeszcze go nie masz, postępuj zgodnie z tym artykułem: Jak korzystać z Object Storage w NSIS

Nr 3. Generowane poświadczenia EC2

Musisz wygenerować poświadczenia EC2 dla swojego konta.

Poniższy artykuł zawiera informacje, jak to zrobić w systemie Linux: Jak wygenerować poświadczenia EC2 i zarządzać nimi na NSIS Cloud.

Jeśli zamiast tego chcesz to zrobić w systemie Windows, musisz najpierw zainstalować klienta OpenStack CLI. Sprawdź jeden z tych artykułów, aby dowiedzieć się więcej.

Po zainstalowaniu klienta OpenStack CLI w systemie Windows, użyj go do wykonania przepływu pracy z artykułu Jak wygenerować poświadczenia EC2 i zarządzać nimi na NSIS Cloud - odpowiednio dostosuj polecenia tam znalezione.

Nr 4 Lokalny komputer z systemem Microsoft Windows

Potrzebny jest lokalny komputer z systemem Microsoft Windows. Ten artykuł został napisany dla systemu Windows 10 Pro.

Musisz mieć dostęp do konta, które może zostać podniesione do uprawnień administracyjnych poprzez Kontrolę konta użytkownika (UAC). Takie konto powinno być tworzone domyślnie podczas standardowej instalacji systemu Microsoft Windows.

Inne konta, w tym konta o nazwie Administrator znajdujące się w systemie Windows Server, są poza zakresem tego artykułu.

Co zostanie omówione w artykule

  • Montowanie kontenera object storage jako dysku Windows przy użyciu oprogramowania open source

  • Testowanie połączenia z kontenera

  • Dostosowywanie opcji –dir-cache-time

  • Ustawienie automatycznego montażu dla kontenera

  • Usuwanie oprogramowania używanego do montażu

Narzędzia programowe użyte w tym artykule: Rclone, WinFSP i NSSM

Rclone ma wiele funkcji, takich jak zarządzanie plikami w chmurze i synchronizacja między systemami plików. W tym artykule użyjemy polecenia rclone mount do zamontowania object storage na maszynie wirtualnej z systemem Windows.

WinFSP umożliwia dostęp do niestandardowych systemów plików w systemie Microsoft Windows. W tym przepływie pracy pozwoli to Rclone na zamontowanie magazynu S3.

NSSM jest menedżerem usług. Tutaj będzie on używany do konfigurowania automatycznego montowania magazynu obiektów. Będzie on uruchamiany z wiersza poleceń https://nssm.cc/commands.

Jak korzystać z pliku konfiguracyjnego Rclone

Domyślnie Rclone tworzy i używa pliku konfiguracyjnego w folderze .config\rclone w katalogu domowym bieżącego użytkownika.

Aby usprawnić proces konfiguracji, należy ręcznie utworzyć plik konfiguracyjny o nazwie rclone.conf w folderze, w którym przechowywany jest plik binarny Rclone. Tam wkleisz kod dostarczony w tym artykule. Za każdym razem, gdy Rclone zostanie uruchomiony, lokalizacja tego pliku zostanie przekazana do niego w parametrze.

Ostrzeżenie

Wszyscy użytkownicy komputera będą mogli uzyskać dostęp do pliku konfiguracyjnego i modyfikować go. Zawiera on dane logowania zapisane w postaci zwykłego tekstu.

Krok 1 Pobierz i zainstaluj odpowiednie oprogramowanie

Informacja

Pomiń ten krok, jeśli te narzędzia programowe są już skonfigurowane.

Pobierz i rozpakuj Rclone

Uruchom PowerShell normalnie, nie jako administrator.

Użyj następujących poleceń, aby

  • utworzyć katalog, w którym będzie przechowywany Rclone i

  • nawigować do niego.

mkdir C:\rclone; cd C:\rclone

Nie zamykając programu PowerShell, otwórz przeglądarkę internetową na maszynie wirtualnej. Przejdź do następującej strony internetowej: https://rclone.org/downloads. Powinna ona zawierać tabelę z linkami do jej różnych wersji:

../_images/mount-eodata-windows-open-03_creodias1.png

Pobierz wersję Rclone dla platformy Intel/AMD - 64 Bit (dla systemu operacyjnego Windows).

Pobierz archiwum zip. W przeglądarce Microsoft Edge powinno ono wyglądać następująco:

../_images/mount-eodata-windows-open-04_creodias1.png

Wejdź do tego archiwum zip, powinno ono zawierać jeden katalog. Kliknij dwukrotnie, aby do niego wejść. Jego zawartość powinna wyglądać następująco:

../_images/mount-eodata-windows-open-05_creodias1.png

Skopiuj zawartość tego katalogu do folderu C:\rclone, który wcześniej utworzyłeś za pomocą PowerShell.

Pobierz i zainstaluj WinFsp

Wróć do przeglądarki internetowej i przejdź na stronę https://winfsp.dev/rel/. Kliknij Pobierz instalator WinFsp:

../_images/mount-eodata-windows-open-06_creodias1.png

Uruchom pobrany instalator. Proces instalacji będzie podobny do instalacji innych programów Windows. Krok o nazwie Custom Setup będzie jednak wymagał dokonania wyboru:

../_images/mount-eodata-windows-open-07_creodias1.png

Pozostaw wartości domyślne nienaruszone, aby zainstalować tylko sekcję Core i kliknij Next. Zakończ instalację.

Pobierz i rozpakuj NSSM

Przejdź do strony https://nssm.cc/download w przeglądarce.

Kliknij łącze w sekcji Najnowsze informacje:

../_images/mount-eodata-windows-open-10_creodias1.png

Należy pobrać plik zip. Powinien on zawierać jeden folder. Zawartość tego folderu powinna wyglądać następująco:

../_images/mount-eodata-windows-open-11_creodias1.png

Przejdź do folderu win64. Powinien on zawierać jeden plik wykonywalny o nazwie nssm:

../_images/mount-eodata-windows-open-12_creodias1.png

Skopiuj ten plik do C:\rclone.

Krok 2: Wprowadź dane połączenia

Otwórz folder C:\rclone za pomocą menedżera plików Windows. Plik rclone.conf w tym folderze będzie używany do przechowywania danych połączenia do przechowywania obiektów. Jeśli plik ten nie istnieje, należy go utworzyć. Otwórz go za pomocą Notatnika.

Każda sekcja zawierająca dane połączenia z object storage zaczyna się od wiersza zawierającego jej nazwę zapisaną w nawiasach kwadratowych. Poniżej znajdują się wiersze zawierające różne parametry używane do łączenia się z danym object storage. Sekcje będą miały dostęp do wszystkich kontenerów object storage z tą samą parą kluczy dostępu i tajnych. Oznacza to, że nie trzeba tworzyć oddzielnych sekcji dla różnych kontenerów przy użyciu tych samych par poświadczeń.

Dodaj następującą sekcję na końcu tego pliku:

[remote-config]
type = s3
provider = Other
access_key_id = 1234
secret_access_key = 4321
endpoint = s3.waw4-1.cloudferro.com

W powyższym bloku zastąp 1234 i 4321 odpowiednio kluczem dostępu i tajnym kluczem, które uzyskałeś podczas wykonywania warunku wstępnego nr 3.

Ten kod utworzy połączenie o nazwie remote-config. Jeśli chcesz użyć innej nazwy dla połączenia niż remote-config, zastąp ją w powyższym kodzie. Nazwa ta nie musi być taka sama jak nazwa jednego z kontenerów.

Jeśli chcesz uzyskać dostęp do innych kontenerów Object Storage przy użyciu różnych poświadczeń na komputerze, utwórz oddzielną sekcję o innej nazwie, jak opisano powyżej dla każdej pary kluczy.

Krok 3: Przeprowadzenie montażu testowego

W tym kroku zostanie przeprowadzony testowy montaż, aby upewnić się, że konfiguracja przebiegła pomyślnie i rclone jest w stanie zamontować kontener object storage.

Wróć do programu PowerShell uruchomionego w kroku 1. Jeśli go zamknąłeś, otwórz go ponownie jako zwykły użytkownik, a nie jako Administrator, a następnie przejdź do katalogu C:rclone. Wykonaj poniższe polecenie. Zastąp remote-config nazwą właśnie skonfigurowanego połączenia.

.\rclone.exe --config "C:\rclone\rclone.conf" lsd remote-config:

Powinieneś zobaczyć na przykład listę kontenerów object storage powiązanych z Twoimi poświadczeniami:

-1 2023-01-18 12:53:14        -1 second-test-container
-1 2023-01-16 13:23:03        -1 test-container

Powtórz ten proces dla każdej pary kluczy dodanej w kroku 2.

Aby przetestować montowanie jednego z kontenerów, wykonaj poniższe polecenie bez opuszczania PowerShell. Zastąp remote-config nazwą połączenia, test-container nazwą containera i E: literą dysku, pod którą chcesz go zamontować.

.\rclone.exe mount --config "C:\rclone\rclone.conf" --network-mode remote-config:test-container E: --vfs-cache-mode full --dir-cache-time 1m0s

Informacja

Jeśli przez pomyłkę wprowadzisz nazwę nieistniejącego kontenera object storage, polecenie spróbuje go utworzyć i zamontować, z zastrzeżeniem innych potencjalnych ograniczeń (brakujące uprawnienia itp.).

Opcja w tym poleceniu –vfs-cache-mode full powinna sprawić, że mount będzie obsługiwał standardowe operacje systemu plików.

Opcja –dir-cache-time 1m0s zostanie wyjaśniona w następnym kroku.

Opcja –network-mode jest opcjonalna. Została dodana, aby zamontowany kontener był wizualnie reprezentowany jako dysk sieciowy w oknie This PC. Usunięcie tej opcji spowoduje, że kontener będzie reprezentowany jako normalny dysk i może rozwiązać niektóre problemy z montowaniem.

Powinieneś teraz otrzymać następujące dane wyjściowe:

The service rclone has been started.

Przejdź do okna This PC. Powinieneś tam zobaczyć zamontowany kontener:

../_images/mount-eodata-windows-rclone-01_creodias1.png

Wprowadź go i powinieneś zobaczyć jego zawartość:

../_images/mount-eodata-windows-rclone-02_creodias1.png

Aby zatrzymać montaż testowy, naciśnij CTRL+C w PowerShell. Powinieneś otrzymać następujące dane wyjściowe:

The service rclone has been stopped.

Kontener nie powinien być już widoczny w oknie This PC.

Jeśli naciśnięcie CTRL+C nie spowoduje zatrzymania montażu testowego, upewnij się, że okno PowerShell jest skoncentrowane, klikając je lewym przyciskiem myszy. Naciśnij literę na klawiaturze, na przykład A, i spróbuj ponownie nacisnąć CTRL+C.

Takie testy można przeprowadzić dla wszystkich kontenerów object storage, które mają być używane na komputerze.

Nie zamykaj jeszcze programu PowerShell.

Krok 4: Dostosowanie opcji –dir-cache-time

W kroku 3 wykonano testowe zamontowanie kontenera object storage przy użyciu następującego polecenia:

.\rclone.exe mount --network-mode remote-config:test-container E: --vfs-cache-mode full --dir-cache-time 1m0s

Dostosowanie opcji –dir-cache-time jest ważne, zwłaszcza jeśli zamierzasz używać kontenera na wielu maszynach fizycznych i/lub wirtualnych. Obejmuje to korzystanie z kontenera na maszynie wirtualnej i pulpicie nawigacyjnym Horizon. Może się okazać, że zmiany wprowadzone w bucket na innym komputerze nie pojawią się na maszynie wirtualnej z systemem Windows. Użycie opcji Refresh w Eksploratorze plików Windows może również nie zsynchronizować tej zmiany.

Dzieje się tak, ponieważ opcja Refresh w tym przypadku nie pobiera zmian bezpośrednio z kontenera, ale z pamięci podręcznej. Jeśli opcja –dir-cache-time nie zostanie określona podczas montowania, pamięć podręczna jest automatycznie synchronizowana co 5 minut. Dlatego, jeśli na przykład zmienisz nazwę folderu na innym urządzeniu, będziesz mógł pobrać tę zmianę po około 5 minutach.

Określenie tej opcji zastępuje domyślną wartość 5 minut. W tym przykładzie automatyczne odświeżanie pamięci podręcznej zostało ustawione na 1 minutę (1m0s). Możliwe jest również ustawienie tej wartości na przykład na 1 sekundę (0m1s). Możesz zastąpić 1m0s w powyższym poleceniu wybraną przez siebie wartością.

Możesz teraz wykonać kilka testowych montaży, jak wyjaśniono w kroku 3 i znaleźć wartość –dir-cache-time, która Ci odpowiada.

Krok 5: Konfiguracja automatycznego montowania kontenera

Otwórz PowerShell jako Administrator i wykonaj następujące polecenie, aby przejść do katalogu C:\rclone:

cd C:\rclone

Teraz uruchom instalator usługi NSSM za pomocą następującego polecenia:

.\nssm.exe install

Powinno pojawić się następujące okno:

../_images/mount-eodata-windows-open-nssm-01_creodias1.png

Kliknij przycisk obok pola tekstowego Path:.

Wybierz lokalizację Rclone. Jeśli postępowałeś zgodnie z tym samouczkiem, ta lokalizacja jest następująca:

C:\rclone\rclone.exe

W polu tekstowym Arguments wprowadź następujący kod. Zastąp remote-config nazwą połączenia, test-container nazwą containera, E: literą dysku, pod którą chcesz go zamontować, a 1m0s wartością wybraną w kroku 3.

mount --config "C:\rclone\rclone.conf" --network-mode remote-config:test-container E: --vfs-cache-mode full --dir-cache-time 1m0s

Ostrzeżenie

Upewnij się, że nic nie jest zamontowane pod wybraną literą dysku.

W polu tekstowym Service name: wprowadź nazwę usługi montażu. Może ona być inna niż nazwa połączenia ustawiona w kroku 1 i nazwa containera S3. W tym przykładzie użyta zostanie nazwa mounting-service.

Przejdź do zakładki Log on. Upewnij się, że wybrana jest opcja Lokalne konto systemowe.

Kliknij przycisk Install service. Powinien pojawić się następujący komunikat:

../_images/mount-eodata-windows-open-13_creodias1.png

Uruchom ponownie komputer i sprawdź, czy dysk zostanie automatycznie zamontowany w oknie This PC. Jeśli tak, usługa działa zgodnie z przeznaczeniem.

Teraz powinieneś być w stanie pracować ze swoimi plikami.

Dodaj oddzielną usługę o innej nazwie, jak opisano powyżej, dla każdego kontenera object storage, który ma być automatycznie montowany na komputerze. Zapamiętaj lub zapisz gdzieś nazwy tych usług, aby móc je łatwo zatrzymać i usunąć w przyszłości, jeśli zajdzie taka potrzeba.

Jeśli nie możesz usunąć plików lub folderów z object storage, możesz usunąć je z opcji Object Store -> Containers na pulpicie nawigacyjnym Horizon:

../_images/mount-object-storage-windows-horizon-01_creodias1.png

Usunięcie oprogramowania odpowiedzialnego za automatyczne montowanie object storage

Jeśli nie chcesz już uzyskiwać dostępu do kontenerów object storage z NSIS na określonym komputerze, możesz usunąć odpowiednią konfigurację i oprogramowanie.

Cała procedura zostanie omówiona w tej sekcji:

  • Usunięcie automatycznego montażu utworzonego w NSSM

  • Usunięcie zapisanego magazynu obiektów w Rclone

  • Odinstalowywanie WinFsp

  • Usunięcie folderu C:\rclone zawierającego Rclone i NSSM

Otwórz PowerShell jako administrator. Przejdź do katalogu C:rclone, wykonując następujące polecenie:

cd C:\rclone

Aby sprawdzić stan usługi automatycznego montowania, wykonaj następujące polecenie. Zastąp w nim mounting-service nazwą ustawionej wcześniej usługi automatycznego montowania.

.\nssm.exe status mounting-service

Powinieneś otrzymać następujące dane wyjściowe:

SERVICE_RUNNING

Aby zatrzymać automatyczne montowanie kontenera, wykonaj poniższe polecenie. Zastąp mounting-service jak poprzednio.

.\nssm.exe stop mounting-service

Usuń usługę, wykonując poniższe polecenie. Zastąp mounting-service jak poprzednio.

.\nssm.exe remove mounting-service confirm

Powinieneś teraz otrzymać wynik podobny do tego:

Service "mounting-service" removed successfully.

Jeśli używałeś tej instalacji rclone do montowania, na przykład, innych kontenerów object storage z NSIS, usuń ich usługi za pomocą NSSM w ten sam sposób.

Usuń utworzony folder C:\rclone.

Kliknij menu Start i wpisz panel sterowania.

Powinieneś teraz zobaczyć następujący wynik wyszukiwania:

../_images/mount-eodata-windows-open-remove-01_creodias1.png

Kliknij go, aby przejść do Panelu sterowania.

Upewnij się, że menu rozwijane Wyświetl według jest ustawione na Kategoria.

W sekcji Programy wybierz Odinstaluj program.

../_images/mount-eodata-windows-open-remove-03_creodias1.png

Na wyświetlonej liście znajdź pozycję WinFsp:

../_images/mount-eodata-windows-open-remove-04_creodias1.png

Kliknij prawym przyciskiem myszy i wybierz Uninstall:

../_images/mount-eodata-windows-open-remove-05_creodias1.png

Pojawi się teraz następujące pytanie:

../_images/mount-eodata-windows-open-remove-06_creodias1.png

Kliknij przycisk Tak. Powinno pojawić się następujące okno:

../_images/mount-eodata-windows-open-remove-07_creodias1.png

Zamknij wszystkie otwarte programy i okna Eksploratora plików (na przykład okno This PC lub Documents). Upewnij się, że opcja Automatycznie zamknij aplikacje i spróbuj uruchomić je ponownie po zakończeniu instalacji jest zaznaczona i kliknij przycisk OK.

Zostanie wyświetlone onko o ponowne uruchomienie komputera:

../_images/mount-eodata-windows-open-remove-08_creodias1.png

Upewnij się, że ponowne uruchomienie jest bezpieczne, w tym, że

  • zapisał swoją pracę i

  • zamknął programy.

Następnie kliknij przycisk Tak w oknie wyświetlonym powyżej.

Komputer powinien teraz zostać ponownie uruchomiony.

Po ponownym zalogowaniu otwórz okno This PC.

Wprowadź dysk C:.

Usuń znajdujący się w nim folder rclone - mogą być do tego potrzebne uprawnienia administracyjne.

Rclone i inne oprogramowanie używane do montowania object storage powinno teraz zostać usunięte.

Co robić dalej

Kontenery object storage w chmurze NSIS można montować zarówno na maszynach fizycznych, jak i wirtualnych z systemami Windows i Linux. Aby zamontować kontener Object Storage na innej platformie, postępuj zgodnie z jednym z poniższych artykułów:

Jak zamontować kontener Object Storage jako system plików na VM z Windows w NSIS Cloud

Jak zamontować kontener object storage jako system plików w Linuksie przy użyciu s3fs na NSIS Cloud

Jak uzyskać dostęp do object storage z NSIS za pomocą s3cmd