Tag Info

Hot answers tagged

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.


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 ...


11

Don't go down the road of breaking the ZFS array to "rotate" disks offsite. As you've seen, the rebuild time is high and the resilvering process will read/verify the used size of the dataset. If you have the ability, snapshots and sending data to a remote system is a clean, non-intrusive approach. I suppose you could go through the process of having a ...


6

The three commands and ZFS setups you've listed are vastly different configurations. zpool create tank mirror disk1 disk2 disk3 disk4 This creates a 4-way mirror with the capacity of ONE disk. Lots of protection, less space and less performance. I don't think you want that. zpool create tank mirror disk1 disk2 mirror disk3 disk4 This creates a stripe ...


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

No, I don't think this is possible in the manner you're describing. You can, however, create a new pool with the single disk and copy your ZFS filesystems to the new pool using a simple zfs send/receive process.


4

Yes. You can run zpool import with no arguments, and it will identify the available pools for you. Asssuming the devices from the old testpool are still there, you will see the "old" testpool, and alongside it a GUID for the pool. Once you have that pools GUID, you can do zpool import $id oldtestpool. After the pool is imported, you can change the ...


4

Actually, you can rename a zpool. Just not live. It is done exactly as you suggested. You can only export & re-import it using the new name. 'man zpool import' explains it: zpool import [-o mntopts] [ -o property=value] ... [-d dir | -c cachefile] [-D] [-f] [-R root] pool | id [newpool] Imports a specific pool. A pool can be identified by its ...


4

To get a disk serial requires that it is running and available: camcontrol identify <device> |grep ^serial (this might be (S)ATA specific) smartcl -i <device> |grep ^Serial reading the disk label once removed from the enclosure In your case, I think the 3rd solution is the only available. So, Assuming you just want first identify the disk: ...


4

Type zpool clear raid2 to clear the errors and initiate a scrub. If the errors persist following that, replace the disk. More details about the hardware would help, so this is generic advice. My recommendation for bunch of consumer disks connected to a PC motherboard are different than what I'd do for enterprise-level gear.


3

When I run format, and select disk 0, I'm told c4t0d0s3 is part of the root pool: This would be because you've screwed up the slice - it is overlapping with c4t0d0s0. You would need a slice starting at cylinder 3913 to remove the overlap. Then you should be able to add it as a vdev to another pool (if this is what you are after). If you just want to ...


3

The tool tells you what you need to do: "Determine if the device needs to be replaced". The tools are only so intelligent and need you, as the human administrator, to figure some things. The steps required are specific to your hardware and your set up, so you will need to make some decisions based on your knowledge of the system. Take a look at the output ...


3

I'm fairly sure that this should be as simple as taking a snapshot of the zfs to be moved, and then using zfs send and zfs recv to move that snapshot between zpools: zfs send oldpool/my-data@snap1 | zfs recv newpool/my-data (taken from http://docs.oracle.com/cd/E19963-01/html/821-1448/gbchx.html#gbinw)


3

The slice visibility occurs during the resilvering operation. When it's complete, the normal device names are usually restored. As for your zpool replace operation, you only needed to use the device name. Not the full path. (by the way, that's a crazy-large raidz2 pool!!)


3

Yes, you can use sparse files as VDEVs when creating a ZFS pool. Although there was a bug affecting an early Linux ZFS port that prevented it to work, it was fixed four years ago. You shouldn't expect performance or reliability with file based vdevs though. Quoting the zpool manual page: The use of files as a backing store is strongly discouraged. It is ...


2

If you don't care about the snapshots, I'd probably just run mv in a screen session. Do you have any logical groupings of data that you can move piecemeal? I'm not sure what other options you have if you can't offload the data to another set of storage.


2

You can unmount a ZFS drive, but there is no such thing as a ZFS "partition", it's just not how it works. ZFS is both a file system (like EXT or UFS) and a volume manager (like a RAID HBA, or Linux LVM); you can not separate those functions. If you want to create another ZFS file system in the same tank, just use zfs create tank/new_fs. If you want to mimic ...


2

To clarify the discrepancy in output between the commands: The zpool command counts the disks that are being used for redundancy as space, while the zfs command does not; thus, the 50.5 TB number is your raw disk size, while the 42T is after taking out the 4 disks for redundancy.


2

Attach the second disk as a mirror of the first, wait for resilver, remove the first disk, set the properties to autoexpand. Don't forget to setup boot code or anything like that. Example: zpool attach rpool olddisk newdisk ...wait, check using zpool status rpool zpool detach rpool olddisk zpool set autoexpand=on rpool


2

Sure - zfs set compression=off pool/filesystem (or just zfs set compression=off pool for the pool's root filesystem). Note that this does not go back and decompress data that's already been written - you'll need to re-write the data to do that (zfs send and zfs recv can help with this).


2

The ZFS feature set copies=2 was not designed to overcome disk failures (see the comments on the following Q&A): ServerFault: How do you restore the correct number of copies after losing a drive The issue here being that as your pool is made of single disks, ALL disks must be healthy for import. This can only be done in your case by recovering ...


2

Please try zpool list. This will show if the pool is even available to the system. Try to import. Maybe a zpool import -f nestpool Perhaps try to remove the unavailable log devices via: zpool remove nestpool mirror-1 From now on, use whole devices for L2ARC and ZIL... Edit: Your easiest fix is to temporarily create the symbolic links you need in ...


2

The, 'zpool add' command is for adding new devices (vdevs) to pools. When you originally ran that command, you added a new vdev (consisting of only ad16) to the pool. You started with a 4 disk raidz, with one failed disk, but now you have a pool where data is striped between the raidz and ad16. Losing that ONLINE ad16 disk will FAULT the entire pool. As ...


2

(I know you already solved your issue, but I found this when looking for an answer to my own which I solved another way) I had an issue similar to this (in that GRAID was messing with my system) when I upgraded FreeBSD with an existing ZFS pool. The pool then became degraded and I received the same sort of DMESG messages you received about an array being ...


2

Your new filesystem is in /zpgd0/iSCSI. To access it, you can cd /zpgd0/iSCSI. If it is not currently mounted, you can use zfs mount zpgd0/iSCSI. Due to the naming of the filesystem, I'm betting that you probably want to create a ZFS zvol to present as block storage for iSCSI. If that's the case, what you're doing is taking you down the wrong path.


2

Remove "disk" from your command line. It's the cause of the error you're receiving. zpool create MyPool sda


2

Try using this guide: AAron Toponce - ZFS on Linux. Assuming you are trying to create a zfs pool called MyPool, using /dev/sda as a disk, try: # zpool create MyPool sda


2

After further experimentation I've found a fair solution, however it comes with a significant trade-off. Disks which have been offline'd but not detached can later be brought back online with only an incremental resilvering operation ("When a device is brought online, any data that has been written to the pool is resynchronized with the newly available ...


1

ZFS mirrors are usually much better than RAIDZ(1/2/3) for a variety of reasons (performance, expansion, sanity). This confusion about displayed size is one of them. Please see: Why is my RAIDZ2 pool larger than the expected size calculation?


1

This not a perfect answer but here is what I did. I turned back the RAID function of the controller in the BIOS. Then I restarted the computer, and went into the BIOS of the RAID card. It showed the disk that was part of a mirror, but was not functional. (I don't know how this happened because that disk was never part of a mirror.) There I have deleted the ...



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