Podczas wdrożenia SOLIDWORKS PDM przygotowujemy dla Państwa optymalną konfigurację przechowalni zgodnie z wymogami przyjętymi podczas audytu wstępnego oraz ustaleń z przedstawicielami firmy.
Po jego zakończeniu informujemy Państwa również o konieczności zabezpieczenia konfiguracji i danych przechowalni plików przez dział IT.
W szczególności w przypadku dużych przechowalni, w których cała struktura firmy od działu sprzedaży po produkcję i logistykę opiera się na danych przechowywanych i zarządzanych przez SOLIDWORKS PDM nie można sobie pozwolić na ich utratę.
Podejście do tematu może być bardzo indywidualne ze względu na różną politykę stosowaną w firmach oraz ilość dostępnych metod zabezpieczenia serwerów przed awariami.
Jedną z podstawowych zasad bezpieczeństwa danych jest regularne wykonywanie backupów danych oraz przechowywanie ich POZA serwerem, na którym gromadzone są informacje, z których wykonujemy kopie. Oczywiście kopie baz danych, na których opiera się system SOLIDWORKS PDM mogą być wykonywane automatycznie przez usługę SQL Server Agent (w przypadku SOLIDWORKS PDM Professional), w niniejszym artykule postaram się przedstawić jak skonfigurować automatyczne kopiowanie plików serwera archiwum, kopii baz danych oraz kopii ustawień serwera archiwum do zewnętrznej lokalizacji.
1. Określanie lokalizacji plików wymagających przeniesienia.
Do poprawnego odtworzenia kopii naszej przechowalni w razie awarii będziemy potrzebować lokalizacji następujących składników:
- Kopii baz danych przechowalni oraz bazy Conisio,
- Kopii ustawień serwera archiwum.
- Plików serwera archiwum,
Lokalizacja plików archiwum PDM
W celu odnalezienia ścieżki uruchamiamy z menu START Windows aplikację Konfiguracja serwera archiwizacji, w drzewie po lewej stronie rozwijamy pozycję Ten komputer oraz zaznaczamy lewym przyciskiem myszy folder Archiwa. Otrzymamy w ten sposób listę przechowalni, odszukujemy interesującą nas pozycję i klikając prawym przyciskiem myszy wybieramy Właściwości.
Wskazana powyżej lokalizacja jest miejscem przechowywania plików. Po otwarciu wskazanego katalogu powinniśmy widzieć 16 podfolderów w następującej postaci.
W tym konkretnym przypadku kopiowaniu będzie podlegać folder PDM-SE wraz z zawartością.
Pierwszą lokalizacją w tym przypadku jest: D:\PDMData\PDM-SE
Lokalizacja plików kopi baz danych
Kolejną lokalizacją do określenia jest miejsce przechowywania kopii baz danych serwera SQL. W celu sprawdzenia dokładnej lokalizacji, w której tworzone są kopie uruchamiamy program SQL Management Studio z menu START Windows.
Poświadczenia wymagane przez serwer są zawarte w raportach powdrożeniowych, które otrzymują Państwo od pracowników, którzy przeprowadzają u Państwa wdrożenie systemu PDM.
Po podłączeniu do wybranej instancji serwera SQL rozwijamy w drzewie folder Maintanance Plans i odszukujemy pozycję oznaczoną na zdjęciu poniżej numerem 1 – nazwy działań mogą się różnić w zależności od systemu nazewnictwa przyjętego przez zespół wdrażający. Klikamy na nazwę dwukrotnie lewym przyciskiem myszy.
W polu oznaczonym numerem 2 klikamy prawym przyciskiem myszy i wybieramy pozycję Edit w otwartym oknie przechodzimy do zakładki Destination ( 3 ) gdzie w pozycji 4 powinniśmy widzieć dokładną lokalizację, w której tworzone są kopie zapasowe bazy danych ConisioMasterDb oraz bazy danych przechowalni.
Oba pliki powinny mieć rozszerzenie *.bak. Jeżeli plików jest więcej oznacza to, że kopie zapasowe zostały tak skonfigurowane aby określona ilość ostatnich wykonanych kopii była przechowywana we wskazanym folderze, w takim wypadku możemy posortować pliki po dacie modyfikacji lub jeżeli bazy danych nie mają potężnych rozmiarów możemy kopiować cały folder.
W tym przykładzie, drugą szukaną przez nas lokalizacją jest: D:\SQL backup
Lokalizacja kopi ustawień serwera archiwum
Ostatnią interesującą nas lokalizacją jest miejsce przechowywania ustawień serwera archiwum. Procedura tworzenia kopi ustawień serwera archiwum została opisana w punktach 1 -3, poniższego artykułu:
Znajduje się tam także instrukcja w jaki sposób określić listę lokalizacji plików serwera archiwum.
Pliki przechowujący ustawienia serwera archiwum ma rozszerzenie *.dat.
W tym przypadku ustawienia serwera znajdują się w lokalizacji: C:\kopia ustawien serwera archiwum
2. Aplikacja MS Robocopy i jej konfiguracja.
Robocopy jest aplikacją firmy Microsoft, która wchodzi w skład pakietu Windows Resource Kit i nie jest dostępna od razu po instalacji systemu Windows. Możemy ją pobrać za darmo ze strony https://www.microsoft.com/en-us/download/details.aspx?id=17657.
Po instalacji możemy sprawdzić czy program prawidłowo się zainstalował uruchamiając wiersz poleceń z menu START Windows poleceniem CMD.
Po wpisaniu polecenia robocopy /? Powinniśmy otrzymać pomoc programu, jeżeli natomiast mamy informację, że nie można odnaleźć polecenia będzie to oznaczać, że nie będziemy w stanie skorzystać z wskazanej funkcji i musimy spróbować zainstalować ponownie program.
Wywołanie wskazanego polecenia pozwoli również sprawdzić parametry jakich szukamy do prawidłowego skopiowania plików we wskazanych przez nas lokalizacjach.
Podstawowa struktura polecenia jest opisana na samym początku.
Następnie mamy listę parametrów, zaznaczone zostały najbardziej interesujące nas pozycje.
Pierwsza zaznaczona opcja musi zostać włączona w szczególności jeżeli w przechowalni nie ma jeszcze dużej ilości plików, pozwoli to na skopiowanie pustych jeszcze folderów archiwum.
Druga zaznaczona opcja wymusi skopiowanie plików wraz ze wszystkimi przypisanymi do nich dodatkowymi informacjami.
Sekcja Retry Options informuje nas, że domyślnie program będzie próbował powtórzyć ewentualne nieudane kopiowanie pliku milion razy, domyślna przerwa pomiędzy kolejnymi próbami to 30 sekund. Oczywiście możemy zmienić domyślne wartości.
Sekcja Logging Options pozwala na dodanie pełnej lokalizacji dla pliku wyjściowego do loga aplikacji. Druga opcja pozwala na zapisanie loga generowanego w linii poleceń do pliku tekstowego z opcją dopisywania informacji do zawartości poprzedniego loga.
Możemy przygotować pierwsze polecenie w celu weryfikacji poprawności składni i działania aplikacji.
Docelową lokalizacją, do której zostaną skopiowane pliki w tym przykładzie, będzie dysk sieciowy znajdujący się poza lokalizacją serwera PDM.
Pełna składnia polecenia to:
Po wywołaniu polecenia czekamy na jego zakończenie, w podsumowaniu powinniśmy mieć informację podobną do poniższej.
Ważne żeby zweryfikować czy nie mamy żadnej pozycji w kolumnie Skipped lub FAILED.
Kiedy mamy już zweryfikowane działanie polecenia możemy przejść do konfiguracji jego automatycznego wywołania.
3. Tworzenie skryptu automatycznego wywołania z harmonogramu Windows.
Docelowo chcemy dodać zadanie wykonania kopiowania do harmonogramu Windows. W akcjach do wykonania możemy wywołać skrypt lub program więc utworzymy jeszcze plik *.bat, który będzie zawierał polecenia kopiowania wszystkich trzech lokalizacji.
Uruchamiamy notatnik i wpisujemy przetestowane polecenie.
Pliki wsadowe *.bat nie mają w składni języka prostego polecenia, które umożliwia opóźnienie na zakończenie poprzedniego działania: np. oczekiwanie na zakończenie kopiowania plików archiwum przed rozpoczęciem kopiowania zapasowych baz danych SOLIDWORKS PDM.
Możemy wstawić opóźnienie czasowe pomiędzy wywołaniem kolejnych poleceń natomiast nie jesteśmy w stanie określić dokładnie ile czasu będzie potrzebne na wykonanie kopii w szczególności ze względu na ciągle rosnący rozmiar przechowalni.
W poniższym przykładzie rozdzielimy kopiowanie baz danych i plików archiwum do osobnych plików bat i akcji w harmonogramie zadań po to, by między kolejnymi kopiami mieć potwierdzenia pozytywnego zakończenia pojedynczego działania.
Plik w notatniku zawierający polecenie kopiowania archiwum zapisujemy z rozszerzeniem *.bat do wybranej przez nas lokalizacji.
Składnie poleceń dla kolejnych plików bat to:
ROBOCOPY „D:\SQL backup” „\\SE-GD-AMILEWSKI\Kopia_zapasowa\SQL backup” * /E /COPYALL /FP
Oraz
ROBOCOPY „C:\kopia ustawien serwera archiwum” „\\SE-GD-AMILEWSKI\Kopia_zapasowa\kopia ustawień serwera archiwum” * /E /COPYALL /FP
Proszę zwrócić uwagę, że jeżeli ścieżki źródłowe lub docelowe zawierają spacje w nazwach folderów należy cały człon umieścić w cudzysłów. Ścieżki dostępu do dysków sieciowych nie mogą zawierać litery zmapowanego dysku.
Ostatecznie powinniśmy mieć trzy pliki bat odpowiadające poleceniom kopiowania trzech lokalizacji źródłowych jak przedstawiono poniżej.
4. Dodawanie plików wsadowych do harmonogramu Windows.
W celu zaplanowania automatycznego kopiowania uruchamiamy menu START Windows, wpisujemy polecenie harmonogram zadań i otwieramy wskazaną aplikację.
Po uruchomieniu aplikacji z jej menu głównego wybieramy polecenie Akcja -> Utwórz zadanie.
W otwartym oknie na pierwszej zakładce Ogólne wpisujemy nazwę zadania, opis oraz wybieramy wywołanie zadania bez konieczności weryfikacji czy wskazany użytkownik Windows jest aktualnie zalogowany na serwerze. Jeżeli użytkownik wskazany do wykonania zadania nie posiada odpowiednich uprawnień można dodatkowo zaznaczyć opcję Uruchom z najwyższymi uprawnieniami.
Przechodzimy do kolejnej zakładki Wyzwalacze gdzie możemy określić w jakich przypadkach zadanie ma zostać wywołane. Klikamy przycisk Nowy… oraz konfigurujemy godzinę wywołania zadania.
Czas wywołania zadania w perspektywie każdej firmy jest indywidualny. Zazwyczaj podczas konfiguracji kopii zapasowych przechowalni planujemy ich wykonanie po godzinie 1.00 w nocy więc bezpiecznie w tym przypadku rozpocząć pierwsze kopiowanie na dysk sieciowy około godziny 3.00 jeżeli wcześniej sprawdziliśmy, że w moim przypadku od wywołania do ukończenia polecenia ROBOCOPY upłynęło 3 min 38 sek.
W tym samym czasie na serwerze SQL będzie wykonywane oczyszczanie i reorganizacja baz danych jednak nie ma to wpływu na pliki zapisane we wskazanych lokalizacjach.
Przechodzimy na zakładkę Akcje gdzie definiujemy efekt wywołania zadania, czyli w naszym przypadku uruchamiamy plik wsadowy. Wybieramy polecenie Nowa… i w sekcji Program/skrypt do wywołania podajemy ścieżkę do pierwszego pliku wsadowego.
Na zakładce Warunki możemy określić czy zadanie harmonogramu ma weryfikować połączenie do sieci, w której znajduje się nasz dysk sieciowy oraz czy zadanie ma zostać przerwane w przypadku przejścia serwera na zasilanie UPS.
Na ostatniej zakładce sprawdzamy czy maksymalny czas wykonywania zadania nie przekracza domyślnego czasu kopiowania plików archiwum w szczególności dla dużych przechowalni PDM.
Akceptujemy zadanie i w harmonogramie Windows, zaznaczamy w drzewie po lewej stronie pozycję Biblioteka Harmonogramu zadań, klikamy prawym przyciskiem myszy utworzone przez nas zadanie i uruchamiamy je w celu weryfikacji poprawności działania.
Zadanie uruchomi się w tle dlatego warto obserwować czy pliki są skopiowane do lokalizacji docelowej. Dodatkowo po jego zakończeniu możemy sprawdzić kiedy ostatnio zostało ono wywołane oraz z jakim skutkiem w samym harmonogramie zadań.
Po zaznaczeniu zadania w górnej części okna przechodzimy na zakładkę historia i sprawdzamy pierwszy komunikat.
Powtarzamy procedurę dodawania nowego zadania dla każdego pliku bat z uwzględnieniem odpowiednich odstępów czasowych.
Ostatecznie w harmonogramie powinniśmy mieć 3 zadania jak poniżej.
5. Podsumowanie
Zautomatyzowanie procesu zabezpieczania kopii zapasowych danych poprzez użycie programu ROBOCOPY jest najprostszym sposobem na uniknięcie problemów w przypadku ciężkiego uszkodzenia serwera. Dzięki odpowiedniej polityce zabezpieczania kopii zapasowych firma nie ryzykuje utraty wszystkich danych projektowych gromadzonych przez wiele lat.