... | ... | @@ -126,11 +126,11 @@ ln -s /z/groups /groups |
|
|
|
|
|
If you have multiple physical disks available for Emulab storage and they are not combined using hardware RAID, then you can use ZFS to create RAID1, RAID10, RAID5, RAID50, RAID6 or RAID60 style configurations. Using ZFS permits other nice features as well, including easy creation and resizing of filesystems and the ability to create per-filesystem snapshots for backup purposes.
|
|
|
|
|
|
In the simplest form, ZFS can be a drop in replacement for UFS by creating single filesystems for the various Emulab file hierarchies; e.g., using a ZFS filesystem for `/users` instead of a UFS filesystem. It should be noted however that Emulab software does not currently have the ability to manage UFS-style per-user quotas within single ZFS filesystems, so it cannot currently be used in this way for `/users`, `/proj`, or `/groups` when quotas are desired. It does however work fine if you are not using quotas or for the `/usr/testbed` and `/share` hierarchies.
|
|
|
In the simplest form, ZFS can be a drop in replacement for UFS by creating single filesystems for the various Emulab file hierarchies; e.g., using a ZFS filesystem for `/users` instead of a UFS filesystem. It should be noted however that Emulab software does not currently have the ability to manage UFS-style per-user quotas within single ZFS filesystems, so it cannot currently be used in this way for `/users`, `/proj`, or `/groups` when quotas are desired. It does however work fine if you are not using quotas and for the `/usr/testbed` and `/share` hierarchies.
|
|
|
|
|
|
However, the primary use of ZFS in Emulab is to implement individual per-user and per-project filesystems. This enables disk quotas trivially by limiting the amount of storage each filesystem has, and works regardless of what user is writing to the filesystem. This avoids one of the biggest problems with UFS quotas--the impracticality of enforcing a quota on the "root" user, thereby allowing for example, a user running as root to fill up the entire `/users` filesystem.
|
|
|
|
|
|
**Note:** ZFS can still be used in a configuration with only a single extra disk, built on top of a HW RAID volume for example. In this way you still gain all the advantages of the ZFS filesystem except for it providing redundancy. It should be noted however that "stacking" volume managers in this way can mask errors and lead to bad performance.
|
|
|
**Note:** ZFS can still be used in a configuration with only a single extra disk, built on top of a HW RAID volume for example. In this way you still gain all the advantages of the ZFS filesystem except for it providing redundancy. It should be noted however that "stacking" volume managers in this way (e.g., ZFS on top of a virtual disk implemented in LVM on top of a HW RAID) can mask errors and lead to bad performance.
|
|
|
|
|
|
To use ZFS for your install, you first create a zpool. For example, if you have two extra disks, /dev/ada1 and /dev/ada2, you can create a mirrored zpool with:
|
|
|
```
|
... | ... | |