On 2014/10/29, 9:48 AM, "DEGREMONT Aurelien" <aurelien.degremont(a)cea.fr>
wrote:
I got a quite old now Lustre filesystem, formatted with Lustre 2.1
and
upgraded to 2.5.3 now.
It has an only one OI index file: oi.16
This file is very big
-rw-r--r-- 1 root root 82G Feb 10 2012 oi.16
Filesystem has 90 M files currently.
- I'm pretty sure this file should not be so big regarding the number
of inodes we got. Is there a way to fix this?
- Is there a way to upgrade the filesystem to several OI files like
Lustre is creating now for a recent Lustre version?
Multiple OI files are created for new filesystems by default. You can
also cause OI Scrub to rebuild the OI file if the current OI file is
corrupted or missing.
Before changing anything, I'd recommend making a "dd" backup of the whole
MDT to a separate device, just in case of problems, and because having a
backup of the MDT is always a good thing. Since a block-level backup is
doing large streaming reads and doesn't traverse the filesystem namespace,
this can run quite quickly, and can use inexpensive SATA disk(s) for
storage.
You can mount the MDT locally as type ldiskfs, rename the oi.16 file, then
mount the MDT as type lustre and OI scrub should begin automatically at
mount (see "lctl get_param .
The OI Scrub speed was tested at about 100k files/sec, so that would take
at least 15 minutes to complete. It is possible for clients to have some
amount of access to the filesystem while scrub is running. While this is
better to have some partial access than none at all, not all operations
work (lookup or revalidate by FID in particular will hang until the scrub
completes) so it is better to do this during a scheduled outage if
possible.
Cheers, Andreas
--
Andreas Dilger
Lustre Software Architect
Intel High Performance Data Division