Кіріспе

Компьютерлік сақтау жүйесінің белгілі бір уақыт сәтіндегі тіркелген күйі.

Компьютерлік жүйелерде, сурет – жүйенің белгілі бір уақыт сәтіндегі күйі. Бұл термин фотосуретке ұқсастығы үшін пайда болған.

Негізгі себептері

Үлкен деректер жиынтығының толық сақтық көшірмесін жасау көп уақытты алуы мүмкін. Көп тапсырмалы немесе көп пайдаланушы жүйелерінде сақтық көшірме жасалған кезде осы деректерге жазу операциялары жүруі мүмкін. Бұл сақтық көшірменің атомдық болуына кедерес келтіреді және деректердің бұрмалануына әкелетін нұсқаулық қателіктерді тудырады. Мысалы, егер пайдаланушы файлды бұрыннан сақталған каталогқа жылжытса, онда ол файл сақтық көшірме құралында болмайды, себебі файл қосылғаннан бұрын сақтық көшірме жасалған. Нұсқаулық қателіктер файлдардың оқылып жатқанда өлшемі немесе мазмұны өзгеретін жағдайда да бұрмалануға себеп болуы мүмкін. Тірі деректерді қауіпсіз сақтық көшірмелеудің бір жолы – сақтық көшірме жасау кезінде деректерге жазу құқығын уақытша тоқтату, яғни деректерге қол жеткізетін бағдарламаларды тоқтату немесе операциялық жүйе ұсынатын құлыптау API-ін пайдаланып, тек оқу құқығын қолдану. Бұл төмен қолжетімділік жүйелері үшін қабылданады (десктоп компьютерлер және шағын жұмыс тобы серверлері, онда үзіліс уақыты қалыпты жағдай). Дегенмен, тәулік бойы қолжетімді 24/7 жүйелер қызметтің тоқтатылуын көтере алмайды. Үзіліс уақытын болдырмау үшін жоғары қолжетімділік жүйелері сақтық көшірмені деректер жиынтығының белгілі бір уақытта мұздатылған, тек оқуға арналған көшірмесі – снэпшот арқылы жасайды және бағдарламалардың деректерін жазуын жалғастыруға мүмкіндік береді. Көптеген снэпшоттар тиімді және O(1) күрделілігімен снэпшоттарды құра алады. Яғни, снэпшотты құруға кеткен уақыт және I/O деректер жиынтығының көлеміне байланысты емес; керісінше, тікелей сақтық көшірме үшін қажетті уақыт және I/O деректер жиынтығының көлеміне пропорционалды. Кейбір жүйелерде бастапқы снэпшот алынғаннан кейін, келесі снэпшоттар тек өзгертілген деректерді көшіреді және бастапқы снэпшотқа сілтеме жасау үшін сілтемелер жүйесін пайдаланады. Бұл сілтемелерге негіделген снэпшот әдісі деректер жиынтығының бірнеше рет көшірмесін жасауға қарағанда дискіде аз орын алады.

Көлемді басқарушылар

Кейбір Unix жүйелеріндегі логикалық томдық басқарушылар (logical volume managers) тұтас блок құрылғыларында көшіру арқылы жазу (copy-on-write) мүмкіндігін іске асырады. Олар "бастапқы" томдардағы өзгертілген блоктарды жазылып үстінен өтетін уақытта басқа сақтау орынына көшіріп, блок құрылғысының өзіне сәйкес келетін өткен бейнесін сақтайды. Мұндай снэпшоттардағы файлдық жүйелер кейін тек оқу режиміндегі құралдай орнатылуы мүмкін. Кейбір томдық басқарушылар жазуға болатын снэпшоттар жасауға да мүмкіндік береді, бұл көшіру арқылы жазу тәсілін кеңейтіп, снэпшотта өзгертілген блоктарды бастапқы томдағы "бастапқы" блоктардан бөліп тастайды. Мұндай схеманы снэпшоттарға жазу операцияларынан туындайтын қосымша көшіру арқылы жазу операцияларын орындау деп те сипаттауға болады. Linux жүйесіндегі Логикалық томдық басқарушы (LVM) тек оқу және жазуға болатын снэпшоттар жасауға мүмкіндік береді. Жазуға болатын снэпшоттар LVM-нің 2-ші нұсқасымен (LVM2) енгізілді.

Файл жүйелері

Кейбір файлдық жүйелер, мысалы WAFL, Bell Labs-тен Plan 9 үшін fossil және ODS 5, файлдардың ескі нұсқаларын ішкі түрде бақылайды және арнайы атау кеңістігі арқылы снэпшоттарды қолжетімді етеді. UFS2 сияқты басқалары файлдар тарихына қол жеткізу үшін операциялық жүйе API-ін ұсынады. NTFS-те, Windows XP және Windows Server 2003-те Volume Shadow көшірмелеу қызметі (VSS) және Windows Vista-да Shadow Copy арқылы снэпшоттарға қол жеткізу қамтамасыз етіледі. Melio FS ортақ сақтау үшін сол VSS интерфейсі арқылы снэпшоттар ұсынады. Снэпшоттар сондай-ақ 4.11 нұсқасынан бастап NetWare-дегі NSS (Novell Storage Services) файлдық жүйесінде және жақында Open Enterprise Server өніміндегі Linux платформаларында қолжетімді болды. EMC-нің Isilon OneFS кластерлік сақтау платформасы файл немесе каталог деңгейінде тек оқуға арналған снэпшоттарды қолдайтын бір масштабталатын файлдық жүйені іске асырады. Файлдық жүйедегі кез келген файл немесе каталогты снэпшоттауға болады және жүйе жазу кезінде көшірмені жасау немесе уақыт бойынша снэпшотты жүйе үшін оңтайлы деп анықталған әдіске сүйене отырып, динамикалық түрде іске асырады. Linux-та Btrfs және OCFS2 файлдық жүйелері жеке файлдардың снэпшоттарын (клондау) жасауға мүмкіндік береді. Сонымен қатар, Btrfs субтомдардың снэпшоттарын құруды да қолдайды. AIX-те JFS2 да снэпшоттарды қолдайды.