Resurrecting Dell Poweredge 2950 for NAS / ZFS / Windows Storage Spaces
We have a need for a large amount of online storage to use as a staging area for backups and we happen to have a 2950 with 16Gb of RAM about to be scrapped. This is an old server but has a 6×3.5 SAS backplate and with modern drives hitting 12Tb+ it could be stop gap. But as with all these projects it is the little things that makes the possible practically impossible.
Making it modern
So straight off the bat we need 10G ethernet and ideally a flash based boot disk. This box will run either Windows 2016 or Debian/Centos Linux. Ideally we will pack the backplate with 6x 10Tb drives and then run a modern storage system ZFS or Storage Spaces ontop. The ethernet is easy any Intel based single SFP 10G PCI device fits perfectly. The flash is much more complex. The BIOS does not support PCI-E boot making boot from a M2 SATA SSD a real challenge (something to return to).
Dell DRAC / RAC 5 Enterprise
Logging into the iDRAC is easier said than done. These older models had woeful browser support even in their prime. I could not make the “native” active x control work in windows 10 at all. That leaves the Java plugin but unfortunately this uses the depreciated MD5withRSA encryption which throws several errors. In addition, the remote media applet appears to have only been compiled in IA32 meaning that you need the 32 bit and 64 bit JRE installed to make this work.
Based on: https://paulschreiber.com/blog/2018/01/27/using-a-dell-drac5-with-a-modern-browser-and-os/ and https://paulschreiber.com/blog/2018/01/27/using-a-dell-drac5-with-a-modern-browser-and-os/
- Install the 32 bit JRE (if you already only have the 64 bit one installed)
- Go to control panel -> Java
- Security -> High
- Add https://ip-address to the exceptions site list
- Now edit both these files
- C:\Program Files (x86)\Java\jreVERSION\lib\security\java.security
- C:\Program Files\Java\jre1.8.0_241\lib\security\java.security
- Comment out these rows in both:
- # jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024
- #jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024, \
- # EC keySize < 224, DES40_CBC, RC4_40
- #jdk.certpath.disabledAlgorithms=MD2, MD5, SHA1 jdkCA & usage TLSServer, \
- # RSA keySize < 1024, DSA keySize < 1024, EC keySize < 224
- I had to do all three of these lines to make it work whilst others have only one or two of the above
- Then using chrome on windows 10 I can connect and crucially mount remote media
Now this particular 2950 had its PERC 5 removed many years ago and replaced with a PERC 6i which supported basic passthrough. This was done for basic ZFS support 10 back in the day. However, this causes one big issue in that it doesn’t detect modern drive over 2TB. The PERC lives in the dedicated controller bay on top of the drives and Dell were notorious for limiting the support for the controller installed here. This excellent article outlines the challenges: https://www.reddit.com/r/sysadmin/comments/2pjuy3/perc_6i_controller_with_6tb_drives/ this article also discusses the limitations of the older controllers and suggests some of the new H310 controllers as an alternative https://www.reddit.com/r/homelab/comments/9yg72f/dell_perc_h310_mini_mono_zfs/. Now, like a lot of these PERCs most are rebranded LSI models. To get the H310 to support true passthrough it has to be flashed with LSI IT firmware. The equivalent LSI card is a SAS2308 which has two SFF-8087 connectors on it. The 2950 backplate as two SFF-8087 so one of these card is about £30 on ebay and the new 1m cables from Lindy are £20 each https://www.lindy.co.uk/cables-adapters-c1/i-o-c125/1m-internal-sas-sata-multilane-cable-p3757. This will fit nicely in the remaining PCI-E slot and provide modern passthrough for large SATA drives.