Skip to content

Instantly share code, notes, and snippets.

@Sharm
Created August 18, 2022 18:59
Show Gist options
  • Save Sharm/031a995ebb575cc496b79f5b26fdc342 to your computer and use it in GitHub Desktop.
Save Sharm/031a995ebb575cc496b79f5b26fdc342 to your computer and use it in GitHub Desktop.
Extend Ubuntu raid partition "/" by deleting "/home" partition using mdadm and parted
# Based on
# https://docs.hetzner.com/robot/dedicated-server/raid/exchanging-hard-disks-in-a-software-raid/
# https://documentation.suse.com/sles/12-SP4/html/SLES-all/cha-raid-resize.html
# https://redhatlinux.guru/2016/08/24/how-to-remove-mdadm-raid-devices/
# https://help.ubuntu.com/community/Partitioning/Home/Moving
# https://askubuntu.com/questions/116351/increase-partition-size-on-which-ubuntu-is-installed
lsblk
---------------------------------------------
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 3.6T 0 disk
├─sda1 8:1 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sda2 8:2 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
├─sda3 8:3 0 2T 0 part
│ └─md2 9:2 0 2T 0 raid1 / <------- need to be extended my max
├─sda4 8:4 0 1.6T 0 part
│ └─md3 9:3 0 1.6T 0 raid1 /home <------- need to be deleted
└─sda5 8:5 0 1M 0 part
sdb 8:16 0 3.6T 0 disk
├─sdb1 8:17 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sdb2 8:18 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
├─sdb3 8:19 0 2T 0 part
│ └─md2 9:2 0 2T 0 raid1 / <------- need to be extended my max
├─sdb4 8:20 0 1.6T 0 part
│ └─md3 9:3 0 1.6T 0 raid1 /home <------- need to be deleted
└─sdb5 8:21 0 1M 0 part
cat /proc/mdstat
umount /home # or umount /dev/md3
mdadm --stop /dev/md3
cat /proc/mdstat
mdadm --remove /dev/md3 # if error opening md1: No such file or directory
mdadm --zero-superblock /dev/sda4 /dev/sdb4
# edit /etc/fstab to remove md3 mount
##
## md3 with /home deleted, go to extemd md2
##
mdadm /dev/md2 --fail /dev/sda3 --remove /dev/sda3
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 3.6T 0 disk
├─sda1 8:1 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sda2 8:2 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
├─sda3 8:3 0 2T 0 part
├─sda4 8:4 0 1.6T 0 part
└─sda5 8:5 0 1M 0 part
sdb 8:16 0 3.6T 0 disk
├─sdb1 8:17 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sdb2 8:18 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
├─sdb3 8:19 0 2T 0 part
│ └─md2 9:2 0 2T 0 raid1 /
├─sdb4 8:20 0 1.6T 0 part
└─sdb5 8:21 0 1M 0 part
parted /dev/sda
print
rm 4
print free
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
5 1049kB 2097kB 1049kB bios_grub
1 2097kB 34.4GB 34.4GB raid
2 34.4GB 35.4GB 1074MB raid
3 35.4GB 2198GB 2163GB raid
2198GB 4001GB 1803GB Free Space
resizepart 3
4001GB
print free
Number Start End Size File system Name Flags
17.4kB 1049kB 1031kB Free Space
5 1049kB 2097kB 1049kB bios_grub
1 2097kB 34.4GB 34.4GB raid
2 34.4GB 35.4GB 1074MB raid
3 35.4GB 4001GB 3965GB raid
mdadm -a /dev/md2 /dev/sda3
mdadm /dev/md2 --fail /dev/sdb3 --remove /dev/sdb3
parted /dev/sdb
(parted) rm 4
(parted) resizepart 3
mdadm -a /dev/md2 /dev/sdb3
mdadm -D /dev/md2 | grep -e "Array Size" -e "Dev Size"
mdadm --grow /dev/md2 -z max
mdadm -D /dev/md2 | grep -e "Array Size" -e "Dev Size"
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 3.6T 0 disk
├─sda1 8:1 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sda2 8:2 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
├─sda3 8:3 0 3.6T 0 part
│ └─md2 9:2 0 3.6T 0 raid1 /
└─sda5 8:5 0 1M 0 part
sdb 8:16 0 3.6T 0 disk
├─sdb1 8:17 0 32G 0 part
│ └─md0 9:0 0 32G 0 raid1 [SWAP]
├─sdb2 8:18 0 1G 0 part
│ └─md1 9:1 0 1022M 0 raid1 /boot
├─sdb3 8:19 0 3.6T 0 part
│ └─md2 9:2 0 3.6T 0 raid1 /
└─sdb5 8:21 0 1M 0 part
df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 6.3G 1.1M 6.3G 1% /run
/dev/md2 2.0T 2.0G 1.9T 1% /
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/md1 989M 129M 809M 14% /boot
tmpfs 6.3G 0 6.3G 0% /run/user/0
resize2fs /dev/md2
tune2fs -m 2 /dev/md2
df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 6.3G 1.1M 6.3G 1% /run
/dev/md2 3.6T 2.4G 3.5T 1% /
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/md1 989M 129M 809M 14% /boot
tmpfs 6.3G 0 6.3G 0% /run/user/0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment