[RndTbl] Getting disk sizes of mountpoints
Kevin McGregor
kevin.a.mcgregor at gmail.com
Wed Feb 21 18:22:50 CST 2024
Fair question. On the same system, df -h gives:
Filesystem Size Used Avail Use% Mounted on
udev 465M 0 465M 0% /dev
tmpfs 99M 7.8M 91M 8% /run
/dev/mapper/vg0-root 15G 3.3G 12G 22% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/mapper/vg1-data 98G 61M 93G 1% /mnt/data
/dev/mapper/vg0-var 5.0G 956M 4.1G 19% /var
tmpfs 99M 0 99M 0% /run/user/1000
Where '/' and 'var' are correct, but /mnt/data shows as 98G instead of
100G. I'm looking for the disk sizes, not the file system sizes.
This is actually a VM, and I can get the exact disk sizes from VMware...
but not the mount points. And since / and /var are on the same disk, the
VMware info lacks the detail I need.
Major device 253 seems to be used for LVM devices, so assuming that misses
things like "sda2 8:2 0 2G 0 part /boot", which I'd
also like to account for. Another system, for example, has
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 48G 0 part
├─ubuntu--vg-root 253:0 0 24G 0 lvm /
└─ubuntu--vg-var 253:1 0 24G 0 lvm /var
sr0 11:0 1 1024M 0 rom
And from that I would want
/boot 2G
/ 24G
/var 24G
which adds up to 50G (sda)
lsblk -e 7 | grep '/' | awk '{ print $NF, $4 }'
basically works (for my sample of two systems), but I don't know how
reliable assuming grep '/' is going to be for what I want.
On Wed, Feb 21, 2024 at 4:44 PM Vijay Sankar <vsankar at foretell.ca> wrote:
> Doesn’t df -h give that info? Sorry if I misunderstood your question.
>
> Sent from my iPhone
>
> On Feb 21, 2024, at 16:36, Kevin McGregor <kevin.a.mcgregor at gmail.com>
> wrote:
>
>
> With 'lsblk' I can get something like this:
> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
> sda 8:0 0 20G 0 disk
> └─sda1 8:1 0 20G 0 part
> ├─vg0-root 253:0 0 15G 0 lvm /
> └─vg0-var 253:1 0 5G 0 lvm /var
> sdb 8:16 0 100G 0 disk
> └─sdb1 8:17 0 100G 0 part
> └─vg1-data 253:2 0 100G 0 lvm /mnt/data
> sr0 11:0 1 1024M 0 rom
>
> What I'm looking for is output like:
> / 15G
> /var 5G
> /mnt/data 100G
>
> So I just want the size of the block devices which are actually mounted.
> I'm wondering what is the most reliable way to produce the second output. I
> can just grep for 'lvm', but I can't guarantee the mounts are all LVM type.
> I can grep for ' 253:', but is the 253 going to be reliable? What does 253
> even mean?
>
> From https://www.kernel.org/doc/html/latest/admin-guide/devices.html :
>
> 240-254 block LOCAL/EXPERIMENTAL USE
> Allocated for local/experimental use. For devices not
> assigned official numbers, these ranges should be
> used in order to avoid conflicting with future assignments.
>
> ... which isn't encouraging. Is that list outdated? grep for '/'s?
>
> _______________________________________________
> Roundtable mailing list
> Roundtable at muug.ca
> https://muug.ca/mailman/listinfo/roundtable
>
> _______________________________________________
> Roundtable mailing list
> Roundtable at muug.ca
> https://muug.ca/mailman/listinfo/roundtable
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://muug.ca/pipermail/roundtable/attachments/20240221/e0c8c40a/attachment-0001.htm>
More information about the Roundtable
mailing list