Wpływ technologii i IT na społeczeństwo, praca w branży, windziarze kontra linuksiarze, Drupal, WordPress, Nocode, Lowcode, Airtable, Retool, N8N, fuchy po godzinach, ASAPy, fakapy, itd.
Moja osobista rada – obserwuj oferty (nie tylko na tego typu narzędzia) na AppSumo i podobnych marketach (np. StackSocial). Znajdziesz tam często promocje na takie (i inne) narzędzia w „dożywotnich” licencjach. Wystarczy jednorazowa płatność i masz do nich dostęp „na wieczność”. Co prawda oznacza to „tak długo jak długo będzie żyła dana platforma/usługa”, ale często oznacza to wiele lat i znaczne oszczędności.
Rozpoczynam mini-cykl wpisów o małych (a czasem mało znanych) narzędziach jakich używam.
Dziś niepozorny acz robiący świetną robotę WinDirStat. Jego jedynym zadaniem jest pokazanie gdzie są te wszystkie gigabajty zjadające ci miejsce na dysku. Może w katalogu „Zdjęcia”? A może w C:\Users\pc\AppData\Local\Microsoft\PowerToys\Updates? Albo w innym pod-pod-pod-pod-podkatalogu, do którego nigdy nie zaglądniesz szukając rzeczy do wywalenia?
Program skanuje wybrany dysk i generuje nam widok drzewa folderów – uszeregowanych od największego do najmniejszego. Na kolejnych poziomach tego drzewa podfoldery są również rozmieszczone w zgodzie z tą zasadą.
Świetnie się to nadaje do wyszukiwania np. logów na serwerach albo zapomnianych aplikacji, które kiedyś zainstalowałeś na chwilę i tak już zostało. Dotarcie do zakurzonych obrazów maszyn lub dysków wirtualnych (25GB) czy tysiąca plików z logami (8GB) czy plików tymczasowych klienta poczty (15GB) zalegających jakiś ciemny zaułek dysku zajmuje kilka sekund.
W skrócie – prowadzę działalność (usługi IT) i od 2020 roku niezmiennie polecam wszystkim InFakt, w którym wystawiam faktury, prowadzę księgowość i rozliczam podatki, ponieważ jest to dla mnie jasny i zrozumiały system – stąd ta recenzja.
Dlaczego w ogóle powstał wpis o InFakt?
Z mojej wygody. Znajomi pytają mnie czasem:
„Ty masz swoją działalność, co nie? Też o tym myślę ale… czy założenie firmy i później rozliczanie podatków jest trudne?”.
Wtedy odsyłam ich do tego tekstu oraz podsyłam link do InFakt, z którym dostaną rabat na pierwszą płatność (a ja prowizję za polecenie).
Jednak możesz dzięki InFakt zyskać cenne informacje nie wydając ani grosza. Wystarczy, że umówisz się na darmową rozmowę z ich konsultantem. Fachowe i darmowe wsparcie jakiego udzielili mi przy zakładaniu mojej działalności w 2020 roku było czymś co mnie do nich (i do założenia firmy) przekonało i sprawiło, że nadal jestem ich klientem.
Każdy facet cieszy się nowymi zabawkami. Lubię dzielić się radością, więc dziś kilka słów o serwerze Synology DS220+, który kupiłem. Czyli wpis z pogranicza snobizmu i paranoi.
Po pierwsze – obiecany snobizm
Udało mi się zakończyć projekt, nad którym siedziałem wieczorami kilka miesięcy. Kasa od zleceniodawcy wpłynęła więc wybrałem się na… porównywanie cen dysków i serwerów NAS (linki do Ceneo). A potem na zakupy do pobliskiego Allegro. Wróciłem z tym co na fotce poniżej.
Po drugie – obiecana choroba psychiczna
Otóż od dawna mam lekką paranoję na punkcie kopii zapasowych. Staram się mieć kopie WSZYSTKIEGO. A nie jest to wcale proste zagadnienie, kiedy pracujesz regularnie na 4-5 komputerach, masz 4 dyski chmurowe i miliony (to nie przenośnia) poupychanych plików to tu to tam.
Kopie zapasowe po taniości
Do tej pory korzystałem z zestawu oprogramowania, sprzętu i usług:
Veeam Free Windows Agent,
pojemny zewnętrzny dysk USB,
iDrive 10TB na zaszyfrowane kopie zapasowe kopii zapasowych…
Tak, wiem, trzeci punkt brzmi głupio i potwierdza paranoję – ale uwierzcie, zasada 3-2-1 stosowana w kopiach zapasowych nie wzięła się znikąd.
Nie było to wygodne i przede wszystkim musiałem pamiętać, aby ten dysk USB raz na jakiś czas podłączyć, aby Veeam zrobił robotę (swoją drogą bardzo dobry soft).
Kopie zapasowe „like a boss”
Z wiekiem robię się bardziej wygodny i zapominalski. Przyszedł czas, aby cały proces nieco zautomatyzować. Dlatego właśnie NAS. Czyli Network Attached Storage. Czyli taki pojemny dysk ale wpięty w domową sieć i wyposażony w swój system operacyjny, na którym możemy instalować aplikacje (które dostarcza Synology w czymś co przypomina AppStore ze smartfonów). Czyli w zasadzie serwer. A na nim między innymi dedykowana aplikacja do centralnego przechowywania kopii zapasowych – Active Backup for Business.
Działa to tak, że na NAS instalujemy wspomniany pakiet a na „chronionych” komputerach w domu instalujemy specjalne „agenty” działające w tle. Kilkanaście minut konfiguracji i – voilà! – samo się robi. Codziennie, albo co godzinę, albo co tydzień – jak tam sobie ustawisz. Testuję póki co wersję codzienną i obserwuję zajętość dysków oraz obciążenie komputerów i NAS’a w trakcie wykonywania kopii. Zajęcie równie fascynujące co dla niektórych łowienie ryb albo sprawdzanie czy ile pomidorów pojawiło się na krzaczkach. Każdemu jego porno jak mawiają.
Dlaczego akurat Synology i akurat model DS220+?
Wybór takiego serwera i dysków do niego to wcale nie prosta rzecz. Ja spędziłem w excelu i na Ceneo kilka godzin zanim mój wybór padł na:
Poniżej przykład z pierwszego dnia. Do wykonania kopii zastosowałem rozwiązanie jakie dostajemy w pakiecie z NAS od Synology (choć nie z każdym modelem) czyli Active Backup for Business. Pozwala ona wykonywać kopie zapasowe całych komputerów z Windows, bez przerywania ich pracy (podobnie jak Veeam), wykorzystując VSS.
Najlepsze jest to, że wykonywanie kopii nie wpływa jakoś mocno na obciążenie systemu i nie musimy przerywać pracy. Dowód poniżej.
Na górze widać listę trwających procesów tworzenia kopii całych maszyn, na liście są dwa domowe komputery. Jeden z komputerów wpięty jest kablem (port 1Gb/s) w ten sam przełącznik co NAS (sam nas jest wpięty 2 kablami), drugi komputer działa sobie po WiFi (ale po drodze do NAS ma nie tylko router ale dodatkowy extender TPLink OneMesh)
Wykresy po lewej pokazują obciążenie pierwszego komputera – na przykład około 20% dysku SSD, 30% CPU i transfer na poziomie 800-900mbps. Na komputerze można było swobodnie pracować a cały proces trwał za pierwszym razem pół godziny.
Wykres po prawej to obciążenie CPU/RAM oraz sieci samego NAS’a. Transfer do NAS wahał się od 20 do 120MB/s, a zazwyczaj był w okolicy 80-120MB/s.
Komputer, którego kopię robiłem po WiFi generował ruch na poziomie około 100mbps a to z uwagi na dość dużą odległość od routera (i jeden extender po drodze). Jego kopia zapasowa trwała ponad godzinę.
Oczywiście kolejne kopie wykonują się znacznie krócej (zazwyczaj 5-15 minut) jako że do NAS są kopiowane tylko nowe lub zmienione od ostatniej kopii pliki.
Ile miejsca potrzeba na kopie zapasowe?
To podchwytliwe pytanie. Przykładowo – moje 2 komputery mają w sumie 3 dyski SSD. Na obu są odpalone chmurowe dyski Google, OneDrive i Nextcloud. Wygląda to z grubsza tak
Patrząc na powyższe można by założyć, że na obu kompach jest w sumie około… 626,6GB danych? Więc wystarczy nam dysk 1TB aby mieć ich kopię? Nie do końca. W zależności od ustawień częstotliwości kopii, ilości przechowywanych wersji, dostępności technologii deduplikacji czy kompresji – wielkość kopii po tygodniu czy miesiącu może być bardzo różna,
Po kilkunastu dniach wykonywania się tych kopii i przy założeniu, że NAS przechowuje ostatnie 3 kopie zapasowe każdego kompa sytuacja z zajętością dysku wygląda tak:
Póki co podstawowa funkcja dla której kupiłem ten sprzęt działa. Pora zabrać się za zgłębianie tematów dodatkowych. Na początek chcę przyjrzeć się konteneryzacji i hostowaniu stron www i aplikacji oraz możliwości zastąpienia chmur plikowych (Google, Nextcloud, OneDrive) za które obecnie dodatkowo płacę. Do przeczytania w kolejnych wpisach.
AKTUALIZACJA Z 2023-06-01
Po pewnym czasie zmieniłem nieco parametry retencji na kopiach zapasowych, tak aby sprawdzić, czy zużycie dysku jakoś gwałtownie wzrośnie.
Po około miesiącu od tej zmiany wykorzystanie przestrzeni wygląda następująco:
AKTUALIZACJA Z 2024-02-01
Postanowiłem sprawdzić jak tam moje kopie zapasowe na serwerze NAS Synology. Odkryłem, że deduplikacja oszczędza mi ponad 800GB miejsca na dyskach. Prawdopodobnie wynika to z tego, że na obu domowych komputerach są te same pliki z OneDrive, Nextcloud czy samego Synology Drive. Dodatkowo sytuację komplikować może fakt, że zacząłem wykonywać backup wydzielonego katalogu z Synology Drive na OneDrive, co doprowadzi mnie pewnie do jakiegoś zapętlenia, którego nie potrafię przewidzieć. A ponieważ ustawiłem ten backup jako szyfrowany to OneDrive zaczęło mi wysyłać maile, że wygląda to na ransomware, który szyfruje pliki. A ponieważ zaczął wysyłać jakoś miesiąc po tym jak to ustawiłem to dostałem mikro zawału zanim sobie o tym przypomniałem. No cóż. Takie to życie informatyka sklerotyka.
Bardzo krótki film pokazujący absolutne podstawy działania Airtable (link z zaproszeniem). Jakiś czas temu opisałem na blogu Elimu czym jest to narzędzie. Teraz przyszedł czas na krótkie demo. Warto sprawdzić!
Chcesz więcej takich materiałów? Napisz w komentarzu!
Czytając tę książkę miałem coraz szersze oczy ze zdziwienia (ostatnio tak miałem chyba z Factfulness). Szybko też wdrożyłem do życia sporo zmian. Po pierwsze – przestałem zarywać noce i staram się nie schodzić poniżej 7 godzin snu na dobę. Po drugie nie zaczynam dnia od kawy – pierwszą piję po około 2 godzinach od pobudki.
Jest tego więcej, ale wydaje mi się, że najciekawsza w tym wszystkim jest moja motywacja. Jest nią najzwyczajniej strach – o zdrowie fizyczne i psychiczne.
Jeśli więc – tak jak ja do niedawna – uważacie, że wystarczy wam 5 godzin snu, że najlepiej pracuje się wam (lub uczy) w nocy, że możecie oszukać cykl dobowy – koniecznie przeczytajcie tę książkę.
Słowo „uwielbiam” nieprzypadkowo jest w cudzysłowach. Uwielbiam wiele rzeczy w ruchu FOSS (Free and Open Source Software). Jednak „uwielbiam” też te sytuacje, kiedy użytkownicy jakiejś „wolnej” aplikacji nie mogą się doczekać od ponad dwudziestu lat roku na wdrożenie jakiejś ułatwiającej życie funkcji.
Weźmy przykładowo aplikację Thunderbird. Bardzo fajny klient poczty, używam od lat. Jednak jego rozwój od lat nie idzie za sprawnie. Użytkownikom doskwiera kilka(dziesiąt?) braków. Rzeczy zdawałoby się drobne – choćby wygodne wyszukiwanie za pomocą wyrażeń regularnych czy ikona nowego maila w zasobniku systemowym na Linuksach. Obie te funkcje są w opracowaniu od 24 lat (na moment pisania tego wpisu) czyli od 1999 roku!
Migawka z typowego dnia informatyka. Masz plan obejrzeć serial, poleniuchować, poczytać książkę. Zamiast tego robisz przeszczep esesdeka do nowego (no dobra, używanego – ale z gwarancją) komputera twojej mamy. Poprzedni dwunastolatek nie przeżył zalania kawą. Upgrade dysku sprzed kilku lat za to nie poszedł na marne. Wystarczyło parę fachowych narzędzi i…
Ponieważ to był cięższy przypadek niż na początku myślałem, robię ten zapisek na przyszłość dla samego siebie. Ale może komuś też się przyda kiedyś. Szukając w Google rozwiązania, nie znalazłem podobnego przypadku.
Zaczęło się niewinnie. Koledze zrobili nowe konto w AD. Ale z tym samym loginem, z tymi samymi danymi. Poprzednie konto zmieniło nazwę. Zmienił się oczywiście SID. Kolega utracił dostępy w wielu miejscach, również w TFS. W zasadzie normalka – wywaliłem go z grup, dodałem ponownie, odzyskał dostęp – widział wszystkie zakamarki które miał widzieć.
Niestety, próbując dodać cokolwiek do TFS (nowy Bug czy PBI) dostawał niezmiennie komunikat:
TF246021: An error occurred while processing your request. Technical information (for administrator): SQL Server Error: 50000
Dodatkowo, kiedy próbowałem go wskazać jako właściciela jakiegoś elementu w TFS (np. Zadania), dostawałem:
The field 'Changed By’ contains the value 'Imię Nazwisko’ that is not in the list of supported values
Najlepsze jest to, że uprawnienia działały normalnie – kolega mógł otwierać te obszary TFS, do których miał dostęp.
Finalnie skończyło się na 2h szukania po tabelkach bazy danych i w końcu za pomocą SQL Server Profilera dotarłem w to niepozorne miejsce:
Po zajrzeniu w ciału tej procedury i wykonaniu kilku testów na „dobrym” i „złym” użytkowniku problem okazał się prosty – błędny SID i UID użytkownika TFS w tabeli [dbo].[Constants]. Można to sprawdzić znając UID użytkownika TFS (ten poprawny, z tabeli [dbo].[ADObjects]) i wykonując procedurę [dbo].[GetConstantRecords]. Albo w dowolny inny sposób (np. porównując wartości kolumn przechowujących SID i TeamFoundationId w obu w/w tabelach.
Ręczna poprawka SID i TeamFoundationId w tabeli [dbo].[Constants] powinna rozwiązać problem.
Jeśli powyższy tytuł zawiera dwa, trzy albo nawet cztery nazwy produktów, których wcześniej nie znałeś – nie przejmuj się. Ja rok temu nie znałem trzech z nich.
Tym razem będzie trochę inaczej. Mógłbym pisać tu przez godzinę jak super jest N8N, co to są PikaPodsy (niestety nie mają nic wspólnego z Pokemonami) albo czym jest Baserow. Zamiast tego postanowiłem nagrać demo i pokazać.