SlideShare a Scribd company logo
1 of 41
Download to read offline
LINUX DATOTEČNI
SUSTAVI
Dinko Korunić
Sadržaj
1. HDD sučelja i karakteristike
2. RAID uvod, performanse
3. Linux RAID i LVM
4. Datotečni sustavi: IO scheduleri,
datoteke, inode, tipovi
5. Ext3, Ext4, XFS, Btrfs, NFS,
OCFS2
6. Microsoft datotečni sustavi
7. diskusija 
Dinko Korunić: Linux datotečni sustavi 2
HDD sučelja – PATA i SCSI
 samo aktualna sučelja
 word-serial:
◦ stariji, paralelno sučelje, serijska kom.
◦ IDE/ATA/PATA – Paralel ATA
 40pin te kasnije 80pin, 16/32bit podaci
◦ SCSI – Small Computer System
Interface
 LVD, HVD varijante signalizacije
 razvoj: ..., Ultra-160, Ultra-320, Ultra-640
 68pin i 80pin, do 12m LVD
Dinko Korunić: Linux datotečni sustavi 3
HDD sučelja – SATA
 bit-serial:
◦ SATA – Serial ATA
 nasljednik PATA standarda, ATA command set
 karakteristike: half-duplex, hotswap, brža
komunikacija, manje vodiča (tanji kablovi, 1m)
 inačice: 1 (1.5 Gbps), 2 (3 Gbps), 3 (6 Gbps)
 eksterni – eSATA
 max read 285MB/s, max write 250 MB/s
 NCQ – interna optimizacija redoslijeda upita
(dubina teoretski 32, realno 31), manje
rotacija, više izvršenih naredbi, odterećenje
hosta Dinko Korunić: Linux datotečni sustavi 4
HDD sučelja – SAS
 bit-serial:
◦ SAS – Serial Attached SCSI
 karakteristike: serijska komunikacija, SCSI
command set, multipath, serverska namjena,
point-to-point linkovi prema uređajima
 sučelje: full-duplex 3 ili 6 Gbps
 čest dual-personality (kompatibilno sa SATA)
 komponente: Initiator, Target, Service Delivery
Subsystem, Expanders
 max 64k uređaja, uređaji imaju WWN
 protokoli: SSP, STP, SMP
Dinko Korunić: Linux datotečni sustavi 5
HDD sučelja – FC
 bit-serial:
◦ FC – Fibre Channel
 bakar i optika
 protokol: FCP (transportni, najčešće SCSI
makar moguć i ATM, IP)
 aktualno: 4GFC (800 Mbit), 8GFC (1600 Mbit),
16GFC (3200 Mbit), 10GFCS (2550 Mbit),
20GFC (5100 Mbit)
 topologije: FC-P2P, FC-AL (petlja/prsten), FC-
SW (FC preklopnici)
 FC HBA uređaji za poslužitelje
Dinko Korunić: Linux datotečni sustavi 6
HDD karakteristike
 disk sector:
◦ veličina: 512, 1024; novi standard 4096
 dimenzije:
◦ 0.85”, 1”, 1.8”, 2.5”, 3.5”, 5.25”
 shock resistance:
◦ 2D i 3D akceleratori, parkiranje glave
 spojenost/lokacija:
◦ lokalno spojeno (…) vs. eksterno (FW,
USB, eSATA, SAS, FC)
◦ NAS (Ethernet), SAN (Ethernet, FC)
Dinko Korunić: Linux datotečni sustavi 7
HDD karakteristike
 rotational speed - pomak do
željenog sektora:
◦ rotational delay - manji sa većom brzinom
◦ ograničavajuće: buka, toplina, vibracije
◦ desktop rpm: 4200, 5400, 7200
◦ enterprise rpm: 10000, 15000
 (disk-to-buffer) transfer rate:
◦ sekvencijska brzina: rpm, gustoća zap.
◦ 15krpm SAS ~ 120MB/s avg.
◦ 10krpm SAS ~ 88MB/s avg.
Dinko Korunić: Linux datotečni sustavi 8
HDD karakteristike
◦ 15 krpm vs. 10 krpm: s brojem
diskova/spindlova u šasiji se smanjuje
razlika agregatne propusnosti
 seek time - pomak do željene trake:
◦ enterprise SAS: 3-5 ms
◦ desktop SATA: 5-9 ms (mobile 5-12ms)
◦ SSD: ~0.1 ms 
 access time - vrijeme pristupa
podacima:
◦ spin-up time + seek time + rotational delay
Dinko Korunić: Linux datotečni sustavi 9
HDD karakteristike
 IOPS – I/O operacije u sekundi:
◦ alati: Iometer, IOzone, FIO
◦ varijacije: read/write, random/sequential
◦ faktori: rpm, seek time, threads, IOqueue
depth, block size, ...
◦ napredna logika: TCQ, NCQ... SAN
Dinko Korunić: Linux datotečni sustavi 10
HDD approx IOPS
5400 rpm PATA 50
7200 rpm SATA 75
10000 rpm SAS 125
15000 rpm SAS 175
SSD 6000-10000
RAID uvod
 performanse i/ili pouzdanost
 polje kao jedan disk (array vs. LUN)
 HW (visoka cijena, baterija, dedicirani
cache, specijalizirani procesor,
background operacije i provjere) vs.
SW (višak resursa na hostu, jeftino?)
 hotspare – tipično jedan po šasiji
 kontroler također ima max IOPS
ograničenje!
Dinko Korunić: Linux datotečni sustavi 11
RAID nivoi
 parity:
◦ XOR – uz postojeći paritet je dovoljan bilo
koji disk da se izračuna originalna
informacija sa preostalog diska
Dinko Korunić: Linux datotečni sustavi 12
level
min # of
disks
fault
tolerance
space
efficiency
description
RAID 0 2 0 1 stripe
RAID 1 2 n-1 1/n mirror
RAID 5 3 1 1-1/n
stripe + distrib.
parity
RAID 6 4 2 1-2/n
stripe + double
distrib. parity
RAID 10 4 n-1 1/n stripe of mirrors
RAID performanse
 RAID IOPS penalitet:
◦ omjer operacija izgubljenih zbog RAID
nivoa (zaštita, paritet, broj diskova)
◦ traženo je 250 IOPS sa 50% read
opterećenjem, 50% write opterećenjem u
RAID 6. Potrebno polje mora odraditi 875
IOPS (7x 10krpm HDD ili 5x 15krpm!)
Dinko Korunić: Linux datotečni sustavi 13
level read penalty write penalty
RAID 0 1 1
RAID 1
RAID 10
1 2
RAID 5 1 4
RAID 6 1 6
RAID performanse
 savjeti:
◦ RAID 0 – kad podaci nisu bitni 
◦ RAID 1 – intenzivne operacije nad manjim
poljima, npr. MySQL, logiranje, e-mail
maildir/mailbox (oprez, IOPS!)
◦ RAID 5 – veliki statički sadržaj, npr.
Apache2 statika, home direktoriji, itd.
◦ RAID 6 – previsok penalitet za sve osim
high-end storage
◦ RAID 10 – izrazito visok IO, npr. Squid
cache direktoriji za brze WAN linkove
Dinko Korunić: Linux datotečni sustavi 14
Linux MD – uvod
 uređaj:
◦ /dev/mdN ili /dev/md/N
 standardni nivoi: 1, 4, 5, 6, 10
 pseudo: 0, linear, multipath, faulty
 128-bitni UUID; tip particije fd
 pozadinski check/resync
 alat: mdadm
 konfiguracija: /etc/mdadm.conf
 md/sync_action: check, repair, idle
Dinko Korunić: Linux datotečni sustavi 15
Linux MD – tipični zahvati
 stvaranje novog uređaja:
◦ mdadm --create /dev/md0 --level=mirror --
raid-devices=2 /dev/sda1 /dev/sdb1
◦ mdadm --create /dev/md1 --level=5 --raid-
devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
 spajanje postojećeg uređaja:
◦ mdadm --assemble /dev/md1 /dev/hda1
◦ mdadm --assemble /dev/md3 /dev/hda3
◦ mdadm --add /dev/md1 /dev/hdb1
◦ mdadm --add /dev/md3 /dev/hdb3
Dinko Korunić: Linux datotečni sustavi 16
Linux MD – tipični zahvati
 gašenje:
◦ mdadm --stop /dev/md0
 stanje svih RAID uređaja:
◦ cat /proc/mdstat
 stanje pojedinog uređaja:
◦ mdadm --detail /dev/md0
 stvaranje konfiguracije:
◦ mdadm -Es >>/etc/mdadm/mdadm.conf
◦ mkinitramfs -k all -u
Dinko Korunić: Linux datotečni sustavi 17
Linux LVM – uvod
 PV (physical volume): fizički uređaji
sa više PE (physical extents)
 VG (volume group): nakupina PV
 LV (logical volume): dodijeljeni prostor
unutar jednog VG
 mogućnosti:
◦ dinamičko dodavanje fizičkog prostora
(PV) u VG i širenje LV-ova
◦ dinamički zahvati nad prostorom
 tip particije 8e Dinko Korunić: Linux datotečni sustavi 18
Linux LVM – alati
 stvaranje:
◦ pvcreate, vgcreate, lvcreate
 brisanje:
◦ pvremove, vgremove, lvremove
 prikaz:
◦ pvdisplay, vgdisplay, lvdisplay
 aktiviranje:
◦ vgscan, lvscan
 provjera ispravnosti:
◦ pvck Dinko Korunić: Linux datotečni sustavi 19
Linux LVM – alati
 preimenovanje:
◦ vgrename, lvrename
 proširenje:
◦ vgextend, lvextend
 skupljanje:
◦ vgreduce, lvreduce
 promjena veličine (alternativa):
◦ vgresize, lvresize
 i razni drugi...
Dinko Korunić: Linux datotečni sustavi 20
Datotečni sustavi – IO sched
 disk scheduler:
◦ optimize (reorder, delay, merge), fairness
 tipovi:
◦ CFQ – completely fair queueing, za
multiuser poslužitelje i desktop
◦ deadline – SCAN, 2x read + 1x write,
izbjegava starvation, deadline with expiry
◦ noop – nema spajanja
◦ anticipatory – predviđanje + deadline
Dinko Korunić: Linux datotečni sustavi 21
Datotečni sustavi – IO sched
 podešavanje:
◦ kernel boot: elevator=deadline
◦ sysfs: echo deadline >
/sys/block/sda/queue/scheduler
 deadline:
◦ za cluster fs-ove i high IO servere
◦ kad je potrebna garancija propusnosti
 CFQ:
◦ garancija “jednakosti” (disk-time)
 noop: za Xen virtualke i SSD-oveDinko Korunić: Linux datotečni sustavi 22
Datotečni sustavi – datoteke
 na Unix sustavu je sve datoteka, a
ako nije datoteka onda je proces!
 tipovi datoteka:
◦ regular file, directory, special file, link,
socket, named pipe, block device
 particioniranje
◦ data (tip 83): root (/), /boot, /var, var/log,
/home, /usr, /opt
◦ swap (tip 82): u praksi do veličine RAM-a
◦ stroga Unix hijerarhija!
Dinko Korunić: Linux datotečni sustavi 23
Datotečni sustavi – inode
 spremište najvažnijih informacija:
◦ veličina datoteke (bytes)
◦ koji uređaj sadrži datoteku (device ID)
◦ vlasništvo (UID, GID)
◦ tip datoteke (regular, directory, ...)
◦ dozvole (ACL) i dodatni atributi
◦ vrijeme stvaranja (ctime), zadnjeg čitanja
(atime) i promjene (mtime)
◦ broj linkova (soft, hard) na ovu datoteku
◦ pokazivač do stvarne lokacije datoteke
Dinko Korunić: Linux datotečni sustavi 24
Datotečni sustavi – inode
 važno!
◦ ime datoteke nije nužno jedinstveno
◦ brisanje čeka dok svi procesi koji mu
pristupaju nisu završili
◦ inode broj ostaje isti dokle god se
datoteka premješta po istom fs-u
◦ nije moguće hardlinkati direktorije
◦ broj inodeova ograničen pri formatiranju...
 pathname to inode: find -inum
 dinamički rast: JFS, ext4, XFS
Dinko Korunić: Linux datotečni sustavi 25
Datotečni sustavi – upotreba
 mount
◦ povezivanje uređaja sa direktorijem
◦ mount point: /media, /mnt, ...
 fstab
 fs alati:
◦ mkfs, fsck, debugfs, tunefs, ...
Dinko Korunić: Linux datotečni sustavi 26
file
system
mount
point
type options dump pass
UUID=4f7
e1a43-
97f0-4146-
ae21-
f850ebcf1
e96
/ ext4 defaults,usrjquota=aq
uota.user,grpjquota=a
quota.group,jqfmt=vfs
v0,noatime,nodelalloc
0 1
Datotečni sustavi – mount
 atime update: relatime, noatime
 tipično: defaults,ro,rw
 ograničenja: nosuid, noexec, nodev
 dnevnik: data=journal, data=ordered,
data=writeback
 razno: discard, nodelalloc, ...
 quota: quota, usrquota, grpquota,
usrjquota=aquota.user,
grpjquota=aquota.group, jqfmt=vfsv0
Dinko Korunić: Linux datotečni sustavi 27
Datotečni sustavi – tipovi
 disk:
◦ Ext2, Ext3, Ext4, Btrfs, ISO9660, ZFS,
ReiserFS, swapfs, UDF, XFS, JFS, ...
 flash:
◦ JFFS, JFFS2, YAFFS, LogFS
 tape
 database
 transactional:
◦ podverzija journaling – Ext3, Ext4, XFS, ...
Dinko Korunić: Linux datotečni sustavi 28
Datotečni sustavi – tipovi
 network:
◦ NFS, AFS, SMB/CIFS, SSHFS
 shared disk (cluster):
◦ GFS, GFS2, OCFS, OCFS2, GPFS
 specijalni:
◦ tmpfs, sysfs, procfs
Dinko Korunić: Linux datotečni sustavi 29
Datotečni sustavi – Ext3
 karakteristike:
◦ in-place nadogradnja sa ext2
◦ journal + Htree za velike direktorije
◦ 4KiB, 2TiB max filesize, 16TiB fs max
◦ 8KiB, 2TiB max filesize, 32TiB fs max
◦ jedan od najsporijih fs-ova (fsck 4TB ~ 2h)
 alati:
◦ e2fsprogs: e2fsck, mke2fs, itd.
◦ jednostavna struktura, mogućnost dobrog
oporavka (e2fsck, Testdisk, findsuper)
Dinko Korunić: Linux datotečni sustavi 30
Datotečni sustavi – Ext3
 nivoi dnevnika:
◦ journal – sve u dnevnik pa tek na disk
◦ ordered – metadata u dnevnik pa na disk,
postoji garancija spremanja na disk
◦ writerback – samo metadata u dnevnik
 mane:
◦ sporost!, nema online defragmentacija
(Shake, defrag), “nemoguće” vraćanje
obrisanih datoteka, nema transparentne
kompresije, nema snapshota, nema
journal checksumminga, 32000 subdirsDinko Korunić: Linux datotečni sustavi 31
Datotečni sustavi – Ext4
 dio osnovne Linux jezgre od kraja
2008 – stabilna verzija od 2.6.28
 prednosti:
◦ fs do 1EiB, file max do 16TiB
◦ extents - nakupine blokova umjesto
indirektnog mapiranja blok-datoteka
◦ kompatibilnost; alokacija više blokova
odjednom; odgođena alokacija
◦ vrlo brzi fsck (2-20x ubrzanje!)
◦ journal checksumming; online defrag,
SSD podrška, ... Dinko Korunić: Linux datotečni sustavi 32
Datotečni sustavi – Ext4
 alati: e2fsprogs
 offline konverzija (i ne potpuna...):
◦ tune2fs -O extents,uninit_bg,dir_index
/dev/disk
◦ fsck -yfDC0 /dev/disk
 također potrebno:
◦ Grub2, quota (Ext4-compatible)
◦ sto noviji kernel (npr. 2.6.32 ili noviji)
 Debian Lenny – standardno nije Ext4
kompatibilan  Dinko Korunić: Linux datotečni sustavi 33
Datotečni sustavi – XFS
 originalno sa IRIX sustava
 prednosti:
◦ 64-bit, fs do 16EiB, file max do 8EiB
◦ garantirana propusnost (streaming)
◦ journaling, allocation groups, striped
allocation, extent based allocation,
variable block sizes, delayed allocation,
sparse files, direct IO, DMAPI, extended
ACL, snapshots(*), online
defragmentation, online resize, atomic
disk quota, dump/restore, …
Dinko Korunić: Linux datotečni sustavi 34
Datotečni sustavi – XFS
 alati:
◦ xfs_check – provjera konzistencije, nema
gornje granice potrošnje memorije!
◦ xfs_repair – popravlja greške
◦ xfs_freeze – suspendira pisanje radi
stvaranja snapshota (LVM...)
◦ xfs_admin – promjene parametara
pojedinog fs-a
◦ xfs_growfs – širenje pojedinog fs-a
tijekom rada (online)
Dinko Korunić: Linux datotečni sustavi 35
Datotečni sustavi – Btrfs
 CoW fs, Oracle proizvod, fs nove
generacije... ali još nije dovršen 
 enterprise namjena! (ZFS alternativa)
◦ pooling, snapshots, checksums, multi-
device spanning
 implementirano:
◦ online grow/shrink, online block device
add/remove, online defrag, online
balancing, transparent compression,
subvolumes, snapshots, file cloning
Dinko Korunić: Linux datotečni sustavi 36
Datotečni sustavi – Btrfs
 implementirano:
◦ object-level striping/mirroring (RAID 0,
RAID1, RAID10), data & metadata
checksums, in-place conversion
(ext3/ext4), SSD podrška, ...
 upotreba:
◦ mkfs.btrfs
◦ btrfsctl –a ili btrfs device scan
◦ btrfsck
 multi-device – mount sa svih uređaja
Dinko Korunić: Linux datotečni sustavi 37
Datotečni sustavi – NFS
 brojne verzije protokola: v1 - v4
 brojni problemi:
◦ sigurnost i udaljene ovlasti (root squash)
◦ performanse TCP vs. UDP
◦ locking
◦ asinhroni rad
◦ centraliziranost rješenja
 implementacije:
◦ kernel (v3, v4) vs. userspace (UNFSv3)
◦ userspace – rješenje za OpenVZ
Dinko Korunić: Linux datotečni sustavi 38
Datotečni sustavi – OCFS2
 alternativa GFS/GFS2, integralni dio
Oracle RDBMS, dio std. Linux jezgre
 karakteristike:
◦ shared-disk, multi-node, cache-coherent,
parallel IO, journalling, arch/endian neutral
◦ distribuirano zaključavanje (flock(),
integrirani DLM), interni
heartbeating/quorum/fencing
 moguće koristiti:
◦ za virtualizaciju, baze podataka, spremišta
statičkih datoteka, ...Dinko Korunić: Linux datotečni sustavi 39
Datotečni sustavi – OCFS2
 kod deriviran iz ext3, jednostavan i
efikasan
 konfiguracija:
◦ /etc/ocfs2/cluster.conf
 alati:
◦ mkfs.ocfs2
◦ tunefs.ocfs2
◦ fsck.ocfs2
◦ o2cb_ctl
◦ o2image
Dinko Korunić: Linux datotečni sustavi 40
Datotečni sustavi – MS svijet
 NTFS
◦ FUSE NTFS-3G driver, puna rw podrška
◦ ntfsprogs
◦ najčešće uzrokuje povišeno opterećenje
 FAT12, FAT16, FAT32
◦ msdos (8.3), vfat (LFN), umsdos (LFN +
Unix semantika)
 FAT64/exFAT
◦ beta FUSE driver
Dinko Korunić: Linux datotečni sustavi 41

More Related Content

Viewers also liked

tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...
tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...
tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...saheli halder
 
Classroom Technology
Classroom TechnologyClassroom Technology
Classroom TechnologyNicole Simone
 
Scheda tecnica-agevolazioni superammortamento f
Scheda tecnica-agevolazioni superammortamento fScheda tecnica-agevolazioni superammortamento f
Scheda tecnica-agevolazioni superammortamento fRoberto Lenzi
 
Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...
Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...
Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...saheli halder
 
A pH-independent DNA nanodevice for quantifying chloride transport in organel...
A pH-independent DNA nanodevice for quantifying chloride transport in organel...A pH-independent DNA nanodevice for quantifying chloride transport in organel...
A pH-independent DNA nanodevice for quantifying chloride transport in organel...saheli halder
 
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MSDesign of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MSsaheli halder
 
마리오 런 시즌 2
마리오 런 시즌 2마리오 런 시즌 2
마리오 런 시즌 2moonjunu
 
음표배우자10
음표배우자10음표배우자10
음표배우자10moonjunu
 
Primeros auxilios lesiones de piel
Primeros auxilios lesiones de pielPrimeros auxilios lesiones de piel
Primeros auxilios lesiones de pieljerehemysebastian
 

Viewers also liked (16)

Rickelm Resume 2016
Rickelm Resume 2016Rickelm Resume 2016
Rickelm Resume 2016
 
tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...
tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...
tuning the pH Response of i-Motif DNA Oligonucleotides_Lannes_et_al-2015-Chem...
 
Classroom Technology
Classroom TechnologyClassroom Technology
Classroom Technology
 
Scheda tecnica-agevolazioni superammortamento f
Scheda tecnica-agevolazioni superammortamento fScheda tecnica-agevolazioni superammortamento f
Scheda tecnica-agevolazioni superammortamento f
 
Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...
Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...
Recombinant antibody mediated delivery of organelle-specific DNA pH sensors a...
 
Flash dance
Flash danceFlash dance
Flash dance
 
A pH-independent DNA nanodevice for quantifying chloride transport in organel...
A pH-independent DNA nanodevice for quantifying chloride transport in organel...A pH-independent DNA nanodevice for quantifying chloride transport in organel...
A pH-independent DNA nanodevice for quantifying chloride transport in organel...
 
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MSDesign of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
Design of ultrasensitive DNA-based fluorescent pH sensitive nanodevices_MS
 
마리오 런 시즌 2
마리오 런 시즌 2마리오 런 시즌 2
마리오 런 시즌 2
 
Tutela particulares
Tutela particularesTutela particulares
Tutela particulares
 
Presentation_NEW.PPTX
Presentation_NEW.PPTXPresentation_NEW.PPTX
Presentation_NEW.PPTX
 
음표배우자10
음표배우자10음표배우자10
음표배우자10
 
Colo colo
Colo coloColo colo
Colo colo
 
Compositions
CompositionsCompositions
Compositions
 
Primeros auxilios lesiones de piel
Primeros auxilios lesiones de pielPrimeros auxilios lesiones de piel
Primeros auxilios lesiones de piel
 
Harish resume
Harish resumeHarish resume
Harish resume
 

Similar to CUC2010: Linux datotecni sustavi

DORS2010: Vijetnamski Linux cluster
DORS2010: Vijetnamski Linux clusterDORS2010: Vijetnamski Linux cluster
DORS2010: Vijetnamski Linux clusterDinko Korunic
 
ITshowoff Zagreb: Skalabilna web rjesenja
ITshowoff Zagreb: Skalabilna web rjesenjaITshowoff Zagreb: Skalabilna web rjesenja
ITshowoff Zagreb: Skalabilna web rjesenjaDinko Korunic
 
Zahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptxZahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptxsindikatpolicijehnzk
 
Unutarnji dijelovi računala 1
Unutarnji dijelovi računala 1Unutarnji dijelovi računala 1
Unutarnji dijelovi računala 1LovroBevanda
 
DORS2011: MySQL Crash Recovery
DORS2011: MySQL Crash RecoveryDORS2011: MySQL Crash Recovery
DORS2011: MySQL Crash RecoveryDinko Korunic
 
Seminar Grafičke kartice- Prezentacija.pptx
Seminar Grafičke kartice- Prezentacija.pptxSeminar Grafičke kartice- Prezentacija.pptx
Seminar Grafičke kartice- Prezentacija.pptxNadanBazdulj1
 
Dinko Korunić - Skalabilna web rješenja (IT Showoff)
Dinko Korunić - Skalabilna web rješenja (IT Showoff)Dinko Korunić - Skalabilna web rješenja (IT Showoff)
Dinko Korunić - Skalabilna web rješenja (IT Showoff)IT Showoff
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in BosnianMind The Firebird
 
[ERRO] Predavanje: Porodice mikroupravljača
[ERRO] Predavanje: Porodice mikroupravljača[ERRO] Predavanje: Porodice mikroupravljača
[ERRO] Predavanje: Porodice mikroupravljačaStipe Predanic
 
Prezentacija: Winows 7 migracija na KBCSM-u
Prezentacija: Winows 7 migracija na KBCSM-uPrezentacija: Winows 7 migracija na KBCSM-u
Prezentacija: Winows 7 migracija na KBCSM-uTomislav Horvatek
 

Similar to CUC2010: Linux datotecni sustavi (20)

DORS2010: Vijetnamski Linux cluster
DORS2010: Vijetnamski Linux clusterDORS2010: Vijetnamski Linux cluster
DORS2010: Vijetnamski Linux cluster
 
DORS2010-Dinko
DORS2010-DinkoDORS2010-Dinko
DORS2010-Dinko
 
Dijelovi racunala
Dijelovi racunalaDijelovi racunala
Dijelovi racunala
 
ITshowoff Zagreb: Skalabilna web rjesenja
ITshowoff Zagreb: Skalabilna web rjesenjaITshowoff Zagreb: Skalabilna web rjesenja
ITshowoff Zagreb: Skalabilna web rjesenja
 
ITshowoff-Dinko
ITshowoff-DinkoITshowoff-Dinko
ITshowoff-Dinko
 
CUC2009
CUC2009CUC2009
CUC2009
 
CUC2011-Dinko
CUC2011-DinkoCUC2011-Dinko
CUC2011-Dinko
 
Zahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptxZahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptx
 
Unutarnji dijelovi računala 1
Unutarnji dijelovi računala 1Unutarnji dijelovi računala 1
Unutarnji dijelovi računala 1
 
DORS2011-Dinko
DORS2011-DinkoDORS2011-Dinko
DORS2011-Dinko
 
DORS2011: MySQL Crash Recovery
DORS2011: MySQL Crash RecoveryDORS2011: MySQL Crash Recovery
DORS2011: MySQL Crash Recovery
 
Seminar Grafičke kartice- Prezentacija.pptx
Seminar Grafičke kartice- Prezentacija.pptxSeminar Grafičke kartice- Prezentacija.pptx
Seminar Grafičke kartice- Prezentacija.pptx
 
Dinko Korunić - Skalabilna web rješenja (IT Showoff)
Dinko Korunić - Skalabilna web rješenja (IT Showoff)Dinko Korunić - Skalabilna web rješenja (IT Showoff)
Dinko Korunić - Skalabilna web rješenja (IT Showoff)
 
Why Firebird - Fact for decision makers, in Bosnian
Why Firebird  - Fact for decision makers, in BosnianWhy Firebird  - Fact for decision makers, in Bosnian
Why Firebird - Fact for decision makers, in Bosnian
 
Tru64-Mreza
Tru64-MrezaTru64-Mreza
Tru64-Mreza
 
[ERRO] Predavanje: Porodice mikroupravljača
[ERRO] Predavanje: Porodice mikroupravljača[ERRO] Predavanje: Porodice mikroupravljača
[ERRO] Predavanje: Porodice mikroupravljača
 
Prezentacija: Winows 7 migracija na KBCSM-u
Prezentacija: Winows 7 migracija na KBCSM-uPrezentacija: Winows 7 migracija na KBCSM-u
Prezentacija: Winows 7 migracija na KBCSM-u
 
Java card (2003)
Java card (2003)Java card (2003)
Java card (2003)
 
Windows Server
Windows ServerWindows Server
Windows Server
 
Informatika
InformatikaInformatika
Informatika
 

More from Dinko Korunic

CARNet-SNMP-ZenOSS-Radionica
CARNet-SNMP-ZenOSS-RadionicaCARNet-SNMP-ZenOSS-Radionica
CARNet-SNMP-ZenOSS-RadionicaDinko Korunic
 
VSS2014-kriminalitet
VSS2014-kriminalitetVSS2014-kriminalitet
VSS2014-kriminalitetDinko Korunic
 
VSS predavanje: Oblici racunalnog kriminaliteta
VSS predavanje: Oblici racunalnog kriminalitetaVSS predavanje: Oblici racunalnog kriminaliteta
VSS predavanje: Oblici racunalnog kriminalitetaDinko Korunic
 
FSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaDinko Korunic
 

More from Dinko Korunic (7)

CARNet-SNMP-ZenOSS-Radionica
CARNet-SNMP-ZenOSS-RadionicaCARNet-SNMP-ZenOSS-Radionica
CARNet-SNMP-ZenOSS-Radionica
 
FSEC2011-Dinko
FSEC2011-DinkoFSEC2011-Dinko
FSEC2011-Dinko
 
VSS2014-kriminalitet
VSS2014-kriminalitetVSS2014-kriminalitet
VSS2014-kriminalitet
 
MTA-testiranje
MTA-testiranjeMTA-testiranje
MTA-testiranje
 
DNS-prirucnik
DNS-prirucnikDNS-prirucnik
DNS-prirucnik
 
VSS predavanje: Oblici racunalnog kriminaliteta
VSS predavanje: Oblici racunalnog kriminalitetaVSS predavanje: Oblici racunalnog kriminaliteta
VSS predavanje: Oblici racunalnog kriminaliteta
 
FSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacijaFSEC2011: Reverzni inzenjering Android aplikacija
FSEC2011: Reverzni inzenjering Android aplikacija
 

CUC2010: Linux datotecni sustavi

  • 2. Sadržaj 1. HDD sučelja i karakteristike 2. RAID uvod, performanse 3. Linux RAID i LVM 4. Datotečni sustavi: IO scheduleri, datoteke, inode, tipovi 5. Ext3, Ext4, XFS, Btrfs, NFS, OCFS2 6. Microsoft datotečni sustavi 7. diskusija  Dinko Korunić: Linux datotečni sustavi 2
  • 3. HDD sučelja – PATA i SCSI  samo aktualna sučelja  word-serial: ◦ stariji, paralelno sučelje, serijska kom. ◦ IDE/ATA/PATA – Paralel ATA  40pin te kasnije 80pin, 16/32bit podaci ◦ SCSI – Small Computer System Interface  LVD, HVD varijante signalizacije  razvoj: ..., Ultra-160, Ultra-320, Ultra-640  68pin i 80pin, do 12m LVD Dinko Korunić: Linux datotečni sustavi 3
  • 4. HDD sučelja – SATA  bit-serial: ◦ SATA – Serial ATA  nasljednik PATA standarda, ATA command set  karakteristike: half-duplex, hotswap, brža komunikacija, manje vodiča (tanji kablovi, 1m)  inačice: 1 (1.5 Gbps), 2 (3 Gbps), 3 (6 Gbps)  eksterni – eSATA  max read 285MB/s, max write 250 MB/s  NCQ – interna optimizacija redoslijeda upita (dubina teoretski 32, realno 31), manje rotacija, više izvršenih naredbi, odterećenje hosta Dinko Korunić: Linux datotečni sustavi 4
  • 5. HDD sučelja – SAS  bit-serial: ◦ SAS – Serial Attached SCSI  karakteristike: serijska komunikacija, SCSI command set, multipath, serverska namjena, point-to-point linkovi prema uređajima  sučelje: full-duplex 3 ili 6 Gbps  čest dual-personality (kompatibilno sa SATA)  komponente: Initiator, Target, Service Delivery Subsystem, Expanders  max 64k uređaja, uređaji imaju WWN  protokoli: SSP, STP, SMP Dinko Korunić: Linux datotečni sustavi 5
  • 6. HDD sučelja – FC  bit-serial: ◦ FC – Fibre Channel  bakar i optika  protokol: FCP (transportni, najčešće SCSI makar moguć i ATM, IP)  aktualno: 4GFC (800 Mbit), 8GFC (1600 Mbit), 16GFC (3200 Mbit), 10GFCS (2550 Mbit), 20GFC (5100 Mbit)  topologije: FC-P2P, FC-AL (petlja/prsten), FC- SW (FC preklopnici)  FC HBA uređaji za poslužitelje Dinko Korunić: Linux datotečni sustavi 6
  • 7. HDD karakteristike  disk sector: ◦ veličina: 512, 1024; novi standard 4096  dimenzije: ◦ 0.85”, 1”, 1.8”, 2.5”, 3.5”, 5.25”  shock resistance: ◦ 2D i 3D akceleratori, parkiranje glave  spojenost/lokacija: ◦ lokalno spojeno (…) vs. eksterno (FW, USB, eSATA, SAS, FC) ◦ NAS (Ethernet), SAN (Ethernet, FC) Dinko Korunić: Linux datotečni sustavi 7
  • 8. HDD karakteristike  rotational speed - pomak do željenog sektora: ◦ rotational delay - manji sa većom brzinom ◦ ograničavajuće: buka, toplina, vibracije ◦ desktop rpm: 4200, 5400, 7200 ◦ enterprise rpm: 10000, 15000  (disk-to-buffer) transfer rate: ◦ sekvencijska brzina: rpm, gustoća zap. ◦ 15krpm SAS ~ 120MB/s avg. ◦ 10krpm SAS ~ 88MB/s avg. Dinko Korunić: Linux datotečni sustavi 8
  • 9. HDD karakteristike ◦ 15 krpm vs. 10 krpm: s brojem diskova/spindlova u šasiji se smanjuje razlika agregatne propusnosti  seek time - pomak do željene trake: ◦ enterprise SAS: 3-5 ms ◦ desktop SATA: 5-9 ms (mobile 5-12ms) ◦ SSD: ~0.1 ms   access time - vrijeme pristupa podacima: ◦ spin-up time + seek time + rotational delay Dinko Korunić: Linux datotečni sustavi 9
  • 10. HDD karakteristike  IOPS – I/O operacije u sekundi: ◦ alati: Iometer, IOzone, FIO ◦ varijacije: read/write, random/sequential ◦ faktori: rpm, seek time, threads, IOqueue depth, block size, ... ◦ napredna logika: TCQ, NCQ... SAN Dinko Korunić: Linux datotečni sustavi 10 HDD approx IOPS 5400 rpm PATA 50 7200 rpm SATA 75 10000 rpm SAS 125 15000 rpm SAS 175 SSD 6000-10000
  • 11. RAID uvod  performanse i/ili pouzdanost  polje kao jedan disk (array vs. LUN)  HW (visoka cijena, baterija, dedicirani cache, specijalizirani procesor, background operacije i provjere) vs. SW (višak resursa na hostu, jeftino?)  hotspare – tipično jedan po šasiji  kontroler također ima max IOPS ograničenje! Dinko Korunić: Linux datotečni sustavi 11
  • 12. RAID nivoi  parity: ◦ XOR – uz postojeći paritet je dovoljan bilo koji disk da se izračuna originalna informacija sa preostalog diska Dinko Korunić: Linux datotečni sustavi 12 level min # of disks fault tolerance space efficiency description RAID 0 2 0 1 stripe RAID 1 2 n-1 1/n mirror RAID 5 3 1 1-1/n stripe + distrib. parity RAID 6 4 2 1-2/n stripe + double distrib. parity RAID 10 4 n-1 1/n stripe of mirrors
  • 13. RAID performanse  RAID IOPS penalitet: ◦ omjer operacija izgubljenih zbog RAID nivoa (zaštita, paritet, broj diskova) ◦ traženo je 250 IOPS sa 50% read opterećenjem, 50% write opterećenjem u RAID 6. Potrebno polje mora odraditi 875 IOPS (7x 10krpm HDD ili 5x 15krpm!) Dinko Korunić: Linux datotečni sustavi 13 level read penalty write penalty RAID 0 1 1 RAID 1 RAID 10 1 2 RAID 5 1 4 RAID 6 1 6
  • 14. RAID performanse  savjeti: ◦ RAID 0 – kad podaci nisu bitni  ◦ RAID 1 – intenzivne operacije nad manjim poljima, npr. MySQL, logiranje, e-mail maildir/mailbox (oprez, IOPS!) ◦ RAID 5 – veliki statički sadržaj, npr. Apache2 statika, home direktoriji, itd. ◦ RAID 6 – previsok penalitet za sve osim high-end storage ◦ RAID 10 – izrazito visok IO, npr. Squid cache direktoriji za brze WAN linkove Dinko Korunić: Linux datotečni sustavi 14
  • 15. Linux MD – uvod  uređaj: ◦ /dev/mdN ili /dev/md/N  standardni nivoi: 1, 4, 5, 6, 10  pseudo: 0, linear, multipath, faulty  128-bitni UUID; tip particije fd  pozadinski check/resync  alat: mdadm  konfiguracija: /etc/mdadm.conf  md/sync_action: check, repair, idle Dinko Korunić: Linux datotečni sustavi 15
  • 16. Linux MD – tipični zahvati  stvaranje novog uređaja: ◦ mdadm --create /dev/md0 --level=mirror -- raid-devices=2 /dev/sda1 /dev/sdb1 ◦ mdadm --create /dev/md1 --level=5 --raid- devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2  spajanje postojećeg uređaja: ◦ mdadm --assemble /dev/md1 /dev/hda1 ◦ mdadm --assemble /dev/md3 /dev/hda3 ◦ mdadm --add /dev/md1 /dev/hdb1 ◦ mdadm --add /dev/md3 /dev/hdb3 Dinko Korunić: Linux datotečni sustavi 16
  • 17. Linux MD – tipični zahvati  gašenje: ◦ mdadm --stop /dev/md0  stanje svih RAID uređaja: ◦ cat /proc/mdstat  stanje pojedinog uređaja: ◦ mdadm --detail /dev/md0  stvaranje konfiguracije: ◦ mdadm -Es >>/etc/mdadm/mdadm.conf ◦ mkinitramfs -k all -u Dinko Korunić: Linux datotečni sustavi 17
  • 18. Linux LVM – uvod  PV (physical volume): fizički uređaji sa više PE (physical extents)  VG (volume group): nakupina PV  LV (logical volume): dodijeljeni prostor unutar jednog VG  mogućnosti: ◦ dinamičko dodavanje fizičkog prostora (PV) u VG i širenje LV-ova ◦ dinamički zahvati nad prostorom  tip particije 8e Dinko Korunić: Linux datotečni sustavi 18
  • 19. Linux LVM – alati  stvaranje: ◦ pvcreate, vgcreate, lvcreate  brisanje: ◦ pvremove, vgremove, lvremove  prikaz: ◦ pvdisplay, vgdisplay, lvdisplay  aktiviranje: ◦ vgscan, lvscan  provjera ispravnosti: ◦ pvck Dinko Korunić: Linux datotečni sustavi 19
  • 20. Linux LVM – alati  preimenovanje: ◦ vgrename, lvrename  proširenje: ◦ vgextend, lvextend  skupljanje: ◦ vgreduce, lvreduce  promjena veličine (alternativa): ◦ vgresize, lvresize  i razni drugi... Dinko Korunić: Linux datotečni sustavi 20
  • 21. Datotečni sustavi – IO sched  disk scheduler: ◦ optimize (reorder, delay, merge), fairness  tipovi: ◦ CFQ – completely fair queueing, za multiuser poslužitelje i desktop ◦ deadline – SCAN, 2x read + 1x write, izbjegava starvation, deadline with expiry ◦ noop – nema spajanja ◦ anticipatory – predviđanje + deadline Dinko Korunić: Linux datotečni sustavi 21
  • 22. Datotečni sustavi – IO sched  podešavanje: ◦ kernel boot: elevator=deadline ◦ sysfs: echo deadline > /sys/block/sda/queue/scheduler  deadline: ◦ za cluster fs-ove i high IO servere ◦ kad je potrebna garancija propusnosti  CFQ: ◦ garancija “jednakosti” (disk-time)  noop: za Xen virtualke i SSD-oveDinko Korunić: Linux datotečni sustavi 22
  • 23. Datotečni sustavi – datoteke  na Unix sustavu je sve datoteka, a ako nije datoteka onda je proces!  tipovi datoteka: ◦ regular file, directory, special file, link, socket, named pipe, block device  particioniranje ◦ data (tip 83): root (/), /boot, /var, var/log, /home, /usr, /opt ◦ swap (tip 82): u praksi do veličine RAM-a ◦ stroga Unix hijerarhija! Dinko Korunić: Linux datotečni sustavi 23
  • 24. Datotečni sustavi – inode  spremište najvažnijih informacija: ◦ veličina datoteke (bytes) ◦ koji uređaj sadrži datoteku (device ID) ◦ vlasništvo (UID, GID) ◦ tip datoteke (regular, directory, ...) ◦ dozvole (ACL) i dodatni atributi ◦ vrijeme stvaranja (ctime), zadnjeg čitanja (atime) i promjene (mtime) ◦ broj linkova (soft, hard) na ovu datoteku ◦ pokazivač do stvarne lokacije datoteke Dinko Korunić: Linux datotečni sustavi 24
  • 25. Datotečni sustavi – inode  važno! ◦ ime datoteke nije nužno jedinstveno ◦ brisanje čeka dok svi procesi koji mu pristupaju nisu završili ◦ inode broj ostaje isti dokle god se datoteka premješta po istom fs-u ◦ nije moguće hardlinkati direktorije ◦ broj inodeova ograničen pri formatiranju...  pathname to inode: find -inum  dinamički rast: JFS, ext4, XFS Dinko Korunić: Linux datotečni sustavi 25
  • 26. Datotečni sustavi – upotreba  mount ◦ povezivanje uređaja sa direktorijem ◦ mount point: /media, /mnt, ...  fstab  fs alati: ◦ mkfs, fsck, debugfs, tunefs, ... Dinko Korunić: Linux datotečni sustavi 26 file system mount point type options dump pass UUID=4f7 e1a43- 97f0-4146- ae21- f850ebcf1 e96 / ext4 defaults,usrjquota=aq uota.user,grpjquota=a quota.group,jqfmt=vfs v0,noatime,nodelalloc 0 1
  • 27. Datotečni sustavi – mount  atime update: relatime, noatime  tipično: defaults,ro,rw  ograničenja: nosuid, noexec, nodev  dnevnik: data=journal, data=ordered, data=writeback  razno: discard, nodelalloc, ...  quota: quota, usrquota, grpquota, usrjquota=aquota.user, grpjquota=aquota.group, jqfmt=vfsv0 Dinko Korunić: Linux datotečni sustavi 27
  • 28. Datotečni sustavi – tipovi  disk: ◦ Ext2, Ext3, Ext4, Btrfs, ISO9660, ZFS, ReiserFS, swapfs, UDF, XFS, JFS, ...  flash: ◦ JFFS, JFFS2, YAFFS, LogFS  tape  database  transactional: ◦ podverzija journaling – Ext3, Ext4, XFS, ... Dinko Korunić: Linux datotečni sustavi 28
  • 29. Datotečni sustavi – tipovi  network: ◦ NFS, AFS, SMB/CIFS, SSHFS  shared disk (cluster): ◦ GFS, GFS2, OCFS, OCFS2, GPFS  specijalni: ◦ tmpfs, sysfs, procfs Dinko Korunić: Linux datotečni sustavi 29
  • 30. Datotečni sustavi – Ext3  karakteristike: ◦ in-place nadogradnja sa ext2 ◦ journal + Htree za velike direktorije ◦ 4KiB, 2TiB max filesize, 16TiB fs max ◦ 8KiB, 2TiB max filesize, 32TiB fs max ◦ jedan od najsporijih fs-ova (fsck 4TB ~ 2h)  alati: ◦ e2fsprogs: e2fsck, mke2fs, itd. ◦ jednostavna struktura, mogućnost dobrog oporavka (e2fsck, Testdisk, findsuper) Dinko Korunić: Linux datotečni sustavi 30
  • 31. Datotečni sustavi – Ext3  nivoi dnevnika: ◦ journal – sve u dnevnik pa tek na disk ◦ ordered – metadata u dnevnik pa na disk, postoji garancija spremanja na disk ◦ writerback – samo metadata u dnevnik  mane: ◦ sporost!, nema online defragmentacija (Shake, defrag), “nemoguće” vraćanje obrisanih datoteka, nema transparentne kompresije, nema snapshota, nema journal checksumminga, 32000 subdirsDinko Korunić: Linux datotečni sustavi 31
  • 32. Datotečni sustavi – Ext4  dio osnovne Linux jezgre od kraja 2008 – stabilna verzija od 2.6.28  prednosti: ◦ fs do 1EiB, file max do 16TiB ◦ extents - nakupine blokova umjesto indirektnog mapiranja blok-datoteka ◦ kompatibilnost; alokacija više blokova odjednom; odgođena alokacija ◦ vrlo brzi fsck (2-20x ubrzanje!) ◦ journal checksumming; online defrag, SSD podrška, ... Dinko Korunić: Linux datotečni sustavi 32
  • 33. Datotečni sustavi – Ext4  alati: e2fsprogs  offline konverzija (i ne potpuna...): ◦ tune2fs -O extents,uninit_bg,dir_index /dev/disk ◦ fsck -yfDC0 /dev/disk  također potrebno: ◦ Grub2, quota (Ext4-compatible) ◦ sto noviji kernel (npr. 2.6.32 ili noviji)  Debian Lenny – standardno nije Ext4 kompatibilan  Dinko Korunić: Linux datotečni sustavi 33
  • 34. Datotečni sustavi – XFS  originalno sa IRIX sustava  prednosti: ◦ 64-bit, fs do 16EiB, file max do 8EiB ◦ garantirana propusnost (streaming) ◦ journaling, allocation groups, striped allocation, extent based allocation, variable block sizes, delayed allocation, sparse files, direct IO, DMAPI, extended ACL, snapshots(*), online defragmentation, online resize, atomic disk quota, dump/restore, … Dinko Korunić: Linux datotečni sustavi 34
  • 35. Datotečni sustavi – XFS  alati: ◦ xfs_check – provjera konzistencije, nema gornje granice potrošnje memorije! ◦ xfs_repair – popravlja greške ◦ xfs_freeze – suspendira pisanje radi stvaranja snapshota (LVM...) ◦ xfs_admin – promjene parametara pojedinog fs-a ◦ xfs_growfs – širenje pojedinog fs-a tijekom rada (online) Dinko Korunić: Linux datotečni sustavi 35
  • 36. Datotečni sustavi – Btrfs  CoW fs, Oracle proizvod, fs nove generacije... ali još nije dovršen   enterprise namjena! (ZFS alternativa) ◦ pooling, snapshots, checksums, multi- device spanning  implementirano: ◦ online grow/shrink, online block device add/remove, online defrag, online balancing, transparent compression, subvolumes, snapshots, file cloning Dinko Korunić: Linux datotečni sustavi 36
  • 37. Datotečni sustavi – Btrfs  implementirano: ◦ object-level striping/mirroring (RAID 0, RAID1, RAID10), data & metadata checksums, in-place conversion (ext3/ext4), SSD podrška, ...  upotreba: ◦ mkfs.btrfs ◦ btrfsctl –a ili btrfs device scan ◦ btrfsck  multi-device – mount sa svih uređaja Dinko Korunić: Linux datotečni sustavi 37
  • 38. Datotečni sustavi – NFS  brojne verzije protokola: v1 - v4  brojni problemi: ◦ sigurnost i udaljene ovlasti (root squash) ◦ performanse TCP vs. UDP ◦ locking ◦ asinhroni rad ◦ centraliziranost rješenja  implementacije: ◦ kernel (v3, v4) vs. userspace (UNFSv3) ◦ userspace – rješenje za OpenVZ Dinko Korunić: Linux datotečni sustavi 38
  • 39. Datotečni sustavi – OCFS2  alternativa GFS/GFS2, integralni dio Oracle RDBMS, dio std. Linux jezgre  karakteristike: ◦ shared-disk, multi-node, cache-coherent, parallel IO, journalling, arch/endian neutral ◦ distribuirano zaključavanje (flock(), integrirani DLM), interni heartbeating/quorum/fencing  moguće koristiti: ◦ za virtualizaciju, baze podataka, spremišta statičkih datoteka, ...Dinko Korunić: Linux datotečni sustavi 39
  • 40. Datotečni sustavi – OCFS2  kod deriviran iz ext3, jednostavan i efikasan  konfiguracija: ◦ /etc/ocfs2/cluster.conf  alati: ◦ mkfs.ocfs2 ◦ tunefs.ocfs2 ◦ fsck.ocfs2 ◦ o2cb_ctl ◦ o2image Dinko Korunić: Linux datotečni sustavi 40
  • 41. Datotečni sustavi – MS svijet  NTFS ◦ FUSE NTFS-3G driver, puna rw podrška ◦ ntfsprogs ◦ najčešće uzrokuje povišeno opterećenje  FAT12, FAT16, FAT32 ◦ msdos (8.3), vfat (LFN), umsdos (LFN + Unix semantika)  FAT64/exFAT ◦ beta FUSE driver Dinko Korunić: Linux datotečni sustavi 41