Skip to content

πŸ—„οΈ My own Google service at home

Abstract

I recently found a Google-branded server, and decided to repurpose it.

google_server

What is it?

Doing some cleanup in a datacenter, one of the servers that was supposed to be thrown away stood out to me. A bright yellow server with Google branding on this. My curiosity got the better of me and I took it home to find out what it was.

After some Googling on this mysterious Google branded server, I quickly found out that it is a Google Search Appliance (GSA). This server was a rack-mounted device that provided search capabilities for enterprises. It was first released in 2002 and officially discontinued in 2018. GSAs were essentially Google's web search engine packaged in a local server to index and search internal content.


The hardware

During its lifespan, multiple GSA variants were made. This model appears to be a Dell PowerEdge 2950 which was released back in 2006.

Spec Details
CPU Dual Intel Xeon 5430
RAM 32 GB DDR2 ECC
Drive Bays 6 x 3.5" or 8 x 2.5" SAS/SATA
RAID PERC5i or PERC6i RAID controllers
Network 2 x Gigabit NICs onboard
Expansion PCIe slots for additional cards
Management DRAC 5 for remote management

google_server
google_server
google_server
google_server

I would have loved to test it out and see if the OS was still on the server, but it appears the RAM was salvaged at some point. I did not have any DDR2 ECC memory laying around to fill the slots.


What to do with it?

Even though I advocate reusing hardware as much as possible, this system is simply too old. A quick power on also showed that it would have been too loud to use in my homelab (note: in my reseach I found a number of guides on how to 'silence' these systems). Next to noise, the power consumption would have been too high. Based on estimations with the current configuration, it would have drawn around 250-300W at idle. Almost double of what I am currently consuming for my entire homelab!

So, what am I planning to do with it? The plan is to repurpose the chassis and replace the internals with more modern hardware. This won't be an easy feat, as Dell designs their servers in a proprietary way. You can't simply place any motherboard in it... It will take some time, but I believe the end result will be worth it.

google_server

Why a new backplane?

The current backplane (the part that connects all 6 of the hard drives) is a fairly standard SAS backplane. But after doing some reseach, it appears that the 24-pin connector on the top right is not a standard 24-pin power supply connecter. It would require measuring out each pin individually and creating a custom connector.

google_server

Although possible, I chose to go with option 2 by replacing it and making my own. The plan was to go full SATA by using SATA to SATA adapters on a 3d printed backplane.

google_server


The design

A sketch was made on paper with determine the dimenssions of the backplane.
google_server

Afterwards, I created a 3d model in Tinkercad. A concern that I had was airflow. The original fans were designed to move alot of air, but were consequently loud. I determined that I had enough space to place 2 fans directly on the backplane itself. Together with another 4 fans that will be added to the chassis in a later stage, I hope to keep temperatures down.
google_server


3d print time!

It took me 3 attempts to end up with the final print. Getting the measurements exactly rights can be a challenge. google_server

The final result was printed in PETG to be more heat resistant than PLA. google_server

Angle grinder time

In the next phase of the Google server project, I'm cutting about the metal parts that I don't need. Which are:
- The PSU housing
- The back of the server

The PSU housing is taking up too much space. And the back of the server is also the IO shield of the motherboard.

google_server

Unlike server cases from some other brands, most components of these Dell Poweredge servers are riveted together. The only solution here for me is to take them apart.

google_server

With some patience and precise cuts, both pieces came out without too much effort.

google_server


Cleaning

To get rid of all metals pieces (and the old dust), I rinsed the chassis and let it dry in the sun. google_server

All ready for the next step: designing the motherboard tray!
google_server


The back panel

In my last post, I showed that I had cut away the back panel due to it being proprietary. This meant that I had to design my own from scratch. For this design needed to incorporate the following: - A motherboard tray (and IO cutout) - Hold 2 powerbricks - Have some fans for cooling.

Using Tinkercad and some precise measurements, a back panel model was created.

google_server

And ofcourse with designing something new, some prototyping was needed to get to a result that I was satisfied with.

google_server

Using my Bambu P1S, I printed the final part in PLA yellow (PETG would have been the better choice, but I didn't have yellow laying around)

google_server


Server parts

My idea of this build, is to create a server that can replace (some of) the Google services that I use.

Google Service Self-hosted alternative
Google Drive Nextcloud
Google Docs OnlyOffice
Google Photos Immich
Youtube Jellyfin
Google Play Books Audiobookshelf

google_server

When it comes to picking out components for my homelab, I have layed a couple of rules upon myself. One of them is that it has to be power efficiΓ«nt. A general rule of thumb is 'small things use less energy'. Therefor I chose a Mini-STX motherboard form factor.

The components: | Motherboard | ASRock H310M-STX | | CPU | i7-8700 | | RAM | 16Gb DDR4 SODIMM | | Storage | 6x 10TB HDD |

google_server

As the motherboard does not use a standard PSU, I had to be creative. Using an external PSU board that costs around €20, I was able to provide the necessary power for the drives.

google_server
google_server


The Operating System

I chose Unraid because it plays nicely with the way I tinkerβ€”mixing odd-sized drives, swapping parts in and out, and experimenting with new setups. It keeps my data safe with parity, runs my containers and VMs without fuss, and lets me manage everything from a simple web dashboard instead of a mess of terminal commands.

google_server


The connector

I chose to challenge myself and attempt to re-use the existing proprietary powerbutton and LED light. This started with measuring out the connector of the original front panel motherboard and attempting to figure out what is what. After some fiddeling around I had found the pins for the power button, but could not find the pins for the LED light.

The pins that I managed to identify:

Led+ GND PWR GND
A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
B 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
GND GND GND GND GND GND GND

As this board had its own processing chip, I assumed this to be a blocking factor. Rather than spending more time on it, I decided to just simply solder 2 wires directly to the anode and cathode of the LED light.

google_server

Please do not pay any attention to my aweful soldering job... But hey, it works!

google_server


The conclusion

For me this was a fun little project where I could learn some new skills (and sharpen some old ones)

google_server google_server google_server google_server