So now you have signed on the dotted line. What's next? One of the first things you will get from Polyserve is a Pre-Install Checklist. In this document, you will have to tell them about the server hardware you are planning to use, the operating system, version and service packs. You will also tell them about the make and model of your switches, the number of VLAN's, multicasting and DNS.
Probably one of the most important aspects is your storage infrastructure. Here they want to know if you will be using iSCSI or FibreChannel and how many VLANS's and other related information. For us we are using FibreChannel with the Emulex HBA's and an IBM DS8100 SAN.
Another very important part is the MPIO or Multi-path IO software and what fencing methodology you will be using.
Ok, I know some of you are like me and saying to yourself, what are all of these terms--fencing, MPIO, FibreChannel,...? While I have been a DBA for many years, I have heard of some but never had to use some of them as most of my systems have always used large SCSI RAID arrays or I have taken over DB Servers that were already configured to the SAN and I could rely on the SAN administrator for all the things that I needed.
Fencing is the capability of shutting down access to various shared resources on a SAN in a controlled fashion. The servers themselves can remain up even while they are excluded from accessing shared resources. This may be accomplished, depending on configuration, by turning off the FibreChannel port(s) to which the offending server is attached, or by manipulating zoning or other policies within the SAN. This white paper by Polyserve explains how they implement it (http://www.erexi.com.tw/whitepapers/data_integrity_in_cfs_whitepaper.pdf) if you are interested. With Polyserve you have the option to go with fabric based fencing or server based fencing (which is dependent on your hardware). Basically it has the ability to stop communication with a server in order to protect data integrity.
MPIO stands for Multi-Path I/O. Multipathing solutions use redundant physical path components–adapters, cables, and switches–to create logical "paths" between the server and the storage device. In the event that one or more of these components fails, causing the path to fail, multipathing logic uses an alternate path for I/O so that applications can still access their data. Basically you are creating multiple routes for the data to get to its end location.
HBA is the acronym for Host Bus Adapter which is the interface card through which the computer communicates with the SAN.
VLAN is a Virtual Local Area Network. A virtual LAN, commonly known as a VLAN, is a method of creating independent logical networks within a physical network. Several VLANs can co-exist within such a network. This helps in reducing the broadcast domain and aids in network administration by separating logical segments of a LAN (like company departments) that should not exchange data using a LAN (they still can exchange data by routing). (Thanks to Wikipedia http://en.wikipedia.org/wiki/Virtual_LAN). Polyserve wants 2 VLANs for communication. One will be for public traffic that will carry your SQL communications between the db server and the client and one for private traffic from the Polyserve system to others in your matrix.
So for me, I got a crash course in SAN architecture and I was glad my network admin and our SAN vendor/admin (Brian Kuebler of The ATS Group) were onsite during the install. This is something that I would recommend as during the install as most of the first day will be spent in getting the SAN and network to communicate correctly with the Polyserve software. Once things are working correctly and you know the IP addresses of your switches and VLANs, the software is surprising easy to configure.
Another thing that you will be asked is about the LUNs for the system. Polyserve has a requirement for 3 small 100 MB LUNs that it uses for storing cluster membership information. Otherwise you can setup your data LUNs in many different manners. We set our 1.5 TB up into 20 GB increments and will add more as necessary. Why 20 GB increments? Well, it was a round number but it was small enough to handle most thing but not too big either. Actually, it really came down to the number of spindles that we were getting. The more spindles, theoretically the faster your reads/writes should go.
Next we talked about our file structure and how and where we wanted to store the install files, data files, transaction logs, temp Db's and such. All of these are going on our SAN and will be shared across all servers/instances. We used junction points in Windows 2003 to map a directory to a volume. It makes it look just like a regular windows folder but it is really on your SAN.
Then we talked about our network details such as machine names, IP addresses, domains, and then setup a local account and the requisite domain accounts for SQL services. We also installed
.Net 2.0 on each machine in the matrix as that is a requirement. Now
we finally got to install the Polyserve software and all the fixes and
then installed SQL and all the Service Packs and then rebooted the servers and started some configuration so the system knew about the fiber channels, community strings. We also configured the 3 membership partitions and were able to start the service.
The next part just blew my mind. We were able to push this configuration out to all of our other servers with just a few clicks.
Then we were able to start building our dynamic volumes. We had several volumes: sql_install_bin (for the sql install files and it had a block size of 4K), sql_instances (for the active virtual instances--think live Master, model, and msdb and all the data files were set with block sizes of 8K), mxsqlshells (for the failover instances that are not used), sql_data_1 for the actual MDF and LDF files, sql_log_1 for the transaction logs and finally, sql_tempdb for the temp files for each instance.
At this point, we called it a day and were given some home work called RTFM (read the fun manual)