TECH-LOG

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.

  • Serwer NAS Synology DS220+

    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:

    Czemu taki zestaw? Bo to obecnie jeden z najbardziej optymalnych zakupów. Oczywiście, jeśli macie dokładnie takie potrzeby jak ja, czyli:

    • wystarczy wam (realnie) 3,5TB miejsca (pamiętajcie, że producenci dysków nadal oszukują na bajtach)
    • chcecie mieć pewność, że jak jeden dysk padnie to nie stracicie danych
    • chcecie mieć nie tylko miejsce na dane ale też serwer zdolny uciągnąć kilka kontenerów Docker, czy jakąś maszynę wirtualną.

    W innym wypadku możecie wydać znacznie mniej. Lub więcej. Zależy czego oczekujecie.

    Przy okazji – 2 niesamowite źródła wiedzy i porównań dotyczących serwerów NAS i dysków do nich:

    Jak się toto sprawuje?

    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.

    Ku potomności zostawiam zrzut ekranu.

  • Dlaczego (nie) śpimy?

    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ę.

    Czytaj Więcej „Dlaczego (nie) śpimy?”
  • Za co „uwielbiam” Open Source

    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!

    Nie wierzycie? Sprawdźcie odnośnik do dyskusji o zasobniku systemowym.

    Czytaj Więcej „Za co „uwielbiam” Open Source”
  • Przeszczep dysku

    Dzisiaj troszeczkę hardware-porn.

    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…

    Czytaj Więcej „Przeszczep dysku”
  • Błąd TF246021 […] SQL Server Error: 50000 w Team Foundation Server

    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.

    Przykładowe odpalenie procedury GetConstantRecords niżej:

    
    declare @p2 dbo.typ_WitOrderedStringTable
    insert into @p2 values(N'tutaj podajemy tfs id',0)
    
    DECLARE	@return_value int
    
    EXEC	@return_value = [dbo].[GetConstantRecords]
    		@partitionId = 1,
    		@values = @p2,
    		@searchFactor = 4,
    		@returnInactiveIdentities = 0
    
    SELECT	'Return Value' = @return_value
    
    GO

  • Przykład automatyzacji i integracji Baserow (uruchomionego na PikaPods) i WordPress z użyciem N8N

    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ć.

    Czytaj Więcej „Przykład automatyzacji i integracji Baserow (uruchomionego na PikaPods) i WordPress z użyciem N8N”
  • Domek w Jeziorze Danych, czyli Bullshit Bingo nadal modne

    Dla tych co nie znają gry w Bullshit Bingo – wyjaśniam. To taka zabawa w obstawianie które modne słowo najczęściej zostanie użyte w zadanym czasie. Można się bawić na konferencji, prelekcji czy dowolnym spotkaniu w korpo. Ten wpis jest jednak mniej o samej zabawie a bardziej o dostawcach modnych słówek, czyli BuzzWordów.

    Śledząc nowinki w swojej branży (od około 30 lat!) mam wykształcony swego rodzaju radar. Pomaga mi on odsiewać to co już znam od nowych pojęć, które być może za chwilę będą w obiegu.

    Jednym ze sposobów na „bycie na czasie” jest lektura branżowych blogów, portali i prasy. A jednym z lepszych takich miejsc jest The New Stack. Tu regularnie trafiam na teksty, które uświadamiają mi jak mało jeszcze wiem. Albo jak bardzo zacofanych narzędzi używam. Albo (niestety) jak bardzo działy marketingu starają się dotrzeć do potencjalnego „kupującego” wymyślając nowe pojęcia (czyli wspomniane BuzzWordy).

    Czytaj Więcej „Domek w Jeziorze Danych, czyli Bullshit Bingo nadal modne”
  • Synchronizacja środowiska pracy (haseł, plików, ulubionych) na wielu komputerach

    Dziś wpis techniczny i poradnikowy (dawno nie było!). Kierowany głównie do ludzi pracujących na co dzień „na kilka komputerów”, ale zawiera też kilka porad bezpieczeństwa dla każdego.

    Nie wiem jak wam, ale zdarza mi się czasem pracować na różnych komputerach. Bywa nawet, że potrzebuję szybko „uruchomić” swoje środowisko pracy na całkiem nowej maszynie. Może to być jakaś maszyna wirtualna, laptop który jest aktualnie pod ręką, albo po prostu nowo zakupiony komputer. Dodatkowo w trybie ciągłym korzystam z przynajmniej czterech różnych Windowsów – komputer służbowy, prywatny laptop (na kanapę), prywatny stacjonarny (w biurze do „ciężkiej” roboty na dwa monitory) i maszyna wirtualna na Azure (do przeróżnych zadań).

    Czytaj Więcej „Synchronizacja środowiska pracy (haseł, plików, ulubionych) na wielu komputerach”
  • Moja droga do IT

    Mój pierwszy własny komputer był…

    …tekturowy. Skonstruowałem go w wieku kilku lat (może 5-6?) z opakowania po ciastkach albo czekoladkach. Miał narysowaną długopisem klawiaturę i odchylany jak w laptopach ekran wyposażony w specjalne ramki, w które wkładało się kartki. Na kartkach rysowałem sceny z gier i różne programy użytkowe. Pokazywałem je Babci i opowiadałem jak komputery zmienią nasze życie w przyszłości. Może nie wszystko rozumiała, ale jako księgowa i osoba naprawdę ogarnięta życiowo (wiele lat pracy w biurach a potem swoja firma), na pewno dostrzegała w moich opowieściach coś co faktycznie mogło się spełnić. Jestem pewien, że to ona zawsze finansowała część lub całość moich „zachcianek” oraz urabiała rodziców, że mają w domu potencjalnego informatyka :).

    Czytaj Więcej „Moja droga do IT”