Skip to content

stucks at listing complex setup of partitions #99

@fenio

Description

@fenio

So as part of preparation to start working on fenio/anylinuxfs-gui#19 I prepared pendrive with some random crap. Various filesystems, RAIDs, LVMs, LVM RAIDs and so on.

And anylinuxfs can't even list them in privileged mode ;)

I created it with this script:

#!/bin/bash
set -e

DISK="/dev/sdb"
PARTSIZE=5   # GiB
PARTS=11

echo "This will erase all data from $DISK"
read -p "Continue? (yes/NO): " confirm
[[ "$confirm" == "yes" ]] || exit 1

echo "== Wiping =="
umount ${DISK}?* 2>/dev/null || true
wipefs -a $DISK
sgdisk --zap-all $DISK

echo "== Creating GPT =="
parted -s $DISK mklabel gpt

echo "== Creating $PARTS partitions ${PARTSIZE}GiB =="

START=1  # start od 1MiB alignment
for ((i=1; i<=PARTS; i++)); do
  END=$((START + PARTSIZE))
  parted -s $DISK mkpart primary ${START}GiB ${END}GiB
  START=$END
done

# Refresh partition table
partprobe $DISK
sleep 2

echo "== Set RAID flags =="
for p in 3 4 5 6 8 9 10 11; do
  parted -s $DISK set $p raid on
done

echo "== Filesystems =="
mkfs.ext4 -F ${DISK}1
mkfs.xfs -f ${DISK}2

echo "== mdadm RAID1 (3+4) =="
mdadm --create --verbose /dev/md0 \
  --level=1 --raid-devices=2 \
  ${DISK}3 ${DISK}4

echo "== mdadm RAID0 (5+6) =="
mdadm --create --verbose /dev/md1 \
  --level=0 --raid-devices=2 \
  ${DISK}5 ${DISK}6

echo "== LVM on sdb7 =="
pvcreate -ff -y ${DISK}7
vgcreate vg_test ${DISK}7
lvcreate -L 4G -n lv_test vg_test
mkfs.ext4 /dev/vg_test/lv_test

echo "== mdadm RAID1 (8+9) -> LVM =="
mdadm --create --verbose /dev/md2 \
  --level=1 --raid-devices=2 \
  ${DISK}8 ${DISK}9

pvcreate -ff -y /dev/md2
vgcreate vg_raid /dev/md2
lvcreate -L 4G -n lv_raid vg_raid
mkfs.xfs -f /dev/vg_raid/lv_raid

echo "== LVM RAID (10+11) =="

pvcreate -ff -y ${DISK}10 ${DISK}11
vgcreate vg_lvmraid ${DISK}10 ${DISK}11

lvcreate --type raid1 -m 1 -L 4G -n lv_lvm_raid1 vg_lvmraid
lvcreate --type raid0 -i 2 -L 4G -n lv_lvm_raid0 vg_lvmraid

mkfs.ext4 /dev/vg_lvmraid/lv_lvm_raid1
mkfs.xfs  /dev/vg_lvmraid/lv_lvm_raid0

echo "== Saving mdadm configuration =="
mdadm --detail --scan >> /etc/mdadm/mdadm.conf 2>/dev/null || true

echo
echo "=== DONE ==="
lsblk -f
cat /proc/mdstat

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions