Tag Info

Hot answers tagged

20

See this thread from one of the FreeBSD lists: http://lists.freebsd.org/pipermail/freebsd-fs/2009-June/006327.html To quote Dan Naumov, To reiterate, you cant just add a single disk drive to a raidz1 or raidz2 pool. This is a known limitation (you can check with SUN ZFS docs). If you have an existing raidz and you MUST increase that particular ...


12

FreeNAS is a NAS solution, as such, some technical choices are hidden behind whatever firmware, system or GUI such appliance can use. If you get the partition schema used on a given disk inside a ZFS pool made with FreeNAS (small VM example): $ glabel status Name Status Components ...


12

I think you should reconsider your use of FreeNAS. You've had an uncharacteristically. large. number. of issues. with. your. FreeNAS. installation(s). over. the years. Many of these issues were planning and ZFS design problems. It may be time to refactor or rebuild your environment now that you have some knowledge of best or better-practices.


11

1. But do you need to allocate some spare disk or zfs pool to do it manually? or this is intrinsic by zfs? The affected data need to be redundant for this to happen. This redundancy can be achieved without extra disks. Multiple disks doesn't imply redundancy either. ZFS supports spare devices but they are here to replace other devices that are in failed ...


8

You can't expand an existing raidz vdev, you have to blow it away and create it again with the new drive(s). See the other answer for better details. Side note: Someone actually worked out that it's technically possibly to add drives to a raidz, but the functionality hasn't been implemented. The same is true of removing a disk.


7

Freenas/Zfs reserves a small fragment of drive space. So besides having only ~1.82TB of actual space. ZFS reserves 1/64th of drive space for its own means, thus 'stealing' another ~28gb from you on every drive. Also freenas makes a 2gb swap file on every drive, Then losing the 1 drive to Raidz, 8.6TB seems pretty close. Source: ...


7

As ewwhite said, pool shrinking isn't currently possible with ZFS. If you need to do it, you'll have to backup to another storage medium (another pool, tape, SAN, etc) create a new pool and restore. As for expanding there are a number of options of how to grow your ZFS 5x3TB raidz pool: Add a mirror VDEV (pairs of disks) pool spans the two VDEVs (12TB ...


7

If you're not running snapshots then restoring from backup is your only option. I would advise you to look into snapshotting, as it's extremely useful on fileservers. Users are dumb, and they overwrite/delete files way more often than you can run a backup. Edit: As mentioned by ErikA - providing snapshots on a file server also gives users a easy way of ...


6

Add this to /etc/periodic.conf: daily_status_zfs_enable="YES" Then you will have the status of your zfs pool added to the daily periodic emails that are sent. If you currently aren't receiving them you could add your email address in also via the variable: daily_output="your@email.com"


6

Yes, that is exactly what a hot spare is. The hot spare drive would occupy a drive bay and could be assigned to one or more data pools (global spare), and would automatically start a rebuilding process in the event of a failed disk. This is in contrast to a cold spare drive, that would sit outside of the server/enclosure in order to be swapped manually when ...


6

Testing with a file based pool (v28 on FreeBSD 8.3 using file-backed md devices) suggests that it should work. I was able to offline one of the remaining disks while the resilver was in progress. Ideally it'd need testing with real disks and to actually pull one to be 100% sure but ZFS was perfectly happy to let me offline the disk. Before offlining md0, ...


5

for RAIDZ(1) use the same formula as for RAID5. for RAIDZ2 - the same as for RAID6


5

Mirroring is the way to go here. It'll let you easily add additional mirrored pairs to extend your existing volume. No downtime, no tricks, just add more disks and you're on your way. Unless you really need the 6TB of 4x2TB in RAIDZ, the 4TB of 4x2TB mirrored is a better bet. Mirroring also has the benefit of lowered CPU overhead, better performance and ...


5

The term you're referring to is "short-stroking". You can do this by creating a pool of disk slices rather than the whole disks. Use some small percentage of the disk (10%-12%) capacity for the slices. This may not be worth it, though. Use faster disks and SSDs since ZFS can leverage them well.


4

Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or replace the device with 'zpool replace'. Looks like after the initial temporary failure, you may only have needed to do a zpool clear to clear the errors. If you want to pretend that it's a drive replacement, you probably need to clear the data off the drive ...


4

A 2TB disk is not 2 TiBi in size - it's only 2*10^12 / 2^30 ~ 1862 GiBi. 4 arrays of 6 effective disks each would be 24 * 1862 = 44703 GiBI, or 43.6 TiBi of real, usable storage. I reckon it has some additional overhead you're not taking into account - IIRC RAIDZ also does snapshots and scrubbing, which take up additional space.


4

zpool list shows the size of the pool, which is the size of all the disks. zfs list will show the usable file systems sizes in the pool.


4

While as already answered it is technically doable, beware that what you want to do is not a best practice as you end up with an unbalanced pool with sub optimal performance. All disks in a pool should be of the same size (outside log and cache devices) and all striped vdevs should have the same organization. You break both of these rules with mixing 2 TB ...


3

zpool status will list all of the drives and their layout, including mirror/RAID level. In your case, raidz1-0 means you are running raidz1 and the group number is 0.


3

You were running the right command. zpool status -v is the correct way to understand what a ZFS pool is comprised of. A better example, as the vdev groups are enumerated, beginning with 0. Note the multiple mirror groups and single raidz group below: [root@MDMarra ~]# zpool status -v pool: vol1 state: ONLINE scan: scrub repaired 0 in 0h32m with 0 ...


3

The glib answer, because RAIDZ(2) sucks on 4k drives. Issue #548: Highly inefficient use of space observed when using raidz2 with ashift=12 Issue #1807: zvol on RAIDZ2 takes up double the expected space #1807 It has to do with the parity calculations gobbing up a boatload of additional space, especially with smaller files. Try doing the same test ...


3

zpool list shows the RAW size of your disks (e.g. without RAID). That is why it appears larger than what you have available in zfs list. The setup you've listed shows a RAIDZ1 zpool. That will have the usable space of n-1 disks. Here's a good primer to understanding ZFS.


3

About RAID-Z on Ubuntu: You will likely get relatively poor performance with ZFS on any Linux, as there are currently only userspace implementations available for Linux. There where reports about a working kernel mode port last year from India, but this project apparently vanished. I would consider ZFS on Linux highly experimental and don't trust any of my ...


3

* How easy is it to expand/contract the number of drives? You can't add or remove drives from a RAIDZ unless if you do a full backup/restore. * I am currently adding two drives RAIDZ requires at least three disks (or partitions), two disks implies either mirroring or a non redundant configuration. * Does it hurt performance to expand/contract multiple ...


3

You will not be protected using a raidz vdev + single disk vdevs in the same pool. You should be adding two disks at the time (and mirror them) to your zpool, that will cover one disk failure. The reason is that copies does not guarantee that the blocks will end up on different disks. One alternative to expanding your raidz vdev is to use zfs send to store ...


3

The file system data would very likely be redundant, especially with copies=3 so your data would be protected against bit rot. However, it won't be reliably protected against a full disk failure as there would be no way to replace the faulty disk by a new one. Even while just after the failure your should be able to access all your data, your system won't ...


3

I'm not really all that familiar, but this blog here seems like a good writeup. http://blogs.oracle.com/bonwick/entry/raid_z Now... the blogger makes the point, you make a tradeoff and its probably speed vs. capacity. Now, he compares RAIDZ to RAID5, but you're comparing it 1+0 which gives you N/2 for capacity. I would assume that RAID-Z gets better ...


2

You could try something that queries and parses the output of zpool status via cron/email. Or a commercial solution at: http://www.santools.com/smartmonux.html


2

chkdsk is one script you could run via cron that when properly configured will email you when zpool errors are detected.


2

I found the answer that I was looking for: zpool offline tank drivename <Remove drive> zpool replace tank drivename zpool export tank zpool import tank This way, I will not have to delete and recreate the zpool and all of the file systems. I'm going to have to think about this.



Only top voted, non community-wiki answers of a minimum length are eligible