lv disk snapshot masolasa delta encoding-al

Fórumok

valaki hasznal ilyet, hogy lv disk snapshotbol ugy csinal backupot hogy nem mindig az egesz lv-t masolja csak azt ami valtozott rajta?

rsync-el nekem nem sikerult azt irta ki hogy disket nem hajlando

gyorsabb is lenne es kevesebb iras az ssd-re

neheziteskent legyen benne a program a debianban, nem akarok programot forditani hozza

koszi!

Hozzászólások

Szerkesztve: 2021. 03. 30., k – 14:48

De hat az lvm snapshot-ban csak az van benne, ami az LV-hez kepest valtozott (COW), pont azert csinal az ember snapshotot, hogy ne az original LV-t kurja el. Aztan meg magat a snapshot-ot siman fel lehet mountolni es backuploni akarhogy (rsync mondjuk). Aztan merge es eldobodik.

Vagy most en ertem felre mit akarsz?

nem akarok semmit felcsatolni es fajlkent menteni, a teljes lv-t akarom menteni

ezt akarom

rsync /dev/vg0/guest-root.snap /dev/vgbackup/guest-root.bak

ezt kapom

skipping non-regular file "guest-root.snap"

ehelyett marad a dd ami mindent visz, pedig eleg lenne ami valtozott

neked aztan fura humorod van...

Miért jobb az egyszeri stabil snapshot helyett, ami utána nem változik, az LV-t másolni, ami folyamatosan változik és növekszik, miközben az eredeti fájlrendszer változik?

Azt helyből látom, hogy milyen hátrányokkal jár, de az előnye, ami miatt ezt választottad, nem világos.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

az lvm snapshotot masolom

van elotte egy ilyen csak mivel nem ez volt a lenyeg nem irtam le:

lvcreate -L1G -s /dev/vg0/guest-root -n guest-root.snap

majd utana egy

lvremove -f /dev/vg0/quest-root.snap

vagy nem ertem a kerdest

neked aztan fura humorod van...

Szóval az lvcreate -s létrehoz egy logikai kötetet, ami egy snapshot. Ezt elnevezed guest-root.snap-nak.

Ennek a mérete létrehozáskor 0, és ahogy az eredeti logikai kötetet írják mindenféle processzek, a guest-root.snap mérete folyamatosan növekszik. Ha dd-vel másolatot készítesz róla egymás után kétszer, akkor két különböző bithalmazod lesz.

A kérdésem az, hogy mi az előnye egy ilyen folyamatosan változó blobot másolni ahelyett, hogy felmountolod  aguest-root.snap lv-t valami könyvtárba, és az ebben a könyvtárban látható nem változó fájlrendszeren lévő fájlokat másolnád?

Ugye azt megbeszéltük már, hogy a fájlszintű másolásnak az lenne az előnye, hogy készítesz egy snapshotot, felmountolod, rsync. Eltelik egy kis idő, készítesz egy új snapshotot, rsync, az rsync átviszi a változásokat (persze blokkosan, ha egy nagy fájl közepében egy bitet változtatsz, akkor egy blokkot másol át). Miközben az rsync másol, a fájlrendszeren nincsen változás, minden konzisztens.

Ezt nem akarod. Nem pontosan tiszta, hogy miért, de mindegy is, megvan rá az okod, az a lényeg.

Ha rsync helyett az lv-t másolod (teljesen mindegy, hogy dd-vel vagy mivel), akkor ugye az van, hogy az első snapshot idején készítettél egy másolatot. A második snapshot készítése után másolod a guest-root.snap lv-t, de másolás közben folyamatosan változik, szóval én hátránynak azt látom, hogy nem biztos, hogy konzisztens lesz. Mondjuk egy fájlt valaki felülír, de amikor a dd másolni kezd, akkor még nem kezdték felülírni, az eredeti blokkokat nem másolja át, de menet közben ahogy felülírták, megjelennek az új blokkok az lv-ben és a dd átmásolja ezeket. Ha most ezt az lv másolatot megpróbálod felmountolni, mit fog kezdeni azzal a fájllal, aminek csak a változásainak a fele van meg? Az eredeti adatblokkoknak csak a fele van az lv másolatodban. Az eredeti adatblokkok a fájl elejéről nincsenek meg. Az új adatblokkok se az elejéről se a végéről nincsenek meg.

Nem értem, hogy ez mire jó. Ennyi.

Egyébként ha nem ír éppen senki az lv-re és te átmásolod a megváltozott blokkok snapshot készítéskori eredeti tartalmát, az mire jó a célgépen? Mit tudsz kezdeni vele?

A korábbi backup és a snapshot készítése közötti változások nincsenek benne a másolatodban. A snapshot készítése és a másolás között történt változások, néhány blokk néhány random fájl közepéről, az mire jó?

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

Ennek a mérete létrehozáskor 0, és ahogy az eredeti logikai kötetet írják mindenféle processzek, a guest-root.snap mérete folyamatosan növekszik.

fixme, de a merete az eredeti kotet meret lesz, de a vg-n valoban 0 bajtot fog foglalni.

ugye van a guest root snap tegnapi mentese, arra ra akarja masolni a mai guest-root.snap snapot, de ugy hogy csak a valtozott blokkokat irja bele a tegnapi lv-be (igy kimelve az ssd-t). elvileg erre jo lenne az rsync copy-devicevel, de valamiert ez nem mukodik.

a mountos mokanak akkor van ertelme, ha nagy particion csak keves fajl valtozott meg, mert akkor nemkell sok bajtot dd-zni, hanem csak a modosult fajlokat. viszont ha a block szinten viszi at a valtozasokat, akkor ugyanugy nem szamit a particio meret (najo igaz, fel kell olvasni az egeszet), de atvinni/kiirni ugyanugy csak a valtozas fog.

A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

fixme, de a merete az eredeti kotet meret lesz, de a vg-n valoban 0 bajtot fog foglalni.

Igen, úgy értettem, hogy valójában mennyit foglal.

A méretét emlékeim szerint be lehet állítani, és ez az lesz, hogy max mekkorára hízhat.

Természetesen felmountoláskor úgy tűnik, mintha az eredeti fájlrendszert néznéd, ami simán lehet nagyobb, mint a snapshotnak félretett hely és főleg, mint a valóban felhasznált hely.

disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.

https://hup.hu/comment/2611988#comment-2611988

vagyis akar blokk szinten nezed a guest-root.snap-ot akar felcsatolod, mindket esetben a snapshotolas pillanataban levo guest-root adatait tartalmazza

hogy emogott egy folyamatosan novekvo metadata all azt igy nem fogod latni

neked aztan fura humorod van...

Szerkesztve: 2021. 03. 30., k – 19:04

rsync mentesem van a legtobb fajlrol

a /var alatt csak a dpkg, a mysql es a www konyvtarrol

mysqldump-rol szinten van rsync mentesem

igy a teljes lv-t akarom menteni

neked aztan fura humorod van...

tipp a man page-ből:

            --copy-devices          copy device contents as regular file

Miért nem akarod a fájlokat menteni a snapshotból?

irtam egyet ne foglalkozzatok tovabb vele :)

neked aztan fura humorod van...