<blockquote>Ideally you should add 3-5 disks at a time so you can add raidz(like raid5) groups so the failure of a disk won't cause lost of data.</blockquote>
Actually, I usually add them 8 at a time, it just average out to one every 1-2 months. <blockquote>with ZFS its easier if you keep all disks on one server, just buy the biggest disk box you can and fill with 8x sata controllers. Spreading the disks over multiple servers means you have to use iscsi to share the disks which is just an added headache. Plus you will have to pay for more network infrastructure, plus powering extra CPU's and resources that isn't needed if all disks are attached to one box.</blockquote> There are several reasons I keep them in several servers. One is to spread the investment, another is so that I don't have to rely completely on a single machine. I've also found cooling challenging, my two biggest servers currently have 15 disks each and I need 8 fans to keep them cool. I also tend to run out of free PCI slots for the controllers... Anyway, now I have them in several machines and it would be too expensive to re-think that. Power, network infrastructure, physical space and so on are not important issues for me. Power is cheap, I already have ten times the network infrastructure I need, I have a large room in the basement as server room. <blockquote>Yes this is possible, but not advisable, but ZFS allows you to mount your file systems where ever so you won't have to deal with /root/server1fs/dir but you can use ones like mydata/january or mydata/movies or what ever you need.</blockquote> My problem is that some of my categories are larger than the file system of an individual server. If I understand it correctly, each server has it's own file system, it does not add its storage space to a common pool? At the moment I solve this by moving stuff around to accommodate disk sizes and having my own file system which lives on top of the standard file system and gives a virtual view of things organized to my liking, but it's a very awkward way of doing it. <blockquote>yes its possible but not a feature of ZFS, you will need to share disks using iscsi, and then put the shared disks in a zfs pool.</blockquote> It looks like that might be the path I may have to take. I'll have to read up on iSCSI. <blockquote>its best to add similar disks in a raidz group, so if you added 5x 160GB disks in a raidz group you would get 4x160GB of data with one drive being used for parity data protecting you from any drive in that group dieing.</blockquote> While I could do that, it would significantly lower safety margins, as it's enough for two drives to fail in a group to loose it. It would be much nicer to have a huge group with several parity drives. It's also nice if I don't have to find a similar replacement drive when one fails, as they often can't be found at that point. <blockquote>not a problem. ZFS uses variable sized blocks anything from 512bytes to 128k bytes per block, it is even flexible in raidz configurations where a 512 byte file uses just 1k of space, 512 bytes for data, and 512 bytes for parity.</blockquote> Nice! <blockquote>Don't dispense with proper backups or you will be unhappy. One of my New Years resolutions is to campaign against unhappiness. So I would encourage you to explore ways to backup such large data stores in a timely and economical way.</blockquote> I know, but there really is no viable way of backup for that amount of data for a home user. A RAID array that can survive 5-10 disks failing would go a long way, as it would take a lightning strike (which, due to the location of my house, is very unlikely) or a fire to do that much damage, and it would still be within my economical limits. My data is also moving around a lot as it gets sorted and renamed, so even incremental backups may grow big. ---- I'll try to sum up the advice and the results as I understand them: It would be best to put all disks in one machine, but for practical reasons this will probably not happen. Next best bet is to mount the disks remotely using iSCSI. Regardless of where the disks are, it's best to group them in RAID groups according to size in order to not lose space. This will make the data more vulnerable as there will be fewer parity blocks for each piece of data. No need to worry about performance or interoperability. Correct? ---- As for unequal size RAID disk, I had an idea I started on for my file system mentioned earlier, but never got around to finish. I'll just mention it here, perhaps someone will find it useful. What I did was to not use all the available disks for each file. Say that I, as an example, had 20 disks, and I wanted a failsafe that could take four disks failing. I cut the file into fewer stripes than available disks, say 14, then generated the 4 parity stripes. This meant that there now was 18 stripes, which were placed on the 18 disks with the most remaining free space. Of course, each stripe gets a bit bigger, which means that the parity stripes increase a little compared to if all disks were used for each file, but not much. As the larger disks are filled up, some stripes will get placed on the smaller and all disks will fill up. This flexible striping scheme also allowed me to reduce the number of stripes used for small files. It just don't make any sense striping a tiny file across many disks, as the seek overhead and block size will become the dominant factors. I just striped the file in as many stripes as the block size warranted, then generated my parity files from that. Remember, I built this on top of an ordinary file system, using files for stripes and parity stripes, so it was not a true file system and performance was crap, but the basic principle is sound and should be applicable to a real file system. This message posted from opensolaris.org _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss