Shadow Copy

From EIK wiki

Eesmärk

Tüüpiliste Windowsi vahenditega pole võimalik kopeerida kirjutamiseks lukustatud faile, näiteks alati kirjutamiseks lukustatud saalefail või sisselogitud kasutaja registritaru. Varikoopiad võimaldavad luua draivist kirjutuskaitstud tõmmise määratud ajahetkel. Muudatused salvestatakse diferentsiaalkoopiatena (copy-on-write).

Esimene tüüpiline kasutusstsenaarium on tagavarakoopiate tegemine välisele meediale töötavast süsteemist. Varikoopia võimaldab teha varunduse hoolimata faile lukustavatest rakendustest. Nt Outlook lukustab alati töö ajal oma andmebaasid. Varikoopia võimaldab neid probleemideta kopeerida.

Teine stsenaarium on luua kasutajale kergesti kättesaadavad jooksvad varukoopiad. Näiteks tehakse oluliste andmetega draivist varukoopiat 3 korda päevas. Kui kasutaja kogemata kustutab mõne olulise faili, saab ta iseseisvalt viimaselt varikoopialt oma faili taastada.

Toetatud platvormid

  • Windows 2000 (ainult ühiskaustad)
  • Windows XP (kohalikud ajutised varikoopiad ja ühiskaustad)
  • Windows 2003 ja uuemad (täielik funktsionaalsus)

Omadused

  • Kui varikoopia salvestatakse teisele draivile, ei kasutata diferentsiaalkopeerimist, vaid andmed kloonitakse
  • Varikoopiad võivad olla ka raudvaralised, kuid siin nendele ei keskenduta.
  • Kui varikoopiatele määratud kettamaht lõpeb, kustutatakse vanim varikoopia.
  • Kui kettamaht lõpeb, kustutatakse vanim varikoopia.
  • Windows Vistas ja uuemates klientoperatsioonisüsteemides kaasnev Eelnevad versioonid kasutab varikoopiaid. Kuigi varikoopiate seadistamise liides puudub, on need ajastatud ja kättesaadavad.
  • Mitmed rakendused on varikoopiast teadlikud. St kui valmistutakse varikoopiat looma, teavitatakse rakendust (VSS writer), mis viib oma andmefailid konsistentsesse seisu.
    • Active Directory
    • Microsoft SQL
    • Hyper-V
    • Exchange Server
  • Minimaalne kettamaht varikoopia salvestamiseks on 300MB. See tuleneb väikseimast diferentsiaalkopeerimispuhvri mahust.

Piirangud

  • Windows 2000 ei toeta kohalike draivide varikoopiaid. Kui ühiskausta serveriks on Windows 2003 või uuem ning varikoopiad on aktiveeritud, oskab Windows 2000 neid kasutada.
  • Windows XP toetab kohalikel draividel vaid ajutisi varikoopiaid. St toetatud on vaid esimene kasutusstsenaarium. Näiteks kasutab ajutisi varikoopiaid NTBackup. Loomulikult on toetatud varikoopiate lugemine ühiskaustades.
  • Varikoopiat saab teha nii FAT kui NTFS failisüsteemiga draivist, kuid salvestada saab seda vaid NTFS draivile.
  • Vaikimisi on toetatud ühel draivil kuni 64 varikoopiat (registrivõtmega muudetav kuni 512).
  • Varikoopiaid saab teha vaid tervest draivist, mitte selle osadest (failid või kaustad).
  • Varikoopiad ei ole varukoopiad!

Graafiline seadistamine

Kõik pildid on tehtud kasutades Kaugtöölauda Windows 2008 R2 eestindatud versioonil. Nähtavasti pole varikoopiate liides eestindatud.

Üldine seadistamise liides

Varikoopiate seadistamise liides on kättesaadav avades Windows Server platvormil ükskõik millise kohaliku draivi atribuudid.
Varikoopiate kasutajaliides
Üldine kasutajaliides annab ülevaate kõigist süsteemi külge ühendatud draividest.
Ülemises osas on draivi ühenduspunkt, viimase varikoopia aeg (või märge, et varikoopia pole lubatud), ühiskaustade arv ja varikoopiate kasutatav ruum (Mahupiirangu korral ka see).
Valikutest on saadaval varikoopiate lubamine (kui keelatud), keelamine (kui lubatud) ja sätted.

Varikoopiate lubamine

Varikoopiate lubamine
Lubamisel nõutakse kinnitust hoiatusega, et kasutatakse vaikimisi ajastust ja mahupiirangut (10% draivi mahust). Samuti hoiatatakse hoiustamast varikoopiaid suure koormusega draividel.

Varikoopiate keelamine

Varikoopiate keelamine
Keelamisel nõutakse kinnitust hoiatusega, et keelamisel hävinevad kõik sätted ja varikoopiad.

Varikoopiate sätted

Varikoopiate sätted
Ülemises osas on näha draiv, mille varikoopiad hetkel seadistatakse.
Keskmises osas saab valida draiv, kuhu varikoopiad salvestatakse. Vaikimisi on selleks draiv ise. Samuti saab määrata varikoopiate mahupiirangut, vaikimisi on see 10% draivi mahust.
Alumises osas on võimalik varikoopiate tegemist ajastada.
NB! Varikoopiate salvestamise draivi on võimalik valida vaid enne varikoopiate lubamist. Ärge vajutage lubamiseks üldliideses Luba, vaid Sätted ning seadistage varikoopiad käsitsi.
Varikoopiate salvestusdraivi valimine
Avades detailid on võimalik kohe tutvuda draivi ja varikoopiate mahuga.
Draivi detailid

Varikoopiate ajastamine

Varikoopiate ajastamine
Varikoopiate ajastamine kasutab Windowsi toiminguajasti kasutajaliidest. Võimalik on kasutada mitut graafikut ning määrata varikoopia aega kuni minuti täpsusega.

Käsurealt seadistamine

vssadmin

vssadmin add shadowstorage /for=<ForVolumeSpec> /on=<OnVolumeSpec> [/maxsize=<MaxSizeSpec>]

Määrab /for draivi varikoopia salvestusdraiviks draivi /on valikulise mahupiiranguga /maxsize

vssadmin create shadow /for=<ForVolumeSpec> [/autoretry=<MaxRetryMinutes>]

Loob varikoopia draivist /for. Valikuline parameeter /autoretry määrab uuesti proovimise perioodi, kui samal ajal juba luuakse varikoopiat.

vssadmin delete shadows /for=<ForVolumeSpec> [/oldest | /all | /shadow=<ShadowID>] [/quiet]

Kustutab varikoopiaid draivil /for.

  • /oldest - vanim varikoopia
  • /all - kõik varikoopiad
  • /shadow - määratud varikoopia. ID saamiseks kasuta vssadmin list shadows
  • /quiet - tagasisidet ei anta
vssadmin delete shadowstorage /for=<ForVolumeSpec> [/on=<OnVolumeSpec>] [/quiet]

Kustutab varikoopiad draivil /for. Valikuline parameeter /on määrab, millisel draivil asuvad varikoopiad kustutatakse. /quiet keelab tagasiside.

vssadmin list providers

Kuvab varikoopia pakkujad. Riistvaraliste pakkujate puudumisel on siin üldjuhul vaid Microsofti pakkuja

vssadmin list shadowstorage {/for=<ForVolumeSpec> | /on=<onVolumeSpec>}

Kuvab draivide varikoopiate salvestuskohal. /for määrab päritoludraivi ja /on sihtdraivi.

vssadmin list volumes

Kuvab draivid, millest on võimalik teha varikoopiat.

vssadmin list writers

Kuvab varikoopiast teadlikud rakendused.

vssadmin resize shadowstorage /for=<ForVolumeSpec> /on=<OnVolumeSpec> [/maxsize=<MaxSizeSpec>]

Muudab varikoopiate mahupiirangut päritoludraivilt /for ja sihtdraivil /on. Valikuline parameeter /maxsize määrab mahupiirangu.

http://technet.microsoft.com/en-us/library/cc754968(WS.10).aspx

Vssadmin dokumentatsioon

diskshadow

http://technet.microsoft.com/en-us/library/cc772172(WS.10).aspx

Diskshadow dokumentatsioon.

Diskshadow on saadaval vaid Windows Server toodetel ja on palju laiahaardelisem tööriist kui vssadmin, mis sisaldab graafilises liideses puuduvaid funktsioone. Näiteks võimaldab diskshadow luua varikoopiale mugavaks lugemiseks ühenduspunkti, simuleerida eelmise varikoopia täielikku taastamist ja käivitada väliseid rakendusi. Vaikimisi režiimis töötab diskshadow käsuinterpretaatorina nagu diskpart. Parameeter /s lubab määrata tekstifaili käskude loeteluga kasutamiseks skriptides.

Näide:

set context persistent nowriters - Varikoopia on püsiv ja teadlikke rakendusi ei teavitata varikoopia tegemisest.
set metadata c:\diskshadowdata\example.cab - ekspordib metaandmed teise arvutisse importimiseks
set verbose on - määrab paljusõnalisuse režiimi
begin backup - alustab varukoopia sessiooni
add volume c: alias SystemVolumeShadow - loob ühenduspunktist c: varikoopia SystemVolumeShadow
add volume d: alias DataVolumeShadow - loob ühenduspunktist d: varikoopia DataVolumeShadow
create - loob varikoopiad
expose %SystemVolumeShadow% p: - määrab varikoopiale SystemVolumeShadow ühenduspunkti p:
expose %DataVolumeShadow% q: - määrab varikoopiale DataVolumeShadow ühenduspunkti q:
exec c:\diskshadowdata\backupscript.cmd - käivitab välise varundusskripti
end backup - lõpetab varukoopiasessiooni

WMI klassid

Kõik varikoopiate klassid asuvad \root\cimv2 nimeruumis

Win32_ShadowBy
Win32_ShadowContext
Win32_ShadowCopy
Win32_ShadowDiffVolumeSupport
Win32_ShadowFor
Win32_ShadowOn
Win32_ShadowProvider
Win32_ShadowStorage
Win32_ShadowVolumeSupport
Win32_Volume
http://msdn.microsoft.com/en-us/library/aa394426(VS.85).aspx

Klasside dokumentatsioon. Järgmiste klasside vaatamiseks kasuta vasakpoolset menüüd.

WMI klasse saab kasutada näites Visual Basic Scripting skriptides.

Last but not least

  • Varikoopiad säilitavad pääsuloendi selle loomise hetkel. Kuna varikoopiad on kirjutuskaitstud, tasub olla väga hoolikas pääsuloendite seadistamisel, vastasel juhul võivad need mõningatel juhtudel osutuda lugematuteks.
  • Kasutajaliideses on 2 valikut: Open (ava) ja Revert (taasta eelnev olukord). Viimase kasutamisega tuleb olla väga ettevaatlik, kuna kaustade puhul taastatakse kõigi alamobjektide seis. Kui kasutada vanemat varikoopiat kui kõige uuem, hävinevad sealjuures taastehetkest uuemad varikoopiad. Alati tasub avada vanem varikoopia ning andmed kopeerida.
  • Rakenduste puhul, mis pole varikoopiast teadlikud, võivad varikoopia abil loodud varu- või varikoopiad olla mittekonsistentsed. Võimalik on juhus, et varikoopia satub hetkele, mis rakendus muudab oluliselt oma andmefaile, kuid pole tegevust täielikult lõpetanud.
  • Windowsi versioonid, mis ei toeta täielikult kohalikke varikoopiaid, eemaldavad kohalike varikoopiatega draivi ühendamisel kõik kohalikud varikoopiad. Nt Windows Vista draivi ühendamisel Windows XP külge hävinevad pöördumatult kõik kohalikud varikoopiad.
  • Süsteemitaaste alates Windows Vistast kasutab varikoopiaid.
  • Draiv (volume) pole sektsioon (partition). Draiv võib ulatuda üle mitme sektsiooni ja/või kasutada liiasust (RAID).
  • Klientoperatsioonisüsteemidel puudub varikoopiate graafiline liides, kuid teenus on endiselt hallatav käsurealt ja toiminguajastist.

Allikad

© Mihkel Soomere 2010