Home Lab Chronicles: Migrating My Homelab to a Dell R730xd: Rebuilding Proxmox, RAID, and Docker on Moved Drives
Migrating to a Dell PowerEdge R730xd and Moving My Drives
Upgrading to a Dell PowerEdge R730xd was a big step up for my homelab. Instead of starting from scratch, I decided to move my existing drives into the R730xd, rebuild the RAID layout cleanly, and reinstall Proxmox VE as my hypervisor. The goal was simple: keep my mixed RAID setup, improve performance, and get my Ubuntu VM and containers back online with minimal chaos.
Here’s how I swapped the hardware, rebuilt storage, and wired everything back together.
Hardware Overview
- Main server: Dell PowerEdge R730xd
- Drives moved into the R730xd:
- 2 × 2TB HDDs → RAID 1 (OS and critical data)
- 3 × 26TB HDDs → RAID 5 (bulk storage and VMs)
This layout gives me:
- A mirrored RAID 1 virtual disk for the Proxmox OS and important system data.
- A large RAID 5 virtual disk for VM disks, ISOs, and general storage, with fault tolerance.
Step 1: Moving the Drives and Configuring RAID
Physically Moving the Drives
- Shut down the old server cleanly.
- Labeled each drive so I knew which set they belonged to:
2TB-1,2TB-2for the RAID 1 pair26TB-1,26TB-2,26TB-3for the RAID 5 set
- Installed the drives into the R730xd drive bays, keeping the pairs grouped logically.
Entering the RAID Controller
The R730xd uses a PERC controller (H330/H730/H730P depending on configuration).
- During POST, pressed
Ctrl + Rto enter the PERC RAID configuration utility.
Creating the Virtual Disks
Inside the RAID utility, I created two separate virtual disks:
RAID 1 (2 × 2TB):
- Purpose: Proxmox OS, logs, small backups
- Benefits: Redundancy for the system volume
RAID 5 (3 × 26TB):
- Purpose: VM storage, ISOs, large files
- Benefits: Fault tolerance and efficient use of large-capacity disks
After confirming the configuration, I saved and exited the RAID controller.
Step 2: Installing Proxmox VE on the R730xd
With the arrays configured, I installed Proxmox onto the new host.
- Downloaded the latest Proxmox VE ISO from the official site.
- Used Rufus to flash the ISO to a USB stick.
- Booted the R730xd from the USB drive.
- Installed Proxmox VE to the RAID 1 virtual disk.
- Set:
- Management IP
- Hostname
- Root password
Once the install finished and the node rebooted, I connected to:
https://<server-ip>:8006
and logged into the Proxmox web UI.
Step 3: Setting Up Storage in Proxmox
RAID 1 as Local Storage
Proxmox automatically uses the RAID 1 virtual disk as the main system disk. By default, local (and local-lvm if configured) live on this array and handle:
- ISOs
- Backups
- Templates
- Small VM disks if desired
Adding the RAID 5 Array as a Storage Pool
Identified the RAID 5 virtual disk in Proxmox (e.g.,
/dev/sdb).Partitioned and formatted it as
ext4(example):parted /dev/sdb --script mklabel gpt mkpart primary 0% 100% mkfs.ext4 /dev/sdb1Created a mountpoint:
mkdir -p /mnt/pve/storageAdded an entry to
/etc/fstab:/dev/sdb1 /mnt/pve/storage ext4 defaults 0 2Mounted it:
mount -aIn the Proxmox web UI:
Go to Datacenter → Storage → Add → Directory
Set:
- ID:
RAID5-Storage(or any descriptive name) - Directory:
/mnt/pve/storage - Content: Disk image, ISO image, Container template, Backup, etc. (as needed)
- ID:
Now the large RAID 5 pool is available as a Proxmox storage backend.
Step 4: Creating the Ubuntu VM
With storage configured, I spun up my main Ubuntu VM on the R730xd.
Downloaded the Ubuntu Server ISO and uploaded it to the
localISO storage.Created a new VM in Proxmox:
- CPU: 8 vCPUs
- RAM: 30GB
- Disk: 100GB on the RAID 1 storage (for OS speed and redundancy)
- Attached the Ubuntu ISO as the CD-ROM.
Booted the VM and installed Ubuntu Server with OpenSSH.
Post-install:
- Set a static IP.
- Installed updates and essential tools.
- Created a base snapshot in Proxmox for quick rollback.
Then inside the VM:
# Install Docker Engine (example)
curl -fsSL https://get.docker.com | sh
# (Optional) Install Portainer agent
docker run -d \
--name portainer_agent \
-p 9001:9001 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/docker/volumes:/var/lib/docker/volumes \
portainer/agent
Step 5: VirtioFS Passthrough from RAID 5 to the VM
To expose the big RAID 5 storage into the Ubuntu VM cleanly, I used VirtioFS.
Creating a Directory Mapping
In the Proxmox UI:
Go to Datacenter → Directory Mappings.
Click Create (or Add):
- ID:
storage - Path:
/mnt/pve/storage - Node: the R730xd node
- ID:
Adding VirtioFS to the VM
- Go to Datacenter → [R730xd node] → [Ubuntu VM] → Hardware.
- Click Add → VirtioFS.
- Select the
storageDirectory ID (the one created above).
The Ubuntu VM now gets access to the RAID 5 storage via VirtioFS with good performance and simple permissions handling.
Step 6: Configuring Docker Containers to Use the Passthrough Storage
Inside the Ubuntu VM, I pointed my Docker stacks to the VirtioFS-mounted directory.
Example docker-compose.yml snippet:
services:
my-service:
image: linuxserver/some-app
volumes:
- /mnt/storage/appdata:/config
- /mnt/storage/media:/media
ports:
- "8080:8080"
restart: unless-stopped
Where:
/mnt/storagein the VM is backed by VirtioFS.- VirtioFS maps to
/mnt/pve/storageon the R730xd host (the RAID 5 array).
Then:
docker compose up -d
and the containers are live on the migrated storage.
Final Thoughts
Moving everything over to the Dell PowerEdge R730xd instead of rebuilding from zero gave me:
- A clean Proxmox install on a redundant RAID 1 system volume
- A huge, fault-tolerant RAID 5 pool for VMs and data
- Flexible storage passthrough into my Ubuntu VM via VirtioFS
- A simple Docker/Portainer setup on top of it all
If you’re upgrading to an R730xd, reusing your existing drives with a mixed RAID layout is a solid move. Proxmox makes it straightforward to hook everything back up, and once you have your storage and one good base VM, spinning up new services becomes the easy part.