mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
b6e2973ee6
update README, use maria_declare_plugin(), specify the author.
86 lines
3.7 KiB
Text
86 lines
3.7 KiB
Text
Information Schema Disks
|
|
------------------------
|
|
This is a proof-of-concept information schema plugin that allows the
|
|
disk space situation to be monitored. When installed, it can be used
|
|
as follows:
|
|
|
|
> select * from information_schema.disks;
|
|
+-----------+-----------------------+-----------+----------+-----------+
|
|
| Disk | Path | Total | Used | Available |
|
|
+-----------+-----------------------+-----------+----------+-----------+
|
|
| /dev/sda3 | / | 47929956 | 30666304 | 14805864 |
|
|
| /dev/sda1 | /boot/efi | 191551 | 3461 | 188090 |
|
|
| /dev/sda4 | /home | 174679768 | 80335392 | 85448120 |
|
|
| /dev/sdb1 | /mnt/hdd | 961301832 | 83764 | 912363644 |
|
|
| /dev/sdb1 | /home/wikman/Music | 961301832 | 83764 | 912363644 |
|
|
| /dev/sdb1 | /home/wikman/Videos | 961301832 | 83764 | 912363644 |
|
|
| /dev/sdb1 | /home/wikman/hdd | 961301832 | 83764 | 912363644 |
|
|
| /dev/sdb1 | /home/wikman/Pictures | 961301832 | 83764 | 912363644 |
|
|
| /dev/sda3 | /var/lib/docker/aufs | 47929956 | 30666304 | 14805864 |
|
|
+-----------+-----------------------+-----------+----------+-----------+
|
|
9 rows in set (0.00 sec)
|
|
|
|
- 'Disk' is the name of the disk itself.
|
|
- 'Path' is the mount point of the disk.
|
|
- 'Total' is the total space in KiB.
|
|
- 'Used' is the used amount of space in KiB, and
|
|
- 'Available' is the amount of space in KiB available to non-root users.
|
|
|
|
Note that as the amount of space available to root may be more that what
|
|
is available to non-root users, 'available' + 'used' may be less than 'total'.
|
|
|
|
All paths to which a particular disk has been mounted are reported. The
|
|
rationale is that someone might want to take different action e.g. depending
|
|
on which disk is relevant for a particular path. This leads to the same disk
|
|
being reported multiple times. An alternative to this would be to have two
|
|
tables; disks and mounts.
|
|
|
|
> select * from information_schema.disks;
|
|
+-----------+-----------+----------+-----------+
|
|
| Disk | Total | Used | Available |
|
|
+-----------+-----------+----------+-----------+
|
|
| /dev/sda3 | 47929956 | 30666304 | 14805864 |
|
|
| /dev/sda1 | 191551 | 3461 | 188090 |
|
|
| /dev/sda4 | 174679768 | 80335392 | 85448120 |
|
|
| /dev/sdb1 | 961301832 | 83764 | 912363644 |
|
|
+-----------+-----------+----------+-----------+
|
|
|
|
> select * from information_schema.mounts;
|
|
+-----------------------+-----------+
|
|
| Path | Disk |
|
|
+-----------------------+-----------+
|
|
| / | /dev/sda3 |
|
|
| /boot/efi | /dev/sda1 |
|
|
| /home | /dev/sda4 |
|
|
| /mnt/hdd | /dev/sdb1 |
|
|
| /home/wikman/Music | /dev/sdb1 |
|
|
...
|
|
|
|
|
|
Installation
|
|
------------
|
|
|
|
- Use "install plugin" or "install soname" command:
|
|
|
|
MariaDB [(none)]> install plugin disks soname 'disks.so';
|
|
|
|
or
|
|
|
|
MariaDB [(none)]> install soname 'disks.so';
|
|
|
|
Usage
|
|
-----
|
|
The plugin appears as the table 'disks' in 'information_schema'.
|
|
|
|
MariaDB [(none)]> select * from information_schema.disks;
|
|
+-----------+-----------------------+-----------+----------+-----------+
|
|
| Disk | Path | Total | Used | Available |
|
|
+-----------+-----------------------+-----------+----------+-----------+
|
|
| /dev/sda3 | / | 47929956 | 30666308 | 14805860 |
|
|
| /dev/sda1 | /boot/efi | 191551 | 3461 | 188090 |
|
|
| /dev/sda4 | /home | 174679768 | 80348148 | 85435364 |
|
|
| /dev/sdb1 | /mnt/hdd | 961301832 | 83764 | 912363644 |
|
|
| /dev/sdb1 | /home/wikman/Music | 961301832 | 83764 | 912363644 |
|
|
| /dev/sdb1 | /home/wikman/Videos | 961301832 | 83764 | 912363644 |
|
|
...
|
|
|