Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
-
10.1.32
Description
MaxScale should be able to react when some node of a cluster hits a disk-full situation.
For instance, if the master in a master-slave cluster hits a disk-full situation, MaxScale should promote some existing slave to master and remove the old master from the cluster. That way, a client connected to MaxScale would not necessarily detect anything special at all.
In order to do that, MaxScale must be able to detect that a disk-full situation has occurred. It's difficult and unreliable to do that using MariaDB itself, for instance, by trying to create a table and assuming it was a disk-full situation in case the creation fails or the attempt ends with a timeout. Further, that approach would not allow MaxScale to become aware of the situation before the disk actually becomes full.
A more reliable way would be to actually monitor the disk-space situation on the node and use that for the decision making, but arranging that is rather complex and fragile.
A robust solution would be if there were a pseudo table or pseudo tables in information_schema using which information about the node could be found out. For instance as follows:
MariaDB [information_schema]> select * from information_schema.system;
|
+------+--------+-----+
|
| CPUS | MEMORY | ... |
|
+---------------------+
|
| 4 | 4096 | ... |
|
+---------------------+
|
1 row in set (0.00 sec)
|
|
MariaDB [information_schema]> select * from information_schema.disks;
|
+------------+------------+----------+-----+
|
| Filesystem | 1K-blocks | Used | ... |
|
+------------+------------+----------+-----+
|
| udev | 8156512 | 0 | |
|
| tmpfs | 1635388 | 9820 | ... |
|
| /dev/sda3 | 47929956 | 28150612 | |
|
| ... | ... | ... | |
|
+------------+------------+----------+-----+
|
10 rows in set (0.00 sec)
|
With this information available, MaxScale could automatically take corrective action in case the amount of used disk-space grows above, say, 90%.
Attachments
Issue Links
- blocks
-
MXS-1453 MaxScale consider healthy a server with full disk
-
- Closed
-
-
MXS-1775 Use disk-space information when making failover and routing decisions
-
- Closed
-
- relates to
-
MDEV-18328 Make DISKS plugin check some privilege to access information_schema.DISKS table
-
- Closed
-
-
MDEV-15628 Document the INFORMATION_SCHEMA.DISKS table
-
- Closed
-
-
MDEV-17380 innodb_flush_neighbors=ON should be ignored on SSD
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Attachment | information_schema_disks.zip [ 45155 ] |
Attachment | information_schema_disks.zip [ 45155 ] |
Attachment | information_schema_disks.zip [ 45157 ] |
Priority | Major [ 3 ] | Critical [ 2 ] |
Component/s | Plugins [ 10118 ] | |
Fix Version/s | 10.1 [ 16100 ] |
Assignee | Alexey Botchkov [ holyfoot ] |
Sprint | 10.1.32 [ 235 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
issue.field.resolutiondate | 2018-03-21 09:05:08.0 | 2018-03-21 09:05:08.199 |
Fix Version/s | 10.1.32 [ 22908 ] | |
Fix Version/s | 10.1 [ 16100 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Fix Version/s | 10.2.14 [ 22911 ] | |
Fix Version/s | 10.3.6 [ 23003 ] |
Link |
This issue relates to |
Link |
This issue relates to |
Link |
This issue relates to |
Workflow | MariaDB v3 [ 84202 ] | MariaDB v4 [ 133410 ] |
Zendesk Related Tickets | 169008 |
Attached is a proof-of-concept implementation that has been built and tested with MariaDB 10.0.33.
information_schema_disks.zip