I''m testing lustre 1.2.4 and have a few questions about stripes when adding an OST. * Is there a way to restripe files across my new OST. Sure, just copy them, and then delete the original. Magically, depending on your striping config some or all of the files will have portions of the new OST. No this isn''t perfect, but currently one way to do it. The problem is that OST''s don''t necessarily even know about each other, so the data will have to travel to a client or the MDS at some point to get moved to new ost''s. * Is there a way to move stripes from from OST to another on a running system (e.g If yor want to replace som hardware) We had to do this at one point, and wrote custom scripts to stripe around the failing ost using the lstripe command before writing the new file. When we were looking at this we thought it would be good to have a simple tool, maybe using the liblustre package to carefully copy all the underlying data blocks, modify the MDS EA structures to point to the already copied data, then clean up the old blocks. In the end it was easier to just pre-stripe all the files just before copying then renaming them. A custom tool may have been able to utilize the data on the ''good'' ost''s and just move vulnerable data. Or are these features part of ''online OST migration'' planned for 2.0 in the roadmap? If so, * Is there a compile setting to use default striping when truncating a file (O_TRUNC)? I think my LD_PRELOAD library should still work. It''s a great code example of how to pre-stripe in your own code as well. See it here: http://felix.homeip.net/geeklog/article.php?story=3Dllstiripe Evan
On Oct 10, 2005 14:29 -0700, Felix, Evan J wrote:> Jakob Goldbach wrote: > > * Is there a way to move stripes from from OST to another on a running > > system (e.g If yor want to replace som hardware) > We had to do this at one point, and wrote custom scripts to stripe > around the failing ost using the lstripe command before writing the new > file.Actually, the best way to do this is to "lctl --device {OST_dev} deactivate" on the MDS only, and it will not allocate new objects on that OST, so the "copy + rename" data migration will avoid the deactivated OST(s).> > * Is there a compile setting to use default striping when truncating a > > file (O_TRUNC)?This wouldn''t be possible unless you unlink the file and recreate it.> I think my LD_PRELOAD library should still work. It''s a great code > example of how to pre-stripe in your own code as well. See it here: > http://felix.homeip.net/geeklog/article.php?story=llstiripeInteresting. Though I would advocate applications using the liblustreapi library to do such things instead of calling the ioctls directly, as it avoids putting "details" into the app. That would entail calling llapi_file_create() and linking with -llustreapi (library is installed from RPM and functions declared in <lustre/liblustreapi.h>). Cheers, Andreas -- Andreas Dilger Principal Software Engineer Cluster File Systems, Inc.
Hi, I''m testing lustre 1.2.4 and have a few questions about stripes when adding an OST. * Is there a way to restripe files across my new OST. * Is there a way to move stripes from from OST to another on a running system (e.g If yor want to replace som hardware) Or are these features part of ''online OST migration'' planned for 2.0 in the roadmap? If so, * Is there a compile setting to use default striping when truncating a file (O_TRUNC)? Thanks, /Jakob