Einführung in ZFS, Teil 3

Author: | Posted in Solaris 1 Comment

Nachdem es im ersten und im zweiten Teil sehr viel Text gab, aber keine Beispiele, geht es in diesem Teil um die grundlegenden Funktionien von ZFS.

Nachdem wir uns einen Name für den neuen Pool überlegt haben, schauen wir mal was für Disks wir haben:

# echo | formatSearching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>/sbus@1f,0/SUNW,fas@e,8800000/sd@0,0
1. c0t1d0 <SUN9.0G cyl 4924 alt 2 hd 27 sec 133>/sbus@1f,0/SUNW,fas@e,8800000/sd@1,0
2. c1t2d0 <FUJITSU-MAN3184M SUN18G-1502-16.87GB>/sbus@1f,0/QLGC,isp@0,10000/sd@2,0
3. c1t3d0 <SEAGATE-ST318203LSUN18G-034A-16.87GB>/sbus@1f,0/QLGC,isp@0,10000/sd@3,0
4. c1t4d0 <FUJITSU-MAN3184M SUN18G-1502-16.87GB>/sbus@1f,0/QLGC,isp@0,10000/sd@4,0
5. c1t5d0 <SEAGATE-ST318203LSUN18G-034A-16.87GB>/sbus@1f,0/QLGC,isp@0,10000/sd@5,0

Specify disk (enter its number): Specify disk (enter its number):

Auf den beiden internen Disks (erster Controller) ist das Betriebssystem installiert und auf den ersten beiden externen Disks liegen die Home Directories. Deshalb welchen wir die Disks c1t4d0 und c1t5d0 und erstellen einen gespiegelten Pool mit dem Namen zhadum:

# zpool create zhadum mirror c1t4d0 c1t5d0
invalid vdev specificationuse '-f' to override the following errors:
/dev/dsk/c1t4d0s0 is part of exported or potentially active ZFS pool pool0. Please see zpool(1M).

ZFS überschreibt nichts einfach so. Wenn irgendwas (UFS, ZFS) bereits auf der Disk war, wird das gemeldet. Also forcieren wir das:

# zpool create -f zhadum mirror c1t4d0 c1t5d0

Dieser Vorgang dauert eine Sekunde. Da bei ZFS das Volume Management und das Filesystem nicht getrennt ist, entfällt hier das sinnlose kopieren von Nullen.

# zpool status
pool: zhadumstate: ONLINEscrub: none requested

config:NAME        STATE     READ WRITE CKSUM

zhadum      ONLINE       0     0     0

mirror    ONLINE       0     0     0

c1t4d0  ONLINE       0     0     0

c1t5d0  ONLINE       0     0     0

errors: No known data errors

# df -h

Filesystem             size   used  avail capacity  Mounted on

/dev/dsk/c0t0d0s0      7.3G   4.1G   3.1G    57%    /

/devices                 0K     0K     0K     0%    /devices

ctfs                     0K     0K     0K     0%    /system/contract

proc                     0K     0K     0K     0%    /proc

mnttab                   0K     0K     0K     0%    /etc/mnttab

swap                   2.4G  1016K   2.4G     1%    /etc/svc/volatile

objfs                    0K     0K     0K     0%    /system/object

fd                       0K     0K     0K     0%    /dev/fd

swap                   2.4G     0K   2.4G     0%    /tmp

swap                   2.4G    64K   2.4G     1%    /var/run

zhadum                  16G    27K    16G     1%    /zhadum

Der neue Pool wird unter /zhadum gemountet. Jetzt können wir die ersten Filesysteme in unserem neuen Pool erstellen:

# zfs create zhadum/foo
# zfs create zhadum/bar
# zfs create zhadum/bar/bla

Die neu erstelleten Filesysteme werden per default unter /zhadum gemountet. Man kann Filesysteme in Filesysteme erstellen. Man muss sich das wie eine Verzeichnisstruktr vorstellen.

Mit “set mountpoint” kann man einen alternativen Mountpoint erstellen. Die untergeordneten Filesysteme werden dann ebenfalls unter dem neuen Mountpoint gemountet.

# zfs create zhadum/data# zfs set mountpoint=/data zhadum/data

# zfs create zhadum/data/mp3

# zfs create zhadum/data/movies

# zfs list

NAME                   USED  AVAIL  REFER  MOUNTPOINT

zhadum                 326K  16.5G  27.5K  /zhadum

zhadum/bar              50K  16.5G  25.5K  /zhadum/bar

zhadum/bar/bla        24.5K  16.5G  24.5K  /zhadum/bar/bla

zhadum/data           76.5K  16.5G  27.5K  /data

zhadum/data/movies    24.5K  16.5G  24.5K  /data/movies

zhadum/data/mp3       24.5K  16.5G  24.5K  /data/mp3

zhadum/foo            24.5K  16.5G  24.5K  /zhadum/foo

Ein ZFS mit NFS zu exportieren, ist genau so einfach wie das setzten eines Mountpoints. Zu beachten ist hier, dass hier ebenfalls die untergeordneten Filesysteme ebenfalls exportiert werden.

# zfs set sharenfs=on zhadum/data

# dfshares

RESOURCE                                  SERVER ACCESS    TRANSPORT

zhadum:/data                          zhadum  -         -

zhadum:/data/mp3                      zhadum  -         -

zhadum:/data/movies                   zhadum  -         -
Comments
  1. Posted by Lukas Beeler

Reply Cancel Reply

Your email address will not be published. Required fields are marked *