mirror of
https://github.com/xcat2/confluent.git
synced 2026-06-01 07:51:33 +00:00
7d7f001826
Newer mdadm versions may load arrays under names like `/dev/md/<hostname>:raid` after reboot instead of `/dev/md/raid`. Detect both naming schemes when waiting for the array device and use the resolved path consistently when determining the underlying md device name. Also clear existing md superblocks before wiping signatures to avoid stale RAID metadata interfering with array creation or assembly.
31 lines
918 B
Plaintext
31 lines
918 B
Plaintext
DEVICES="/dev/sda /dev/sdb"
|
|
RAIDLEVEL=1
|
|
mdadm --detail /dev/md*|grep 'Version : 1.0' >& /dev/null || (
|
|
lvm vgchange -a n
|
|
mdadm -S -s
|
|
NUMDEVS=$(for dev in $DEVICES; do
|
|
echo wipefs -a -f $dev
|
|
done|wc -l)
|
|
for dev in $DEVICES; do
|
|
mdadm --zero-superblock $dev
|
|
wipefs -a -f $dev
|
|
done
|
|
# must use older metadata format to leave disks looking normal for uefi
|
|
mdadm -C /dev/md/raid $DEVICES -n $NUMDEVS -e 1.0 -l $RAIDLEVEL -b internal
|
|
# shut and restart array to prime things for anaconda
|
|
mdadm -S -s
|
|
mdadm --assemble --scan
|
|
)
|
|
while :; do
|
|
# newer mdraid verions might have <hostname>:<raidname>
|
|
TARGET_RAID=$(ls /dev/md/raid /dev/md/*:raid 2>/dev/null | head -n 1)
|
|
|
|
[ -n "$TARGET_RAID" ] && break
|
|
|
|
echo 'Waiting on array to be linked...'
|
|
sleep 0.5
|
|
done
|
|
|
|
# Extract the underlying block device name (e.g., md127) using the captured path
|
|
readlink "$TARGET_RAID" | sed -e 's/.*\///' > /tmp/installdisk
|