Linux ZFS fil system

For at installere ZFS support for linux er der flere muligheder, jeg vil derfor vise hvordan i ubuntu.

$ apt-get install zfs-fuse zfsutils

For at oprette en zfs disk skal du bruge zool create komandoen. Jeg starter med en simple eksemple som vist her. For at oprette disk systemer bruges komandoen zpool create For at oprette en disk som normal med ext3/4 bruges skal du skrive.

$ zpool create zfsdisk sdb 

sdb er som vist her den disk som du vil bruge og der må ikke være partiioner på disken. Disse diske kan også være filer på andre diske. kaldet VDEV i zfs. Der er flere typer af  VDEV i ZFS:

  1. disk (default)- Den fysiske harddisk i dit system.
  2. file- The absolute path of pre-allocated files/images.
  3. mirror- Standart software RAID-1 mirror.
  4. raidz1/2/3- Ikke standart mirror parity-based software RAID level.
  5. spare- Harddisk som er makeret spare a “hot spare” for ZFS software RAID.
  6. cache- Device som bliver brugt til cache level 2 adaptive read cache (L2ARC).
  7. log- Intern log system til ZFS (SLOG) called the “ZFS Intent Log” or ZIL.

Nested VDEVs.

$ zpool create tank mirror sde sdf mirror sdg sdh

Et perfect eksemple er standard RAID 1+0 eller RAID-10 med mirror på.

$ zpool status pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 sde ONLINE 0 0 0 sdf ONLINE 0 0 0 mirror-1 ONLINE 0 0 0

en meget simple pool.

sdg ONLINE 0 0 0 sdh ONLINE 0 0 0 errors: No known data errors

Hybrid pools. Her er det muligt at sammen sætte diske samt filer til fil systemer.

$zpool create tank mirror /tmp/file1 /tmp/file2 mirror /tmp/file3 /tmp/file4 log mirror sde sdf cache sdg sdh


$ zpool status tank

  pool: tank

state: ONLINE

scan: none requested

config:

 NAME            STATE     READ WRITE CKSUM
 tank            ONLINE       0     0     0
   mirror-0      ONLINE       0     0     0
     /tmp/file1  ONLINE       0     0     0
     /tmp/file2  ONLINE       0     0     0
   mirror-1      ONLINE       0     0     0
     /tmp/file3  ONLINE       0     0     0
     /tmp/file4  ONLINE       0     0     0
 logs
   mirror-2      ONLINE       0     0     0
     sde         ONLINE       0     0     0
     sdf         ONLINE       0     0     0
 cache
   sdg           ONLINE       0     0     0
   sdh           ONLINE       0     0     0


errors: No known data errors

 

Her sker der mange ting. Først opretter vi en RAID 1+0 ved brug af image filerne /tmp/file*. Som nummer 2 opretter vi en 3 VDEV med navnet mirror-2 som ikke bliver brugt til at gemme data, men bruges af ZFS intern log system. Jeg vil beskrive ZIL en anden gang. Når vi oprette disse bruges de som cache på disk sdg samt sdh Det er standard diske.

$ zpool status zfsdisk pool: zfsdisk state: ONLINE scan: scrub repaired 0 in 0h0m with 0 errors on Sun Nov 16 12:28:44 2014 config: NAME STATE READ WRITE CKSUM zfsdisk ONLINE 0 0 0 sdb ONLINE 0 0 0 errors: No known data errors 

 

Her vises hvordan du køre scrub på volumen. Det bevirker at alle sektore bliver checked mod checksum. Scrub er en kommando hvor du køre en test af disken for at se om der er fejl.

$ zpool scrub <zfsdisk>

Du kan se status på scrub processen med status komandoen.

$ zfs snapshot [email protected]

Med snapshot er det muligt at gemme en kopi af den aktive disk som et image.

$ zfs rollback [email protected]

Det er muligt at lave roolback på snapshots igen.

Mere info her pthree.org/2012/12/04/zfs-administration-part-i-vdevs

Author:

Jeg er en professionel system administrator og grundlægger af linuxboxen.dk Jeg er en ivrig Linux-elsker og open source-entusiast. Jeg bruger Ubuntu og tror på at dele viden. Bortset fra Linux, elsker musik og dyr. Jeg er en stor fan af Dire straits.

Skriv et svar