Update: If you are looking for instructions for FOS 7 go here.
From time to time I have to handle some storage zoning. I use mostly brocade fiber channel switches. They are pretty easy to zone via scripts. Which leaves you with your whole zone documented and rebuildable at a moments notice. Before I get into the scripts I should mention that I do end to end zoning via WWID not port based zoning. In other words I connect my Server HBA to my storage system. Port based zoning means we zone the port that the HBA is on to the port that contains the storage system. Port based requires that everything is plugged into the same port always and can be hard to rebuild quickly without the correct documentation. Comments in brocade scripts are proceeded by an exclamation mark !
!!NOTE: This is fabric A !! Make all the aliases for systems alicreate "Storage_HBA1_A", "50:01:43:81:02:45:DE:45" alicreate "Storgae_HBA2_A", "50:01:43:81:02:45:DE:47" alicreate "Server_HBA1_A", "50:01:23:45:FE:34:52:12" alicreate "Server2_HBA1_A", "50:01:23:45:FE:35:52:15" alicreate "Server2_HBA1_A", "50:01:23:45:FE:35:52:17" !! Make the zones zonecreate "Z_server_to_Storage_HBA1_A", "Server_HBA1_A; Storage_HBA1_A" zonecreate "Z_server_to_Storage_HBA2_A", "Server_HBA1_A; Storage_HBA2_A" zonecreate "Z_server2_to_Storage_HBA1_A", "Server2_HBA1_A; Storage_HBA1_A" zonecreate "Z_server2_to_Storage_HBA2_A", "Server2_HBA1_A; Storage_HBA2_A" !!NOTE: effective config and zone members on SWITCHA_config Fabric cfgcreate "SWITCHA_config", "Z_server_to_Storage_HBA1_A; Z_server_to_Storage_HBA2_A; Z_server2_to_Storage_HBA1_A; Z_server2_to_Storage_HBA2_A" cfgsave cfgenable "SWIT
Load it into your switch and your ready to go!