APFS

From ICO wiki
Revision as of 23:28, 4 November 2017 by Mvorklae (talk | contribs)
Jump to navigationJump to search

APFS (Apple File System)

Autor: Madis Võrklaev AK21 10163348

Apple failisüsteem on 64-bitine failisüsteem, mis toetab üle 9 kvintiljoni (10^18) faili ühel kettajaol.[1] Ta on optimeeritud SSD- ja välkmäluseadmetele, kuid töötab ka traditsioonilistel pöörlevatel kõvaketastel.[2]

Omadused[1]

Kloonimine (Clones)

Kloon on pea hetkeline koopia failist või kataloogist. Kloonid võimaldavad operatsioonisüsteemil teha kiireid ja energiatõhusaid koopiaid sama kettajao ulatuse, hõivamata selleks lisaruumi. Andmete muudatused kirjutatakse mujale, ning muutmata plokke jagatakse. Muutused salvestatakse cloonitud faili deltadena, vähendades nii dokumendi koopiate ja versiooniuuenduste ruumikasutust.

Kuvatõmmis (Snapshots)

Kettajao kuvatõmmis on teatud hetkes tehtud read-only tõmmis failisüsteemist. Operatsioonisüsteem kasutab tõmmiseid efektiivsemaks varukoopiate tegemiseks ning vajadusel muutuste tagasipööramiseks.

Ruumijagamine (Space Sharing)

Ruumijagamine võimaldab erinevatel failisüsteemidel jagada ühist vaba kettaruumi. Erinevalt jäikadest partitsioneerimisskeemidest, mis eel-eraldavad kindla koguse ruumi kindlale failisüsteemile, suudavad APFS-vormindatud kettajaod kasvada ning kahaneda ilma kettajagude ringijagamiseta. APSF-i puhul on konteineri kettaruum jagatud kõigi kettajagude vahel. Vaikimisi teatab iga kettajagu APFS konteineris sama palju saadaolevat ruumi, kui on kokku konteineri vaba kettaruumi. Näiteks konteiner mahuga 100GB, mis sisaldab kettajagu A (mis kasutab 10GB) ja kettajagu B (mis kasutab 20GB), näitab mõlema kettajao puhul vaba ruumi 70GB (100GB-10GB-20GB). Konteiner saab vajadusel seadistada maksimaalse eraldatud ruumi kettajao jaoks, samuti ka reserveerida või garanteerida minimaalselt eraldatud ruumi kettajaole.

Krüpteerimine (Encrypting)

APFS toetab järgmisi krüpteeringuid:

  • Ilma krüpteeringuta
  • Single-key encryption
  • Multi-key encryption per-file võtmetega failidele ning eraldi võtmega tundlike metaandmete jaoks.

Mitme võtme krüpteering tagab andmete tervikluse. Ka juhul, kui kurjategijal on ligipääs füüsilisele seadmele ning seadmevõtmele, ei saaks ta andmeid dekrüpteerida.

Sõltuvalt kasutuselolevast raudvarast kasutatakse AES-XTS või AES-CBC (https://en.wikipedia.org/wiki/Disk_encryption_theory, https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation) krüpteerimisvõtet.

Kirjutamisel kopeerimine (Copy-On-Write)

Tagamaks uuenduste kaitset crashide vastu, kasutatakse uudset copy-on-write metaandmete süsteemi, mis erineb nn journaling-tüüpi kahekordse kirjutamisega meetodist.

Hõredad failid (Sparse files)

Tühjade plokkide efektiivsemaks kirjeldamiseks kasutatakse nn. hõredaid faile. Hõredate failide korral eraldatakse salvestusruum ainult siis, kui seda vajatakse. Sel moel saab failide loogiline suurus olla suurem kui füüsiliselt kasutatud kettaruum. APId saavad päringuid esitada nii hõredate failide loogilise kui füüsilise suuruse kohta, olles võimelised auke ning andmesektsioone läbi vaatama ja tagasi kerima.

Kiire kataloogimahu arvutus (Fast Directory Sizing)

APFS võimaldab kiirelt arvutada kogu kataloogihierarhia poolt hõivatud mälumahu. Fast Directory Sizing (FDS) arvutab kasutatud mahu hetkel, kui sisu luuakse või eemaldatakse. See on sobilik kataloogidele, mis sisaldavad palju faile. FDS ei sobi kataloogidele, nagu /tmp, kus on palju ajutisi faile. FDS-i saab lubada tühjadele kataloogidele. Kataloogid, mis juba sisaldavad faile ning teisi katalooge, tuleb FDS-i kasutamiseks liigutada eelnevalt FDS-i võimekusega kataloogi.

Atomic Safe-Save

Atomic Safe-Save funktsioon teostab failide ümbernimetamist üheainsa operatsioonina. Seega kasutaja vaatenurgast operatsoioon kas lõpetati edukalt või seda ei teostatud üldse.

Failisüsteemi paigaldamine

Käivitatavatel kettajagudel pakub macOS High Sierra paigalduspakett turvalist uuendust HFS+ süsteemist APFS-ile. Väliste kettajagude konverteerimiseks tuleb kasutada Disk Utility-t. Paigaldatud APFS-iga kettajao saab muuta tagasi HFS+-iks, kuid sel juhul ei säili andmed.

APFS ja failinimed

APFS kasutab failide loomisel ainult kehtivaid UTF-8 kodeeringuga failinimesid. Nagu ka HFS+, on ka APFS tõstutundlik iOS-il ning valitava (mitte)tõstutundlikkusega macOS-il. Vaikimisi on macOS mittetõstutundlik.[2]

Puudused[3]

  • APFS ei toeta hetkel startup- ja hübriidkettaid (Fusion Drive). Time Machine varukoopiad ei ole samuti toetatud.
  • Failinimed on tõstutundlikud.
  • OS X 10.11 Yosemite ja sellest varasemad versioonid ei töötad APFSiga ketastega.
  • Toetatud on ainult 64-bitised seadmed.

References