Services built by a real sysadmin.

Every product in this shop was tested in production, optimized under pressure, and designed to make your infrastructure safer, faster, and cleaner.

Browse services

Enterprise-Grade Ubuntu 22.04 Installation on Software RAID 0 with UEFI Boot

raid0

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, esp flags)
  • /dev/sdX2: 1MB BIOS boot partition (bios_grub flag)
  • /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.

Need Expert Help?

If you’re still having issues with your server or network setup, let’s fix it together. Schedule a one-on-one consultation now.

Schedule a Consultation

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *