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