Installing CentOS with RAID 1 on Two Internal SSDs - Complete Setup Guide

Introduction: Why RAID 1 for Your CentOS Installation?

RAID 1 (mirroring) provides real-time data redundancy by writing identical data to two drives simultaneously. For a CentOS installation on a private server or workstation, RAID 1 offers several compelling advantages:

  • Data Protection: If one SSD fails, your system continues running on the other drive
  • Zero Downtime Replacement: Failed drives can be replaced without system interruption
  • Read Performance: Slightly improved read speeds as data can be read from both drives
  • Peace of Mind: Critical for systems running important services or storing valuable data

This guide walks through installing CentOS Stream 9 on a RAID 1 configuration using two internal SSDs, covering everything from preparation to post-installation verification.

Prerequisites and Hardware Requirements

Required Hardware

Component Specification Notes
CPU x86_64 compatible Intel or AMD with 64-bit support
RAM 2 GB minimum 4 GB+ recommended for GUI installation
Storage 2 identical SSDs Same capacity strongly recommended
USB Drive 8 GB+ For CentOS installation media
Network Ethernet or WiFi For downloading packages during installation

SSD Recommendations

While RAID 1 works with mismatched drives, using identical SSDs prevents wasted space:

  • Consumer: 2x Samsung 870 EVO 500GB / 1TB
  • Datacenter: 2x Intel D3-S4510 480GB / 960GB
  • NVMe: 2x Samsung 980 PRO 500GB (if your system supports NVMe RAID)

Pre-Installation Checklist

  • Backup any existing data on target SSDs (will be erased)
  • Verify both SSDs are detected in BIOS/UEFI
  • Ensure RAID mode is available in BIOS (Intel RST or standard AHCI)
  • Download CentOS Stream 9 ISO
  • Prepare bootable USB drive
  • Document current network settings (if preserving configuration)

Step 1: Download CentOS and Create Installation Media

Download CentOS Stream 9

1
2
3
4
5
6
# Download from official mirror (run on separate machine)
wget https://mirrors.centos.org/mirrorlist?path=/9-stream/BaseOS/x86_64/iso/CentOS-Stream-9-latest-x86_64-dvd1.iso

# Verify checksum (optional but recommended)
curl -O https://mirrors.centos.org/.../CentOS-Stream-9-latest-x86_64-dvd1.iso.SHA256SUM
sha256sum -c CentOS-Stream-9-latest-x86_64-dvd1.iso.SHA256SUM

Alternatively, download directly from: https://www.centos.org/download/

Create Bootable USB Drive

On Linux:

1
2
3
4
5
# Identify USB drive (be careful!)
lsblk

# Write ISO to USB (replace sdX with your USB device)
sudo dd if=CentOS-Stream-9-latest-x86_64-dvd1.iso of=/dev/sdX bs=4M status=progress oflag=sync

On Windows (using Rufus):

  1. Download Rufus from https://rufus.ie/
  2. Insert USB drive (8GB minimum)
  3. Select CentOS ISO in Rufus
  4. Partition scheme: GPT for UEFI, MBR for legacy BIOS
  5. Click Start and wait for completion

On macOS:

1
2
3
4
5
6
7
8
# Identify USB disk
diskutil list

# Unmount USB (replace diskX with your device)
diskutil unmountDisk /dev/diskX

# Write ISO
sudo dd if=CentOS-Stream-9-latest-x86_64-dvd1.iso of=/dev/rdiskX bs=1m

Step 2: BIOS/UEFI Configuration

Access BIOS/UEFI Setup

  1. Insert USB drive into target system
  2. Power on and press BIOS key (commonly DEL, F2, F10, or F12)
  3. Navigate to Boot or Advanced settings

Configure Boot Mode

For UEFI Systems (Recommended):

  • Boot Mode: UEFI (not Legacy/CSM)
  • Secure Boot: Disabled (or configure for Linux)
  • SATA Mode: AHCI (not RAID/IDE for software RAID)

For Legacy BIOS:

  • Boot Mode: Legacy/CSM
  • SATA Mode: AHCI

Storage Configuration

Importantly, for software RAID (Linux mdadm), keep SATA mode on AHCI:

1
SATA Mode: AHCI (not Intel RST RAID)

Using motherboard hardware RAID (Intel RST, AMD RAID) is an alternative, but Linux software RAID provides better monitoring and portability.

Set Boot Priority

  1. Move USB drive to first boot position
  2. Save and exit (usually F10)

Step 3: Start CentOS Installation

Boot from USB

  1. System will restart and boot from USB
  2. Select “Install CentOS Stream 9” from GRUB menu
  3. Wait for initial system load

Language and Keyboard Selection

  1. Select your preferred language (e.g., English)
  2. Choose appropriate keyboard layout
  3. Click Continue

Step 4: Configure Installation Summary

You’ll see the “INSTALLATION SUMMARY” screen with several sections. Focus on these critical areas:

4.1 Installation Destination (Most Important)

Click on “INSTALLATION DESTINATION”:

Select Disks

  1. Check both SSDs in the device list
  2. You’ll see entries like:
    • NVMe SSD: Samsung SSD 970 EVO 500GB
    • NVMe SSD: Samsung SSD 970 EVO 500GB

Configure RAID 1

Step 1: Click “Custom” under Storage Configuration

Step 2: Click “Done” to proceed to manual partitioning

Step 3: Create RAID Device

Click “Click here to create them automatically” or manually configure:

  1. Click “+” (Add mount point)
  2. Create RAID device:
    • Device Type: RAID
    • RAID Level: RAID 1
    • Select both SSDs as RAID members

Step 4: Configure Partitions on RAID Device

Recommended layout for RAID 1:

Partition 1: /boot/efi (EFI System)

  • Size: 512 MB
  • File System: EFI System Partition
  • RAID: Not on RAID (create on both disks separately for redundancy)

Partition 2: /boot

  • Size: 1 GB
  • File System: ext4
  • Device: RAID 1 array

Partition 3: Swap

  • Size: Equal to RAM (or 4-8GB for systems with 16GB+ RAM)
  • File System: swap
  • Device: RAID 1 array (optional, can use file-based swap)

Partition 4: / (Root)

  • Size: Remaining space (or 50GB minimum)
  • File System: xfs (recommended for CentOS)
  • Device: RAID 1 array

Alternative: Separate /home

  • /: 50GB
  • /home: Remaining space

Manual RAID Creation (Advanced)

If automatic RAID creation doesn’t work:

  1. Click “Modify” under “Partitioning”
  2. Select “Standard Partition” or “LVM” (LVM on RAID recommended)
  3. Create new mount points on RAID device
  4. Set device type to “RAID” in dropdown

4.2 Network Configuration

Click “NETWORK & HOSTNAME”:

  1. Enable network interface (toggle to ON)
  2. Click “Configure” for static IP (optional):
    • IPv4 Method: Manual
    • Address: 192.168.1.100/24
    • Gateway: 192.168.1.1
    • DNS: 192.168.1.1, 8.8.8.8
  3. Set hostname: centos-server.localdomain
  4. Click Done

4.3 Software Selection

Click “SOFTWARE SELECTION”:

  • Server with GUI: Full graphical environment
  • Minimal Install: Command line only (recommended for servers)
  • Server: Standard server packages without GUI

For RAID monitoring, consider “Server” with “System Tools” add-on.

4.4 User Settings

Click “ROOT PASSWORD”:

  • Set strong root password
  • Minimum 8 characters with mixed case, numbers, symbols

Click “USER CREATION” (recommended):

  • Create admin user for daily operations
  • Check “Make this user administrator” (adds to wheel group)
  • Set password

Step 5: Begin Installation

  1. Click “Begin Installation”
  2. Wait for installation to complete (15-30 minutes depending on SSD speed)
  3. Monitor progress on installation screen
  4. Installation will configure RAID 1 and write data to both SSDs simultaneously

Step 6: Post-Installation RAID Verification

6.1 Reboot System

  1. Remove USB drive when prompted
  2. Press Enter to reboot