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

  1. Shut down the old server cleanly.
  2. Labeled each drive so I knew which set they belonged to:
    • 2TB-1, 2TB-2 for the RAID 1 pair
    • 26TB-1, 26TB-2, 26TB-3 for the RAID 5 set
  3. 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 + R to 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.

  1. Downloaded the latest Proxmox VE ISO from the official site.
  2. Used Rufus to flash the ISO to a USB stick.
  3. Booted the R730xd from the USB drive.
  4. Installed Proxmox VE to the RAID 1 virtual disk.
  5. 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

  1. Identified the RAID 5 virtual disk in Proxmox (e.g., /dev/sdb).

  2. Partitioned and formatted it as ext4 (example):

    parted /dev/sdb --script mklabel gpt mkpart primary 0% 100%
    mkfs.ext4 /dev/sdb1
    
  3. Created a mountpoint:

    mkdir -p /mnt/pve/storage
    
  4. Added an entry to /etc/fstab:

    /dev/sdb1  /mnt/pve/storage  ext4  defaults  0  2
    
  5. Mounted it:

    mount -a
    
  6. In 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)

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.

  1. Downloaded the Ubuntu Server ISO and uploaded it to the local ISO storage.

  2. 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.
  3. Booted the VM and installed Ubuntu Server with OpenSSH.

  4. 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:

  1. Go to Datacenter → Directory Mappings.

  2. Click Create (or Add):

    • ID: storage
    • Path: /mnt/pve/storage
    • Node: the R730xd node

Adding VirtioFS to the VM

  1. Go to Datacenter → [R730xd node] → [Ubuntu VM] → Hardware.
  2. Click Add → VirtioFS.
  3. Select the storage Directory 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/storage in the VM is backed by VirtioFS.
  • VirtioFS maps to /mnt/pve/storage on 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.