We’ve been using our MD3000i SAN Array by directly plugging an ethernet cord from our server to the array. Not the best SAN implementation in the world, but I tend to work with what I have not, what I wish to have.

Recently though we bought a couple of DELL PowerConnect 5424 to complement our MD3000i. I scour the web trying to find some helpful info to start configuring these two. The best I could find is on this Dell Tech Center site. For basic configuration it works just fine. However, this is not the best practice suggested by DELL. After hours of reading the switch’s manual, best practice manual, MD3000i manual, and trying some stuff my own, I finally managed to figure out how to configure them successfully.
Below I’ll describe how to fully configure step by step. Hopefully this will help someone. This configuration should also work in the 5448 model of PowerConnect. This switch configuration will be used for iSCSI and failover clustering traffic only.
We’ll start with configuring 1 switch first. Once you get this up and running, the other one should be really simple.
Hardware & software needed(other than the switch of course):
  • Serial cable
  • A computer capable of running Terminal software. It can be any OS. A laptop is preferred (I’ll call this the configurator)
  • A network cable cat5e or better preferably
  • Terminal software. I use TeraTerm. You can use any terminal software that supports VT100 serial connection like Hyper Terminal.

I. CABLING

With your switch powered off make the following connection:

  • Connect your computer(configurator) to your switch using the serial cable
  • Connect your configurator to your switch using an ethernet cable. Plug the ethernet cable to the last port of your switch. This is to help you configure the switch with the GUI, without having to know all the command line. I chose to use the last port of the switch because this is the port I won’t configure.

Your configuration should look like this.

II. CONNECTING WITH SERIAL CABLE

Run your terminal software in VT100 mode, and configure it with the following setting so that you can connect to your switch:

  • Port: Whatever your COM port is for your serial connection
  • Baud Rate: 9600
  • Data: 8Bit
  • Parity: None
  • Stop: 1 bit
  • Flow Control None

III. INITIAL SETUP

After the above is done, turn on your switch, and establish the serial connection with the above setting. Hit enter one or more times. You should see the POST message from the switch on your terminal screen. If this is not the case, check your connection and settings above. You cannot go any further without having this step completed.

After it’s done booting, it will prompt you for a easy setup. it will timeout after 60 seconds(if I’m not mistaken). If it does time out and you miss it, turn off the switch and turn it back on again(you can also type reload to reboot the switch). Follow the instruction of the easy setup. Keep the following in mind:

  • If you are not configuring SNMP, type “no” when prompted
  • It will ask you for IP address and subnet. For simplicity sake, I’m using class C IP address: 197.167.1.1 and subnet 255.255.255.0
  • Don’t worry about the default gateway. You can type in 0.0.0.0 as the IP for the default gateway.
  • at the end of the easy setup it will prompt you whether you want to copy the running configuration to startup configuration. Type Yes only if you have entered everything correctly. If you need to make correction, type no, and the easy setup will re-run. If you get the IP address and the subnet right, don’t worry about others. You can make changes from the web interface later. After you make configuration changes, if you want it to stay after the switch reboot, you need to copy your running configuration to your startup configuration(shown later).

IV. GETTING READY TO UPDATE FIRMWARE

After the quick setup is finished, you need to upgrade the firmware of your switch. Make sure you download the latest firmware required from DELL’s website and save the file on the configurator before you proceed any further. As of this writing, the latest firmware version is: 2.0.0.41, A06. If you have a laptop with both ethernet and wireless card as your configurator, life will be easier because you can use the ethernet connection to talk with the switch, and the wireless to connect to the internet to download the firmware.

The easiest way for me was to upgrade the firmware using the GUI provided by the embedded web server of the switch. To accomplish this, you need to connect to the switch using ethernet connection. Make sure your ethernet cable is plugged in to both the configurator and the switch. Change the IP settings of the configurator(the ethernet connection that plugs into the switch) to the following:

  • IP address: 197.167.1.100 (this can be any IP from 197.167.1.2 to 197.167.1.254)
  • subnet: 255.255.255.0
  • Default gateway: this has to be the IP address you provided during the easy setup. In this case, it is 197.167.1.1
V. UPDATE THE FIRMWARE

Fire up your browser, and type in the switch’s IP, http://197.167.1.1. You should be prompted to login. If the browser is not displaying anything, double check the configuration above, and do not proceed any further(oh well, you can’ t anyway. Unless you know all the command line). Login using the credential you provided

After you login, do the following:

  1. using the navigational tree on the left, click through the following: File Management > File Download > Firmware Download > Download via HTTP.
  2. Click Browse, and select a file with ROS extension from extracted firmware you just downloaded from DELL.
  3. Select “software image” as the “server type”, select “image 2″ for “Active Image After Reset” field
  4. Click on apply changes
  5. After the download is done(this is actually the transfer of the firmware from the configurator to the switch. The term is confusing), reboot the browser by clicking through the following: System > General > Reset >Reset. Click okay twice. The word “Reset” is somewhat misleading. It should be renamed to reboot, or reload. This reset will not wipe out the changes you made. It will simply reload the browser.
  6. To reboot your switch from the terminal console, make sure the command prompt ends with # instead of >. if it ends with >(i.e console>), type “enable” followed by enter, and then “reload”.
  7. hit Y when prompted. this will reset the switch

Now you need to check whether the firmware is loaded up fine. Bring up your terminal window, and wait until the switch is done rebooting. Hit enter key. If it’s done booting, the console will display “your_switch_name>” prompt. Type “enable” and enter. The switch console should turns to # after you enable it. Type in “show bootvar “. This should show the latest firmware version(should be the same version as the one on Dell’s website). As of today, the latest firmware is 2.0.0.41.

VI. UPDATE THE BOOT CODE
Repeat steps V. described above with the following changes:
  • For action item #2, select a file with RFB extension from the extracted firmware you downloaded from DELL’s website.
  • Change the “server type” in action item #3 above to “boot code”.

VII. CONFIGURING THE SWITCH

Now, the most important part, configuring for iSCSI. Before I go any further, this is how I plan to configure my switch. Picture tells a thousand words. Again, I’ll focus on 1 switch only for now, for simplicity sake.


Let’s also review some terms:
HOST: Physical server that will be accessing the iSCSI(SAN) storage.
TARGET: A SAN Storage.(i.e MD3000i)

Let’s configure it.

Bring up your terminal consoler, and make sure it is in “#” prompt, instead of “>”. Type “enable” to go to the “#” prompt. Type in “config” to enter the configuration mode. Below is the command line to configure the switch. Lines that starts with # are meant for comment so that you’d understand what the command is for. Do not type lines that starts with # into the console.
#start configuration
## the following is recommended by DELL for iSCSI environment
spanning-tree mode rstp
interface range ethernet all
spanning-tree portfast
exit
interface range ethernet all
flowcontrol on
exit
port jumbo-frame
interface range ethernet g(1-20)
switchport mode general
exit
##create 2 new vlans 2 and 3
vlan database
vlan 2-3
exit
##name the two vlans created above
interface vlan 2
name iSCSI
exit
interface vlan 3
name “Live Migration(Failover)”
exit
interface range ethernet g(1-10)
##specify that this port is a general port
switchport mode general
##port 1-10 has has vlan id 2
switchport general pvid 2
##allowed only tagged vlan
switchport general allowed vlan add 2 tagged
switchport general acceptable-frame-type tagged-only
exit
## configure the faiolver vlan.
interface range ethernet g(11-16)
switchport mode general
switchport general pvid 3
switchport general allowed vlan add 3 tagged
switchport general acceptable-frame-type tagged-only
exit
## not really required. this is the default
voice vlan oui-table add 0001e3 Siemens_AG_phone________
voice vlan oui-table add 00036b Cisco_phone_____________
voice vlan oui-table add 00096e Avaya___________________
voice vlan oui-table add 000fe2 H3C_Aolynk______________
voice vlan oui-table add 0060b9 Philips_and_NEC_AG_phone
voice vlan oui-table add 00d01e Pingtel_phone___________
voice vlan oui-table add 00e075 Polycom/Veritel_phone___
voice vlan oui-table add 00e0bb 3Com_phone______________
iscsi target port 860 address 0.0.0.0
iscsi target port 3260 address 0.0.0.0
##4 assign ip addresses to VLANS
##use the vlan 1 IP to connect to its web interface
interface vlan 1
ip address 197.167.1.1 255.255.255.0
exit
interface vlan 2
ip address 197.167.2.1 255.255.255.0
exit
interface vlan 3
ip address 197.167.3.1 255.255.255.0
exit
## switch setting(labelling)
## don’t need default gateway. unless it’s plugged in to your corporate network
ip default-gateway 0.0.0.0
hostname SWITCH1
#to have the password encrypted, change the password from the web UI, download running config to your desktop, and copy paste the encrypted value here
username localadmin password your_password_here level 15
snmp-server location “wherever”
snmp-server contact “whoever”
snmp-server community Dell_Network_Manager rw view DefaultSuper
# you can change time zone from the web interface. just make sure to copy it to your startup config.
clock timezone -5
clock summer-time recurring usa zone utc
exit
copy running-config startup-config
Reload

#end configuration

After the switch reboot itself, your configuration should stay intact.

If you’d like to see the command line when you do the following:
  • Change something from the web interface, like time zone
  • You’d like to see what the value of your encrypted password is(so you don’t have to enter your password in clear text in configuration file, which I’m sure you’d like to store somewhere)

Then do this:

  • From your web interface click through the following: System > File Management > File Upload.
  • Click on “Upload via HTTP” option
  • Change the “transfer File Name” option accordingly. Running configuration is your current configuration after whatever changes you did. Startup configuration is what the switch will use the next time the switch is rebooted. Every changes you made on the web interface or terminal console will be saved to Running Configuration. You will need to manually copy to startup configuration. Otherwise, the changes won’t apply when the switch is rebooted.
  • Click apply changes. This will download either the Running/Startup configuration from the switch to the configurator.
  • You can open the text file with notepad, and see how it’s done.
The following is a diagram for 2 switches implementation. You can follow the step above, to configure the second switch. Just make sure that you enter the correct IP and VLAN in your configuration script.

That’s pretty much it. Next time I have a chance, I’ll write about how to configure your MD3000i and your host in windows 2008 and 2008 r2.If you see I’m missing anything, please post a comment.

I’ve been scouring the web(and pulling out my hair) for two days, and finally solve my problem, and finally get it to work. I thought I’ll share it with people out there who is still pulling their hair.

Ok. so I have some classic ASP pages that i want to migrate from IIS5 running windows 2000 to the coolest dandiest server OS from Microsoft. Here is the catch…. I’ve got some ASP pages that are still pulling out data from access database written in access 2000, and 2003. All of which are 32 bit version.

First thing first.

  1. MAKE SURE you configure your IIS right. You need to install a specific set of rules to enable classic ASP support. Read it Here.
  2. I don’t know about you, but I want my classic ASP to have its own Application Pool, separated from all my .NET stuff. So I created an application pool for all of my classic ASP page(of course you can create more than one if you want). This is what you need when you create an application pool(if you don’t know how to create application pool using IIS7, google it up).

    Name:
    Whatever you want.(I call mine Classic ASP)
    .NET Framework version: No Managed Code
    Managed pipeline mode: Classic.

    After you are done. Go to advanced setting of your Application Pool, and make sure the identity is set to ApplicationPoolIdentity. This is the default behavior for 2008 R2, but from my experience this past several days, I saw screen shot that is set to something else.

    If you’ve been researching, you’ll find out that a lot of people out there ask you to set the Enable 32-Bit Applications to True for you to enable the Jet Engine or the ODBC to interact with Access Database. In my experience, this is NOT necessary. I’m not saying that they are wrong.

  3. If your ASP pages is on a virtual directory(subdirectory within your root, NOT on your root directory), go ahead and convert that virtual directory to application(right click convert), AND select the application pool you just created in step 2 above.
  4. This is the most important thing. CREATE A HANDLER MAPPING for your *.asp page. I’ve read a lot of people complaining about getting 404 or 500 error because they did not set this up right. Double click on the virtual directory you just converted to application on step 3 above, and click handler Mappings. You need to add a SCRIPT MAP.

    This is where it gets tricky, and I do not find this mentioned anywhere but this blog, which I found really helpful. You need to decide first whether you want to run your ASP in 32 BIT or 64 BIT. A lot of posters out there tell you to enable 32 BIT setting in your application pool, but they did not tell you how to change the ASP handler to use the 32BIT version of the handler’s executable. I repeat, you do NOT need to set your application pool to enable 32bit.

    Add a script map using the following setting:

  5. Request Path: *.asp
    Executable: C:\Windows\system32\inetsrv\asp.dll
    Name: whatever you want. I named my Classic ASP

    The executable above is 64 BIT ASP handler for your asp script. If you want your ASP script to be handled in 32 bit environment, you need to use executable from this location: C:\Windows\SysWOW64\inetsrv\asp.dll.

    From my experience. if I use the 64bit version of the executable(as a lot of posters recommend), and set the application pool to enable 32BIT……. YOU WILL GET 404.17 error. Similar thing hapen(maybe different IIS error code) if you are using the 32 bit version, but do not enable the 32bit setting.


    In my opinion, if everything else works in 64 bit environment(which in my case it does), I don’t want to make anything run in 32bit unless i have to.The hardware and the OS is 64 bit. If the software can also run in 64 bit, why bother to change to 32? So, I use the 64bit executable.

  6. Test your configuration. Create a simple test.asp file in the virtual directory you just converted to Application in step 3 above, with just <%Response.Write(“test”)%> in it. See if it runs okay. It should. If it doesn’t, and it’s giving you error that complains about parent path, double click on the virtual directory you just converted to application in step 3 above, and double click on the ASP icon in features view. Set the enable parent path to true. While you are at it, under the debugging properties, set send error to browsers to TRUE, so you don’t have to hang yourself later trying to figure out what’s wrong with this world(or IIS). If you are using IE as your browser, make sure to turn off “Show friendly HTTP error messages” so that you can see the actual error(Internet Options, Advanced).

    At this point your ASP page should work fine. If not, make sure you do all the above steps right. If you are still getting an asp error, make sure you comment out “on error resume next” statement in your code. If the error message doesn’t help you, try to enable failed request tracing to understand what the error is about(google it up to find out how to set this up).

    Your ACCESS database is still crapping out at this point. You can hang yourself(like I almost did). OR…. if that’s not an option, do this….

  7. Install your Access database provider.Older access version uses JET.OLEDB 4.0 provider so that other application(such as ASP) can read and write data to it. This provider is 32BIT, and there is NO 64bit JET Engine. I repeat… NONE. I’ve seen suggestion that ask you to enable the 32bit support in your application pool, so you could get the JET engine to work. However I could never get this to work. HECK, the jet engine is not even registered on my server. I checked the registry entry, and there is no entry for for JET OLEDB provider. I don’t know how in some forum people get it to work, but I definitely can not get mine to work in IIS7.5 and 2008R2 environment.

    You do NOT need a Jet Engine. Even if you can get it to work……… DON’T use it. Microsoft never support Jet running under server 2008. Use Microsoft Access Database Engine 2010 Redistributable. This is a key to the magic kingdom(wherever that is). Download the 64 BIT version, and install it. Restart it after you install(most likely you don’t have to, but if you feel safer that way…. go ahead do it, and pull yourself together, don’t get up on that chair and hang yourself just yet).

  8. Change the connection string in your ASP page to
    “Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=path to mdb/accdb file”
    example:
    connstr = “Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=” & server.mappath(“../..”) & “\databases\list.mdb”

  9. Buy yourself a case of Bud Light. At this point your ASP pages should be talking to your Access database and displaying on a web browser. If it is still not working…….. well, get that chair ready. I’m not sure what else could be the problem.

If I’m missing any step, please post a correction. Hope this helps someone