NAStySAN
Links
If you are looking for something like NAStySAN today, perhaps have a look here:
NBD, the Network 
  Block Device (TCP version), is already is in the Linux Kernel distribution 
  since 1.1.x in /usr/src/linux/drivers/block/nbd.c 
  It is quite simple but functional, however it is not safe against networking 
  errors of any kind.
  To use it you need some user level programs. For your convenience I 
  have a local copy for the tools I found were working (it seems to be version 
  14).
  NBD has a Sourceforge Page, too.
 The Enhanced Network Block Device 
  Linux Kernel Module (I never tested it)
  This is an improvement over nbd. It is better suited against networking errors 
  and allows SSL to be used.
  The interesting part for me is that it is multithreaded.
There is Drbd is a block device 
  which is designed to build high availability clusters which allows you to 
  mirror a block device over the network.
These projects seem sufficient to me, so why another project?
 NBD is very small and easy if you look at the Linux kernel driver, I regard 
  this as very beautiful. However look at the differences of ext2 and ReiserFS, 
  only look at the journalling code and you will see: Sometimes small and beautiful 
  is not enough, you need more features. The enhanced version added such features, 
  however I think this is not the way I want to go.
I want to be able to use an NBD type blockdevice like any blockdevice at boot 
  time without any helper applications in initrd etc. NAStySAN shall acomplish 
  this the easy way if you think of an Ethernet card like a SCSI adapter. And 
  nobody talks about using SSL to your hard drive (at least today). Additionally 
  it might be feasible to port NAStySAN to another platform than Linux as well.
You need networking to be set up before you can use IP like in NBD. This is 
  troublesome if you want to boot directly into single user mode.
I want some real type of autoconfiguration which is easy to remember. Something 
  like mount /dev/nastysan2 /mnt should be enough for NAStySAN to grab 
  /dev/eth2 and mount the default volume from the hardwired server. 
  Don't confuse this with NFS, as NFS is a filesystem and not a  block 
  device. This way it shall be sufficient to give root=/dev/nastysan2 
  on your LILO commandline to boot from your NAStySAN.
I dislike any complicated options to remember, so everything more "advanced" 
  than last example must rely completely on DevFS. If you want to mount a particuliar 
  device on a particuliar server this must be as easy as mount /dev/nastysan/eth2/volume2 
  /mnt2 to mount volume2 over eth2. Perhaps this even can be 
  integrated into the kernel at boot time but I already think this is too much 
  ;) 
To mount a device redundantly over two ethernet cards with load sharing 'n 
  stuff, this shall look like mount /dev/nastysan/eth2+eth3/volume2 /mnt2. 
  Yes, I really like such easy thingies, such that you even can use md 
  style software RAID over NAStySAN as you like.
There must be options to NAStySAN, like timeouts and the like, however I want 
  the client side (where the NAStySAN kernel driver is used) to get the defaults 
  from the server such that you can alter the parameters from the server side. 
  The idea behind this is that you can do a reboot one of the NAStySAN servers 
  while the clients are not stopped and accesses do not break. Therefor can change 
  the options of timeout and retry accordingly and then shutdown the server, fix 
  it and restart it again, without interfering with the client. This way the client 
  can be free of any configuration besides the knowledge which ethernet card to 
  use for NAStySAN.
FAQ:
 
  - Who owns NAStySAN?
 
  -  Valentin Hilbig
    Karlstr. 30
    84034 Landshut
 
 
  - When was it registered?
 
  - The Domains nastysan.com nastysan.net 
    nastysan.org nastysan.de 
    were registered 2001-06-01 after a check that neither "NastySAN" 
    nor "Nasty SAN" were used anywhere in Internet prior art.
    The name is not public domain but hereby I grant the irrevocable rigth that 
    it may be used freely for any free software product according to the GPL.
    Except for nastysan.com I am be willing to hand over these domains to other 
    people, where nastysan.net should be reserved for all languages in TLDs where 
    some cybersquatters tried to make some money. Don't even think about it, nobody 
    will ever pay any cent for your domain, just hand it over to the Open Source 
    community and we are friends again.
    nastysan.com shall be the top level "binding" portal which I want 
    to hand over to any company best suited to contribute to NAStySAN and Free 
    Software. However this can be revoked at any time.
    In the meanwhile everything will be handled by my own server platform. 
 
  - May I use the name NAStySAN or "NAStySAN compatible" or something like it 
    in my propriatary commercial product?
 
  - This depends, best you contact me. Note that I cannot prohibit if you use 
    it without permission, but this would be really bad manners. 
    
      -  If your product is Open Source (not neccessary GPL) then the answer 
        is probably yes.
        But be aware that I really really really dislike any companies 
        utilizing only the nice wording Open Source without contributing to the 
        Open Source community for real.
        Read what rms 
        says about this. 
      -  If you really contribute to Open Source Community for example by funding 
        NAStySAN developement the answer is pobably yes, as long as you continue 
        to contribute.
 
      -  If you only want to attach your prorietary product to a NAStySAN server 
        but don't want to help the community, then probably no.
 
      -  If you are Microsoft, as long as you don't apologize for Ballmer's 
        "Cancer" quote publicly, then definitively no.
 
    
   
 
  - What is NAStySAN?
 
  - It does not exist yet.
 
 
  - Why NAStySAN?
 
  - Because we need a cool name for such a thing.
    If you want to know why I want to invent NAStySAN then I can only tell you 
    that it is the first step for another long term project (don't try to follow 
    that link, it is not yet there) which is called de-serf 
    and perhaps sometimes will come into the real planning phase. 
 
  - So when it does not exist and has only has a cool name, what NAStySAN stands 
    for?
 
  - NAS is Network Attached Storage and SAN is Storage Area Network, 
    ty stands for "type" and is only a linker betrween because 
    I thought it is a cool name.
 
 
  - OK, I know what NAS and SAN are, do you plan some Network Attached SAN or 
    what?
 
  - No, I thought the opposit, a NAS type SAN would be nice. Therefor the name. 
    This would be a SAN on a Network layer, but it is not directly network attached.
 
 
  - Now, what kind of problem do you have?
 
  -  I have several problems: 
    
      -  RAID5 only allows ONE hard drive to fail. A combination of RAID1 and 
        RAID5 allowes TWO Harddrives to fail, but DOUBLES the number of Harddrives 
        you need. 
      
 - If you buy one Harddrive, you cannot easily add it to a RAID to extend 
        the Volume. This is because the Parity of RAID5 is distributed about all 
        Volumes.
 
      - It yould be feasible to add a Harddrive to a RAID4, but then you have 
        a hot spot on the Parity Drive.
 
      - All RAID Harddrives need to be the same size but it's best to always 
        buy Harddrives with the best money/storage ratio.
 
      - SAN is expensive but would be the right idea.
 
      - NAS is nice, but it's more easy to to think in terms of huge Fileservers. 
        But if you change the configuration of a Fileserver this usually brings 
        a downtime.
 
      - Usually I don't have room to put the Harddrives in the casing. I even 
        don't have any room in the same Rack to add external storage containers.
 
      - Backup. The size of harddrives of the same price doubles each year. 
        The backup systems only have a linear degression. In 2 years or so harddrives 
        will be cheaper than backup medias!
        Even that DLTs are relatively cheap today compared to the backup size, 
        for the price of one DLT drive I can buy me arround TWICE the storage 
        I have today which is arround 200 GB.
        So something is definitively wrong if you expect that BACKUPs will be 
        MORE EXPENSIVE than NEW STORAGE. 
    
   
 
  - No, I wanted to know what kind of personal problem you have!
 
  -  Sigh, no comment, it would be far too long. Perhaps have a look into my 
    homepage and find out yourself.
 
 
  - What do you want?
 
  -  I need a NAS type SAN, I need NAStySAN. Following should all be easy 
    
      - to access the SAN over Ethernet from anywhere
 
      - to add new harddrives
 
      - to take harddrives offline permanently
 
      - to replace harddrives
 
      - to put harddrives anywhere in the network you want
 
      -  to make internal snapshots instead of backups
 
      - to archive old snapshots away
 
      - to have an online backup like a transaction log
 
      - to mount a volume directly from GNU/Linux
 
      - to run a computer while something is unavailable in the network
 
    
   
 
  -  What do you want NOT?
 
  -  Of course you have some drawbacks with such a thing, so I don't want 
    
      - highest speed
 
      - boot directly from NAStySAN
 
      - particuliar hardware needs
 
      - to depend on proprietary hardware or software
 
      - access this from Windows directly
 
      - closed source
 
      - to re-invent the wheel
 
      - to be let alone
 
    
   
 
  -  Doesn't look like a piece of cake. How do you think it can be done?
 
  -  Here is the layout: 
    
      - Incorporate a block driver into Linux which accesses NAStySAN over an 
        Ethernet card.
 
      - Write the NAStySAN Daemon to attach to an Ethernet card to map the NAStySAN 
        block device to any registered Harddrives.
 
      - Extend the NAStySAN Daemon such, that remote Harddrives from other NAStySAN 
        Daemons can be registered, too.
 
      - Extend the NAStySAN Daemon such, that it can run in a failover environment, 
        such that one Daemon takes over if one fails.
 
      - Base this all on GPL. I thought over making it with the lesser licence, 
        but as Ballmer calls Linux a Cancer I don't want that Win2000 is infected 
        ever. 
 
    
    Here are some basic things I want: 
    
      - NAStySAN will only run on a dedicated Ethernet directly on the MAC layer. 
        It doesn't need the IP layer, but you will need a dedicated NAStySAN ethernet 
        card. 
 
      - NAStySAN thinks of security in terms of physical separation of the NAStySAN 
        connection from all other network traffic. So there will be no security 
        in the protocol. 
 
      - NAStySAN thinks in terms of a direct physical connection of the block 
        driver to the Deamon. However both sides should be able to deal with more 
        than one virtual connection over one ethernet card.
 
      - AFAICS you will be able to use the NetLink driver to communicate from 
        Linux directly to NAStySAN. However this is not recommended as this might 
        trigger some Henn-Egg-Problems, for example if you place the Swapfile 
        on a NAStySAN volume. Perhaps some kernel threads can be written for some 
        encapsulation. 
 
    
    Some more notes on the first NAStySAN version: 
    
      - It will only run on 2.2.x kernels with x>=18 (or perhaps 2.4.x with 
        x>=2) 
 
      -  It will only allow a 1:1 connection.
 
      - It will not have any idea of redundancy. This you have to do with MD, 
        either on the Linux side or you directly register a MD as a NAStySAN volume.
 
      - It will not contain any Logical Volumen Management of any kind. So you 
        have to use the LVM of Linux or to register a LVM as a NAStySAN volume.
 
      - It will not have any transaction log or snapshot options
 
      - It is very likely that it is not compatible to the second version. However 
        there will be an option to register Harddrives the old way.
 
      - It will be dead slow as there is no kernel thread
 
      - However it will be safe against networking or transaction errors. So 
        you can change the wiring while it is in action without any fear or shutdown 
        the server while in the middle of operation.
 
    
   
 
  -  When?
 
  - Who knows?
    Currently I wait to build my test platform. 
 
  -  Where?
 
  - Sourceforge.
 
 
  - Can I help?
 
  -  Of course! See Souceforge. 
    But be aware that the project is in the "pre-planning-phase" and 
    might stay there till 2010. OOPS.
    If you want to support me, I have a wishlist 
Sunday, 2001-06-17  0:40 tino