Skip to content

Varmuuskopiointi (Non-IaC)

Operatiivinen Data (Backup-strategia)

Tämä dokumentti kuvaa RepoStage-infrastruktuurin varmistuslogiikan, automaatiosyklin ja redundanssitasot. Järjestelmä noudattaa 3-2-1-varmuuskopiointiperiaatetta, jossa data on tallennettu vähintään kolmeen paikkaan, kahdelle eri medialle ja yksi kopio on fyysisesti tai loogisesti erillään.

Kokonaisuutta ohjaa ajatus siitä, että varmuuskopiointiteknologioiden periaatteet voidaan toteuttaa tehokkaasti myös henkilökohtaisilla resursseilla.

Arkkitehtuuri ja Datan kulku

graph TD
    %% SOURCE NODES
    subgraph SOURCES ["Datalähteet (Kuumat)"]
        HP1[("HP-1: Tuotantodata (SQL & Vektorit)")]
        F_CODE["F: Codes (Projektit)"]
        D_DATA["D: Data (Yksityinen)"]
        VS_CONFIG["VS Code (Asetukset, liitännäiset)"]
    end

    %% CLOUD SYNC
    subgraph CLOUD ["PILVI"]
        GITLAB[("GitLab Cloud")]
    end

    %% AUTOMATION
    subgraph CONTROL ["Automaation ohjaus"]
        HP2["HP-2 (Gateway)"]
        CRON["Cron-työ klo 03:00"]
    end

    %% COLD STORAGE SYSTEM
    subgraph COLD_STORAGE ["On-Demand Cold Storage"]
        NAS_INT[("Laptop SSD: 500 Gt")]
        USB[("Ulkoinen USB: 1 Tt")]
    end

    %% FLOWS
    VS_CONFIG -->|1. Git Push| GITLAB
    F_CODE -->|1. Git Push| GITLAB

    CRON --> HP2
    HP2 -->|2. Wake-on-LAN| NAS_INT

    HP1 -->|3. rsync snapshot| NAS_INT
    F_CODE -->|4. rsync| NAS_INT
    D_DATA -->|4. rsync| NAS_INT

    NAS_INT -->|5. Archiving| USB
    NAS_INT -->|6. Shutdown| HP2

    %% STYLES
    style COLD_STORAGE fill:#f1f8e9,stroke:#2e7d32,stroke-width:2px
    style CLOUD fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
    style VS_CONFIG fill:#e1f5fe,stroke:#0288d1,stroke-dasharray: 5 5

Toteutus: NAS

Varmistuspalvelimena toimii Ubuntu Serverillä varustettu kannettava tietokone. Laitteen kansikytkin on deaktivoitu (HandleLidSwitch=ignore), mikä mahdollistaa operoinnin kansi suljettuna.

Tallennusmediat:

  • Sisäinen 500 Gt SSD: Isäntäkäyttöjärjestelmä ja uusimmat snapshot-varmistukset nopeaa palautusta varten.

  • Ulkoinen 1 Tt USB-kovalevy: Pitkäaikaisarkisto ja historialliset tiedostoversiot.

Hyödyt: Kannettavan integroitu akku toimii luontaisena UPS-laitteena sähkökatkoja vastaan, ja laitteiston sähkönkulutus on erittäin matala.

Automaatio ja Sykli

Varmistusprosessi on täysin automatisoitu ja toimii tarvepohjaisesti (On-Demand). Tämä minimoi sähkönkulutuksen ja laitteiston kulumisen.

  • Herätys: HP-2 (Gateway) lähettää Laptop-NAS:lle Wake-on-LAN-herätteen yöllä määritettynä ajankohtana.
  • Siirto: Tiedonsiirtoon käytetään rsync-snapshot-logiikkaa. Vain muuttuneet tiedostot siirretään, mikä minimoi verkkokuorman ja ajan. VS Coden kehitysympäristöasetukset (.vscode/) synkronoidaan koodin mukana GitLab-pilveen.
  • Sammutus: Kun siirrot on vahvistettu onnistuneiksi, läppäri sammutetaan etänä. Aktiivinen operatiivinen aika on tyypillisesti vain noin 15 minuuttia vuorokaudessa.

Redundanssi ja Suojaustasot

Järjestelmä noudattaa kerrostettua suojausta varmistaakseen datan saatavuuden kaikissa skenaarioissa:

Taso Sijainti Media Sisältö
L1 Paikallinen HP-1 & Asus Host Operatiivinen data ja työversiot.
L2 Lähellä Laptop-NAS (SSD + 1 Tt USB) Päivittäiset snapshotit ja historiallinen arkisto.
L3 Etä / Offline GitLab Cloud & Air-gapped levyt IaC-konfiguraatiot, koodi ja kriittiset "pakasteet".

Palautustestaus (Restore Drill)

Datan eheys ja IaC-prosessin toimivuus varmistetaan neljännesvuosittaisella palautustestillä DEV-ympäristöön:

  1. Simulaatio: Simuloidaan isäntäkoneen täydellinen tuho tai tiedostojärjestelmän korruptoituminen.
  2. Palautus: Pystytetään kehitysympäristö pelkkien L2- ja L3-varmuuskopioiden avulla.
  3. Vahvistus: Varmistetaan, että automaatio (Ansible/Docker) pystyy konfiguroimaan ympäristön takaisin operatiiviseen tilaan ilman manuaalisia korjauksia.

Yhteenveto

Kokonaisuutta ohjaa ajatus siitä, että varmuuskopiointiteknologioiden periaatteet voidaan toteuttaa tehokkaasti myös henkilökohtaisilla resursseilla.