Setting up a high-performance Linux environment on enterprise hardware isn’t just about installing an OS – it’s about precision, flexibility, and reliability. In this post, I’ll walk you through a real-world case study where I deployed Ubuntu 22.04 LTS on a ProLiant DL360 Gen9 server using mdadm-based software RAID 0 and a fully optimized UEFI boot setup.
The Challenge
My client needed a performant server for hosting CyberPanel and other web services. The server was equipped with 8x 4TB drives and required a RAID 0 configuration for maximum throughput. It also needed UEFI boot support and a fully customized minimal Ubuntu system for performance and control.
However, I ran into multiple real-world obstacles:
- Default Ubuntu installer doesn’t support RAID 0 configuration natively.
- UEFI boot and GRUB issues on software RAID.
- Network not coming up post-installation.
- Emergency mode boot loops due to missing base packages
The Solution (Step-by-Step)
Note: Use rescue system or Live CD
Step 1: Disk Partitioning
Each of the 8 drives was partitioned identically using parted:
/dev/sdX1: 512MB FAT32 for EFI (boot,espflags)/dev/sdX2: 1MB BIOS boot partition (bios_grubflag)/dev/sdX3: remaining space for RAID
for disk in /dev/sd{a..h}; do
parted -s $disk mklabel gpt
parted -s $disk mkpart primary fat32 1MiB 513MiB
parted -s $disk set 1 esp on
parted -s $disk mkpart primary 513MiB 514MiB
parted -s $disk set 2 bios_grub on
parted -s $disk mkpart primary ext4 514MiB 100%
done
Step 2: RAID Creation
Create RAID 0 using all /dev/sdX3 partitions:
mdadm --create /dev/md0 --level=0 --raid-devices=8 /dev/sd{a..h}3
Step 3: Filesystem Setup
mkfs.ext4 /dev/md0
mount /dev/md0 /mnt
mkfs.vfat -F32 /dev/sda1
mkdir -p /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
Step 4: Base Ubuntu Installation (debootstrap)
apt update
apt install debootstrap -y
debootstrap jammy /mnt http://archive.ubuntu.com/ubuntu
Step 5: Mount and Chroot
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /run /mnt/run
chroot /mnt
Step 6: Essential Packages
apt update
apt install ubuntu-standard ubuntu-minimal systemd-sysv grub-efi grub-efi-amd64 shim mdadm net-tools ifupdown isc-dhcp-client -y
Step 7: Configure RAID and FSTAB
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u -k all
Example /etc/fstab:
blkid # Use to populate fstab with correct UUIDs
UUID=xxxxx-root / ext4 defaults 0 1
UUID=xxxxx-efi /boot/efi vfat defaults 0 1
Step 8: GRUB Installation
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
grub-install /dev/sd{b..h} # for BIOS fallback (optional)
update-grub
Step 9: Create UEFI Boot Entry
efibootmgr --create --disk /dev/sda --part 1 --label "Ubuntu" --loader '\EFI\ubuntu\grubx64.efi'
Step 10: Network Configuration
echo 'auto lo
iface lo inet loopback
auto eno49
iface eno49 inet static
address 178.222.247.237
netmask 255.255.255.128
gateway 178.222.247.1
dns-nameservers 1.1.1.1 8.8.8.8' > /etc/network/interfaces
The system now boots cleanly from /dev/md0, detects the RAID volume immediately via initramfs, and launches a fully minimal but extendable Ubuntu 22.04 environment ready for CyberPanel.
Boot time was optimized, all legacy EFI entries were removed, and the network stack is stable and persistent across reboots.

