I have a linux server running mariaDB-5.5; the tables are all (I think) innoDB tables and the data are stored on a raw partition; actually on two raw partitions because some years ago at the last hardware upgrade, we added a second one for growth capacity. I've just checked and right now, the "data length" + "index length" of my tables comes to about 95GB.
I'm about to migrate to new storage and servers -- and OS, so will be using mariaDB-10.5 (or I may go for 11.4 instead of the OS-supplied version). As far as I can see from the docs, this should not have any major issues, but I'd appreciate expert/exsperienced thoughts on some points, which are interconnected:
- Raw partitions: does it make any real difference if I continue with multiple raw filesystems vs making one big one?
- Is a raw partition still sensible? This was set up by my predecessor, but reading around the docs, I'm not entirely sure that this is likely to give an improvement in performance vs the "one file per table" config. Any thoughts? How to do speed tests that reflect the usage in a production environment is not really clear to meL: I don't have the capacity to create a dev clone of the live system.
mysqldump
vsdd
. Last time I did this, I just useddd
to literally byte-wise copy the old raw partition to the new one. That's why we have two partitions because this of course precluded resizing it. This is partly becausemysqldump
produces a very large file, and partly because I'm slightly scared that there will end up with a foreign key deadlock or something silly like that if I go that route. On the other hand, usingdd
requires me to create raw partitions on the new machine, exactly duplicating the number and size on the old one (hence question 1) which is obviously somewhat restrictive.
And I guess while I'm here, any nasty gotchas that I haven't foreseen that I should be aware of?
I will read on up the percona toolkit options for this as well, but haven't got that far yet!