Root server - step 1 - partition

Phase 2 — Partition Both Disks

bash
for DISK in /dev/sda /dev/sdb; do
  parted -s $DISK mklabel gpt
  parted -s $DISK mkpart primary fat32       1MiB    513MiB   # EFI
  parted -s $DISK mkpart primary ext4      513MiB   1537MiB   # /boot
  parted -s $DISK mkpart primary linux-swap 1537MiB  9729MiB  # swap
  parted -s $DISK mkpart primary           9729MiB   100%     # LVM
  parted -s $DISK set 1 esp on
  parted -s $DISK set 4 lvm on
done

partprobe /dev/sda && partprobe /dev/sdb
sleep 2
lsblk
```

Expected:
```
sda
├─sda1   512M   EFI
├─sda2     1G   /boot
├─sda3     8G   swap
└─sda4  ~437G   LVM
sdb
├─sdb1   512M   EFI
├─sdb2     1G   /boot
├─sdb3     8G   swap
└─sdb4  ~437G   LVM

Phase 3 — Format EFI Partitions

bash
mkfs.fat -F32 -n EFI /dev/sda1
mkfs.fat -F32 -n EFI /dev/sdb1

Phase 4 — Create RAID1 Arrays

bash
# /boot — metadata 1.0 keeps superblock at end, safe for GRUB
mdadm --create /dev/md0 --level=1 --raid-devices=2 \
      --metadata=1.0 \
      --name=boot \
      /dev/sda2 /dev/sdb2

# swap
mdadm --create /dev/md1 --level=1 --raid-devices=2 \
      --metadata=1.0 \
      --name=swap \
      /dev/sda3 /dev/sdb3

# LVM data array — default metadata 1.2
mdadm --create /dev/md2 --level=1 --raid-devices=2 \
      --name=data \
      /dev/sda4 /dev/sdb4

# Watch sync progress (Ctrl+C to exit, sync continues in background)
watch cat /proc/mdstat

⚠️ md2 (437 GB) will start syncing in the background. You do not need to wait — you can continue immediately. The array is fully usable during sync.


Phase 5 — Format /boot and swap

bash
mkfs.ext4 -L boot /dev/md0
mkswap -L swap /dev/md1
swapon /dev/md1