Multi-Homed Multi-Boxed ZFS Luns Using iSCSI

Recently i had a thought… Most of my machines are sitting redundant and have upto 4 drives in each… without unscrewing every single one of out of my rack… i want to utilise all of that space into one giant zpool using ZFS.

Imagine combining the drive space resources of 10 computers into 1 giant drive? see where i’m going with this now?

So my idea is to make the drives in each machine available to the “ZFS Master” (the solaris box running the ZFS pool) via iSCSI which is a sort of “offer your drives at a block level over ethernet” protocol… then add them all into a giant zpool… the advantages of this are:

  • Utilising all of my hardware
  • iSCSI can work over WAN so i could use boxes i have in other cities
  • Have each Lun “individual computer + drives” power up via WOL (wake on lan) initiated by the ZFS Master
  • Greater level of redundancy possible.
  • Backup “ZFS Master” possible
  • Everything connected via either Gigabit Ethernet or Fibre Channel.

So imagine.. a rack full of computers with hard drives in them… at the bottom is a more powerful computer running solaris which mounts the hdd’s of every single other computer and adds them into the zpool… then advertises this zpool over AFP / SMB to computers in my house…

Yet another way to make a α size tb system out of old free components that could possibly outperform a £20,000 solution! =) I’ll post all of the results of my testing after the break in a few days 🙂

P.S. This idea is without considering performance as that is something i can work out later 🙂 & thanks bda for your advice

 

Utilising and Exploring ZFS to its Potential (A Quick Guide)

Have you seen the Drobo box? it’s a SAN that allows you to create giant volumes and hot swap out hard drives at will with failure tolerance… bad news, is that it costs close to £1000 even without the drives, i’ll explain how to make a better one… for free! =).

ZFS (Zettabyte Filing System) is Sun’s newest file-system offering, its supported on FreeBSD / Solaris natively and Mac OS X / Linux / Windows via third-party utilities. I’m gonna keep this guide, simple, short and sweet, so i’ll bullet list the main features that wow people about ZFS =)

  • It can store up to 340 quadrillion zettabytes of data (no other production filing system can do this)
  • It checksum’s your data on the fly so you can check for integrity by “scrubbing” it (identifying broken drives before they completely die)
  • It supports every raid configuration you can think of natively and doesn’t suffer from the raid5 data-hole.
  • You can create snapshots of your data that do not waste hdd capacity.
  • Volumes or “Pools” can be expanded at any time, so you can start with a 2tb raid, and increase it to a 10tb raid with no data loss.
  • You can mix/match capacities, brands, rpm’s of drives.
  • Its reliable* (on officially supported incarnations anyway)
  • Its a memory whore (don’t try it unless you have 2gb ram on your system)
  • Its supported in the latest version of FreeNAS (0.7)
  • Allows hotplugging of drives when one fails (so you don’t lose data/time)
  • Hotspares are supported
  • Can be easily transferred / transported to any other ZFS supported system without extensive configuration or any data loss.
  • Its free free free free (under CDDL).

Think of a hardware raid5 or a geom_concat/raid and then think about those again, but without any of the issues / flaws they have… thats what ZFS is! =)

So lets get started, I’ll run through creating and bringing a ZFS raid online first, and then some maintenance commands afterwards. I suggest trying this on a … 

 

How To Easily Setup A Basic IPV6 Tunnel (TSP)

Setting up IPV6 connectivity may at first seem daunting and complicated, and yes… it is, but i’m gonna make it really easy for you, i’m not going to assume you understand IPV6 and i’m not going to try and teach you, thats for you to research yourself, however in this guide im going to document the easiest way to setup IPV6 connectivity, whether you’re behind a NAT / router or directly connected to the Internet. In future tutorials I will go into more detail including router / subnet configuration, the 6in4 method and much more!

  • Setting up an IPV6 Tunnel behind a NAT / Router (using TSP)
  1. Sign-Up to a tunnel broker that supports TSP here is a list however i recommend go6.net
  2. Download the latest tsp/gateway6 client utility from here (windows) or here (linux / bsd)
  3. Install the Gateway6 client, or build it if your on linux / bsd (i won’t document this here as its pretty straight-forward)
  4. Now choose one of the following depending on what system you use:
  • Linux
    • Open gw6c.conf in an editor of your choice (nano/vim/ee)
    • You only have to edit a few options in the config for standard host configuration look for these lines and fill them in appropriately.
      • username=lameusername
        password=lamepassword

        server=whatever.they.gave.you.com (e.g. amsterdam.freenet6.net)

        #auth_method=anonymous
        auth_method=any

        host_type=host

        log_file=3

        template=linux

    • Once you have edited the lines above save the config file and exit your editor
    • Now run the gw6c binary with the -f switch to identify your config file, e.g.
      • ./gw6c -f gw6c.conf
    • Once this is done if you run ifconfig you should see a new interface has been setup and given an IPV6 address with a subnet of /128 (this is host)
    • If any errors occur check your gw6c.log in the same directory as the binary for any logging information, also here it should show your IPV6 address
      • ping6 michaelarmstrong.eu
    • If the site responds then you have successfully enabled IPV6 on your system!

    NOTE: There is much more configuration possible if required but it is beyond the scope of this how to.

  • Windows
    • Run and Install the gateway6 client package (Next, Next…)
    • Load the Gateway6 Client from your Start Menu
    • Fill in your username, password, server using the details provided by your broker, e.g. mike123, lamepass, amsterdam.freenet6.net
    • Click Connect!
    • Open Firefox and visit http://ipv6.michaelarmstrong.eu!

Setting up basic IPV6 connectivity is as simple as that with TSP, in future tutorials I will write how-to’s on how to setup a router configuration, the 6in4 method which has less overheads but doesn’t support NAT traversal, and OpenWRT Configuration! Enjoy!