Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
MDADM and LVM cheat sheet

mdadm

Glossary:

  • md: multiple devices
command description
cat /proc/mdstat show status of all raids
mdadm --detail /dev/md0 detailed status of raid md0
mdadm --create /dev/md0 -n2 -l1 /dev/sda1 /dev/sdb1 new raid /dev/md0 with 2 disks, raid level 1 on /dev/sda1 and /dev/sda2
mdadm --fail /dev/md0 /dev/sda1 ; mdadm --remove /dev/md0 /dev/sda1 remove /dev/sda1 from /dev/md0
mdadm --add /dev/md0 /dev/sda1 add /dev/sda1 to /dev/md0
mdadm --grow /dev/md0 -n3 use 3 disks in raid /dev/md0 (e.g. add an additional disk, so a damaged drive can be removed later-on)
mdadm --assemble /dev/md0 Assemble /dev/md0 (e.g. when running live system)
mdadm --detail --scan >> /etc/mdadm/mdadm.conf Update list of arrays in /etc/mdadm/mdadm.conf ; you should remove old list by hand first!
mdadm --examine /dev/sda1 What is this disk / partition?
sysctl -w dev.raid.speed_limit_min=10000 Set minimum raid rebuilding speed to 10000 kiB/s (default 1000)
sfdisk -d /dev/sdX | sfdisk /dev/sdY Copy partition table from sdX to sdY (MBR only)
sgdisk /dev/sdX -R /dev/sdY ; sgdisk -G /dev/sdY Copy partition table from sdX to sdY (GPT)
  • To boot a machine even with a degraded array, modify /etc/initramfs-tools/conf.d/mdadm and run update-initramfs -c -kall (Use with caution!)

lvm

Glossary:

  • pv: physical device (e.g. /dev/md0 or /dev/sda1)
  • vg: volume group (consists of 1 or more pvs, contains lvs); has a name (e.g. lvm)
  • lv: logical volume (has a name which defines its path, e.g. /dev/lvm/root which equals dev/mapper/lvm-root)
command description
pvcreate /dev/md0 initializes /dev/md0 as phys device for a volume group
vgcreate lvm /dev/md0 create volume group lvm with phys device /dev/md0
lvcreate -L30G -nroot lvm ; mkfs.ext4 /dev/lvm/root create logical volume root, sized 30G in volume group lvm; format with ext4
lvextend -L60G -nroot lvm ; resize2fs /dev/lvm/root extend /dev/lvm/root to 60G; also resize file system to new size
pvs, vgs, lvs show short info about pv, vg and lv
pvdisplay, vgdisplay, lvdisplay show long info
pvscan /dev/md0 scan disks for physical volumes (e.g. when running live system)
vgextend lvm /dev/md1 add phys device /dev/md1 to volume group lvm (need pvcreate first!)
pvmove /dev/md0 ; vgreduce lvm /dev/md0 move all logical volumes from /dev/md0 and remove phys device from volume group

Other

create bios grub partition

parted
mklabel gpt
unit s
mkpart bios 64s 2047s
set 1 bios_grub on
mkpart NAME 2048s [end]
@ejr004

This comment has been minimized.

Copy link

ejr004 commented May 15, 2019

thanks dude !

@musichook

This comment has been minimized.

Copy link

musichook commented Mar 11, 2020

Helpful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.