Your cart is currently empty!
Category: Linux
Enterprise-Grade Ubuntu 22.04 Installation on Software RAID 0 with UEFI Boot
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.