Disk Tasks: Difference between revisions

From My Wiki
Jump to navigation Jump to search
Merging in old Disk Size and Disk Tasks wiki plus LVM resizing.
 
m Resizing an LVM: punctuation
 
Line 12: Line 12:
  du -sk /path/to/dir/* | sort -n | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e "${size}${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done
  du -sk /path/to/dir/* | sort -n | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e "${size}${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done
= Resizing an LVM =
= Resizing an LVM =
This is after you have powered off the VM, and raised its disk size in VMware, VirtualBox, or whatever. After you have done that and booted it back up (assuming sda is the disk, sda2 is the PV, and the device mapper is os-root:  
This is after you have powered off the VM, and raised its disk size in VMware, VirtualBox, or whatever. After you have done that and booted it back up (assuming sda is the disk, sda2 is the PV, and the device mapper is os-root):  
  echo 1 > /sys/class/block/sda/device/rescan
  echo 1 > /sys/class/block/sda/device/rescan
  parted /dev/sda resizepart 2 -- -1
  parted /dev/sda resizepart 2 -- -1
Line 18: Line 18:
  lvresize -l +95%FREE /dev/mapper/os-root
  lvresize -l +95%FREE /dev/mapper/os-root
  resize2fs /dev/mapper/os-root
  resize2fs /dev/mapper/os-root
= Testing A Disk =
= Testing A Disk =
== RAID? ==
== RAID? ==

Latest revision as of 14:38, September 2, 2022

Disk Space

Find top dirs within a dir for disk usage:

du -hx /path/to/dir --max-depth 1 | sort -rh | head

Find the inode usage (modify the /*/* to the depth and specific dirs you need):

du --inodes -sch /*/*|sort -hk1

Can also do this for inodes:

find . -type d | while read line; do echo "$( find "$line" -maxdepth 1 | wc -l) $line"; done 2>/dev/null | sort -rn | head -n20

For very old environments

When sort doesn't have -h flag:

du -hx --max-depth=1 | awk '{printf "%s %08.2f\t%s\n", index("KMG", substr($1, length($1))), substr($1, 0, length($1)-1), $0}' | sort -r|cut -f2,3

Or, list the dir size within a dir this way:

du -sk /path/to/dir/* | sort -n | while read size fname; do for unit in k M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e "${size}${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done

Resizing an LVM

This is after you have powered off the VM, and raised its disk size in VMware, VirtualBox, or whatever. After you have done that and booted it back up (assuming sda is the disk, sda2 is the PV, and the device mapper is os-root):

echo 1 > /sys/class/block/sda/device/rescan
parted /dev/sda resizepart 2 -- -1
pvresize /dev/sda2
lvresize -l +95%FREE /dev/mapper/os-root
resize2fs /dev/mapper/os-root

Testing A Disk

RAID?

It's important to determine if there's a RAID first, if there is one you need to go with RAID-specific commands instead. To determine that, use:

cat /proc/mdstat

Or:

lspci | grep -i raid

RAID-less SMART Test

Where sda is the hard disk:

smartctl -t long /dev/sda

Check progress with:

smartctl -a /dev/sda

Read-only Partition?

mount -o remount rw /partition