ZFS Quick Start

ZFS is a filesystem, designed by Sun, and implemented in Solaris 10.
Unlike traditional filesystems, which reside on single disk devices and
thus require a volume manager to use more than one device, ZFS
filesystems are built on top of virtual storage pools called zpools, which elimiate the need to create individuall volumes.
When creating a filesystem, you do not need to specify a size, as filesystems will grow automatically withing the zpool . When new storage is added, all file systems within the pool can immediately
use the additional space without additional work. Most importantly ZFS is simple and pretty easy to administer. See my simple notes below which outline how to get started.

1. First create your pool. I called mine database_pool

-bash-3.00# zpool create database_pool c1t14d0s6 c1t13d0s6 c1t12d0s6

2. Now admire your new pool. Yours may differ in size 🙂

-bash-3.00# zpool list

NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT

database_pool          50.2G   60.5K   50.2G     0%  ONLINE     –

3. Create your volumes. In this example I create two similar to what we will be doing in Philly.
-bash-3.00# zfs create database_pool/apdru
-bash-3.00# zfs create database_pool/apdi2

4. Take a look at your new mounts
-bash-3.00# df -k

Filesystem            kbytes    used   avail capacity  Mounted on

database_pool        51867648      25 51867511     1%    /database_pool

database_pool/db1  51867648      24 51867511     1%    /database_pool/db1

database_pool/db2 51867648      24 51867511     1%    /database_pool/db2

5. Make the directory structure for your new volumes if the above path is not where you want them mounted.
-bash-3.00# mkdir -p /db1/v1

-bash-3.00# mkdir -p /db2/v1

6. Mount your new volumes where you want them to go using zfs set. Note there is no leading / on the pool name

-bash-3.00# zfs set mountpoint=
/db1/v1 database_pool/db1
-bash-3.00# zfs set mountpoint=
/db2/v1/apdru database_pool/db2

7. Admire your work. You do not have to create a filesystem, its
already there and each mount point/volume will grow as needed up to the
total capacity of the pool. So no need to worry about sizing each
volume for each database.

bash-3.00# df -k

Filesystem            kbytes    used   avail capacity  Mounted on

database_pool        51867648      25 51867498     1%    /database_pool

database_pool/apdi2  51867648      24 51867498     1%    /db1/v1

database_pool/apdru  51867648      24 51867498     1%    /db2/v1

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.