So let’s say you’re trying to figure out the best way to
setup your storage pools on a ZFSSA. So many choices. You can have a Mirrored
pool, a RAIDz1, RAIDz2, or RAIDz3 pool, a simple striped pool, or (if you’re
REALLY anal) you can even have a Triple Mirrored pool.
How can you choose which pool to make? What if you want more
than one pool on your system? How much usable space will you have when it’s all
All of these questions can be answered with Ryan Mathew’s
Size Calculator. Ryan made a great calculator a while back that allows one to
use the ZFSSA engine to give you back all sorts of pool results. You simply enter
how many disk trays you have, what size drives they are, how many pools you
want to make, and the calculator does the rest. It even shows you a nice
graphical layout of your trays. Now, it’s not as easy as a webpage, but it’s not too bad, I promise.
It’s a python script, but don’t let that scare you. I never used Python before I
got my hands on this calculator, and it was worth loading it up for this. First,
you need to go download and install Python 2.6 here: http://www.python.org/getit/releases/2.6/ Make sure you have 2.6 installed, as the calculator will not
work with the newer 3.0 Python. In fact, I had both loaded, and had to
completely uninstall 3.0 before it would work with my installed 2.6.
Now, get your hands on the Size Calc script. Ryan is making a new one that is for the general public. It will be out soon. In the meantime, ask your local Oracle Storage SC to do a calculation for you.
This is a copy from Ryan’s, but I fixed a few things to make
it work on my Windows 7 laptop. If you’re not using Windows 7, you may find Ryan’s
original blog and files here: http://blogs.oracle.com/rdm/entry/capacity_sizing_on_7x20
So now you’re ready. Go to a command line and get to the
Python26 directory, where you have also placed the “size3.py” script.
Type “size3.py ZFSipaddress password 20”
Use your ZFSSA for the IP address and your root password for the password. You can use the simulator for this. Remember, the simulator is the real code and has no idea it's not a 'real' system.
Mine looks like this: “Size3.py 192.168.56.102 changeme 20” Now, you will see the calculator present a single tray with
20 drives, and all the types of pools you can make with that.
So now, make it bigger. Along with the first tray that has
20 drives (because of the Logzillas, right?), we also want to add a 2nd
and a 3rd tray, each full with 24 drives. So type “Size3.py
192.168.56.102 changeme 20 24 24” You could do this all day long. Notice that now you have
some extra choices, as the NSPF (no single point of failure) pools are now
allowed, since you have more than two trays.
That’s it for the basics. Pretty simple. Now, we can get
more complicated. Say you don’t want one big pool, but want to have an
active/active cluster with two pools. Type “Size3.py 192.168.56.102 changeme
10/10 12/12 12/12”
This will create two even pools. They don’t have to be even.
Check this out. I want to make two pools, one with the first 2 disk trays with
8 logzillas plus half of full trays 3 and 4. So the second pool would only be
the other half of trays 3 and 4. I used “Size3.py 192.168.56.102 changeme 20/0
20/0 12/12 12/12”
Here’s the last one for today- Say you already have a 2-disk
shelf system, with 2 pools, and you set it up like this: “Size3.py
192.168.56.102 changeme 10/10 12/12” Simple. Now, you go out and buy another tray
of 24 drives, and you want to add 12 drives to each pool. You can use the “add”
command to add a tray onto an existing system. It’s very possible that adding a
tray will give you different results than if you configured 3 trays to begin
with, so be careful. This is a good example. Note that you get different
results if you do “10/10 12/12 12/12” then if you do “10/10 12/12 add 12/12”.
Our next lesson will be about VDEVs. When you add the “-v”
command right after “size3.py”, you may notice a new column in the output
called “VDEVS”. These are the most important aspect of your pool. It’s very
important to understand what these are, how many you need and how many you
It’s so important, I’m going to save it for another blog
topic. Have a great day!!!! J