Evening We have a lustre file system which started life at V1.4 and is now at V1.8. I''m keen to use ost pools, but I can''t actually add nodes to the pool. The node names are not in a format that lctl pool_add likes ost_011_UUID 3.3T 3.0T 331.5G 90% /l1[OST:10] lctl pool_add l1.default "OST[10]" OST l1-OST0010_UUID is not part of the ''l1'' fs. pool_add: No such file or directory How do I get nodes with these names added to a pool? Thanks. -- Dr Stuart Midgley sdm900 at gmail.com
looks you forget about FS name in lctl command. lctl pool_add want format lctl pool_add $fsname.$pool_name $fsname-OST[$OST_IDX] please try to use lctl pool_add l1.default l1-OST[10]> > ---------- Forwarded message ---------- > From: Stuart Midgley <sdm900 at gmail.com> > Date: Tue, Aug 3, 2010 at 12:07 PM > Subject: [Lustre-discuss] ost pools > To: lustrefs <lustre-discuss at lists.lustre.org> > > > Evening > > We have a lustre file system which started life at V1.4 and is now at V1.8. I''m keen to use ost pools, but I can''t actually add nodes to the pool. The node names are not in a format that lctl pool_add likes > > ost_011_UUID 3.3T 3.0T 331.5G 90% /l1[OST:10] > > lctl pool_add l1.default "OST[10]" > OST l1-OST0010_UUID is not part of the ''l1'' fs. > pool_add: No such file or directory > > How do I get nodes with these names added to a pool? > > Thanks. > > -- > Dr Stuart Midgley > sdm900 at gmail.com > > > > _______________________________________________ > Lustre-discuss mailing list > Lustre-discuss at lists.lustre.org > http://lists.lustre.org/mailman/listinfo/lustre-discuss >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.lustre.org/pipermail/lustre-discuss/attachments/20100803/f6fb00a8/attachment.html
no, that didn''t help at all. # lctl pool_add l1.default l1-OST[10] OST l1-OST0010_UUID is not part of the ''l1'' fs. pool_add: No such file or directory All the nodes that have the "new-style" names went into the pool just fine. all the nodes with "old-style" names will not go into the pool. eg. ost_011_UUID On Wed, Aug 4, 2010 at 2:48 AM, Alexey Lyashkov <alexey.lyashkov at clusterstor.com> wrote:> looks you forget about FS name in lctl command. > lctl pool_add want format > ?lctl pool_add $fsname.$pool_name $fsname-OST[$OST_IDX] > please try to use > lctl pool_add l1.default l1-OST[10] > > ---------- Forwarded message ---------- > From: Stuart Midgley <sdm900 at gmail.com> > Date: Tue, Aug 3, 2010 at 12:07 PM > Subject: [Lustre-discuss] ost pools > To: lustrefs <lustre-discuss at lists.lustre.org> > > > Evening > > We have a lustre file system which started life at V1.4 and is now at V1.8. > ?I''m keen to use ost pools, but I can''t actually add nodes to the pool. ?The > node names are not in a format that lctl pool_add likes > > ost_011_UUID ? ? ? ? ? ? ? ?3.3T ? ? ? ?3.0T ? ? ?331.5G ?90% /l1[OST:10] > > lctl pool_add l1.default "OST[10]" > OST l1-OST0010_UUID is not part of the ''l1'' fs. > pool_add: No such file or directory > > How do I get nodes with these names added to a pool? > > Thanks.-- Dr Stuart Midgley sdm900 at gmail.com
On 2010-08-10, at 01:20, Stu Midgley wrote:> # lctl pool_add l1.default l1-OST[10] > OST l1-OST0010_UUID is not part of the ''l1'' fs. > pool_add: No such file or directory > > > All the nodes that have the "new-style" names went into the pool just > fine. all the nodes with "old-style" names will not go into the pool. > > eg. ost_011_UUIDI had a quick look at lctl::jt_pool_cmd(), and it looks like this checking is done in userspace in check_and_complete_ostname(), to avoid bad interactions with invalid OST names, and to allow "short" forms of the OST to be used (e.g. OST0001 instead of l1-OST0001_UUID). That said, it should also be possible to have lctl scan the existing OST UUID array via setup_obd_indexes(param->obd_uuid = ost_name) to see if the OST name is actually valid before adding it to the pool. That will iterate over the list of OSTs, and use llapi_uuid_match() to see if the OST name is valid.>> We have a lustre file system which started life at V1.4 and is now at V1.8. >> I''m keen to use ost pools, but I can''t actually add nodes to the pool. The node names are not in a format that lctl pool_add likes >> >> ost_011_UUID 3.3T 3.0T 331.5G 90% /l1[OST:10] >> >> lctl pool_add l1.default "OST[10]" >> OST l1-OST0010_UUID is not part of the ''l1'' fs. >> pool_add: No such file or directory >> >> How do I get nodes with these names added to a pool? >> >> Thanks. > > > -- > Dr Stuart Midgley > sdm900 at gmail.com > _______________________________________________ > Lustre-discuss mailing list > Lustre-discuss at lists.lustre.org > http://lists.lustre.org/mailman/listinfo/lustre-discussCheers, Andreas -- Andreas Dilger Lustre Technical Lead Oracle Corporation Canada Inc.
Right, so I assume this means it will be fixed in some future version of lustre and until then I can''t have those nodes in the pool until then? On Tue, Aug 10, 2010 at 3:41 PM, Andreas Dilger <andreas.dilger at oracle.com> wrote:> On 2010-08-10, at 01:20, Stu Midgley wrote: >> # lctl pool_add l1.default l1-OST[10] >> OST l1-OST0010_UUID is not part of the ''l1'' fs. >> pool_add: No such file or directory >> >> >> All the nodes that have the "new-style" names went into the pool just >> fine. ?all the nodes with "old-style" names will not go into the pool. >> >> eg. ost_011_UUID > > I had a quick look at lctl::jt_pool_cmd(), and it looks like this checking is done in userspace in check_and_complete_ostname(), to avoid bad interactions with invalid OST names, and to allow "short" forms of the OST to be used (e.g. OST0001 instead of l1-OST0001_UUID). > > That said, it should also be possible to have lctl scan the existing OST UUID array via setup_obd_indexes(param->obd_uuid = ost_name) to see if the OST name is actually valid before adding it to the pool. ?That will iterate over the list of OSTs, and use llapi_uuid_match() to see if the OST name is valid. > >>> We have a lustre file system which started life at V1.4 and is now at V1.8. >>> ?I''m keen to use ost pools, but I can''t actually add nodes to the pool. ?The node names are not in a format that lctl pool_add likes >>> >>> ost_011_UUID ? ? ? ? ? ? ? ?3.3T ? ? ? ?3.0T ? ? ?331.5G ?90% /l1[OST:10] >>> >>> lctl pool_add l1.default "OST[10]" >>> OST l1-OST0010_UUID is not part of the ''l1'' fs. >>> pool_add: No such file or directory >>> >>> How do I get nodes with these names added to a pool? >>> >>> Thanks. >> >> >> -- >> Dr Stuart Midgley >> sdm900 at gmail.com >> _______________________________________________ >> Lustre-discuss mailing list >> Lustre-discuss at lists.lustre.org >> http://lists.lustre.org/mailman/listinfo/lustre-discuss > > > Cheers, Andreas > -- > Andreas Dilger > Lustre Technical Lead > Oracle Corporation Canada Inc. > >-- Dr Stuart Midgley sdm900 at gmail.com
That''s more likely if you file a bug report at bugzilla.lustre.org. Even better if you modify "check_and_complete_ostname" in lctl to handle your OST names and submit a patch with the bug. Kevin Stu Midgley wrote:> Right, so I assume this means it will be fixed in some future version > of lustre and until then I can''t have those nodes in the pool until > then? > > > On Tue, Aug 10, 2010 at 3:41 PM, Andreas Dilger > <andreas.dilger at oracle.com> wrote: > >> On 2010-08-10, at 01:20, Stu Midgley wrote: >> >>> # lctl pool_add l1.default l1-OST[10] >>> OST l1-OST0010_UUID is not part of the ''l1'' fs. >>> pool_add: No such file or directory >>> >>> >>> All the nodes that have the "new-style" names went into the pool just >>> fine. all the nodes with "old-style" names will not go into the pool. >>> >>> eg. ost_011_UUID >>> >> I had a quick look at lctl::jt_pool_cmd(), and it looks like this checking is done in userspace in check_and_complete_ostname(), to avoid bad interactions with invalid OST names, and to allow "short" forms of the OST to be used (e.g. OST0001 instead of l1-OST0001_UUID). >> >> That said, it should also be possible to have lctl scan the existing OST UUID array via setup_obd_indexes(param->obd_uuid = ost_name) to see if the OST name is actually valid before adding it to the pool. That will iterate over the list of OSTs, and use llapi_uuid_match() to see if the OST name is valid. >> >> >>>> We have a lustre file system which started life at V1.4 and is now at V1.8. >>>> I''m keen to use ost pools, but I can''t actually add nodes to the pool. The node names are not in a format that lctl pool_add likes >>>> >>>> ost_011_UUID 3.3T 3.0T 331.5G 90% /l1[OST:10] >>>> >>>> lctl pool_add l1.default "OST[10]" >>>> OST l1-OST0010_UUID is not part of the ''l1'' fs. >>>> pool_add: No such file or directory >>>> >>>> How do I get nodes with these names added to a pool? >>>> >>>> Thanks. >>>> >>> -- >>> Dr Stuart Midgley >>> sdm900 at gmail.com >>> _______________________________________________ >>> Lustre-discuss mailing list >>> Lustre-discuss at lists.lustre.org >>> http://lists.lustre.org/mailman/listinfo/lustre-discuss >>> >> Cheers, Andreas >> -- >> Andreas Dilger >> Lustre Technical Lead >> Oracle Corporation Canada Inc. >> >> >> > > > >
OK, so I removed the check in lctl (obd.c) static int check_and_complete_ostname(char *fsname, char *ostname) { char *ptr; char real_ostname[MAX_OBD_NAME + 1]; char i; return 0; } and it also failed... ./lctl pool_add l1.bulk ost_011_UUID pool_add: Invalid argument So... something futher up the chain doesn''t like it as well. On Tue, Aug 10, 2010 at 3:41 PM, Andreas Dilger <andreas.dilger at oracle.com> wrote:> On 2010-08-10, at 01:20, Stu Midgley wrote: >> # lctl pool_add l1.default l1-OST[10] >> OST l1-OST0010_UUID is not part of the ''l1'' fs. >> pool_add: No such file or directory >> >> >> All the nodes that have the "new-style" names went into the pool just >> fine. ?all the nodes with "old-style" names will not go into the pool. >> >> eg. ost_011_UUID > > I had a quick look at lctl::jt_pool_cmd(), and it looks like this checking is done in userspace in check_and_complete_ostname(), to avoid bad interactions with invalid OST names, and to allow "short" forms of the OST to be used (e.g. OST0001 instead of l1-OST0001_UUID). > > That said, it should also be possible to have lctl scan the existing OST UUID array via setup_obd_indexes(param->obd_uuid = ost_name) to see if the OST name is actually valid before adding it to the pool. ?That will iterate over the list of OSTs, and use llapi_uuid_match() to see if the OST name is valid. > >>> We have a lustre file system which started life at V1.4 and is now at V1.8. >>> ?I''m keen to use ost pools, but I can''t actually add nodes to the pool. ?The node names are not in a format that lctl pool_add likes >>> >>> ost_011_UUID ? ? ? ? ? ? ? ?3.3T ? ? ? ?3.0T ? ? ?331.5G ?90% /l1[OST:10] >>> >>> lctl pool_add l1.default "OST[10]" >>> OST l1-OST0010_UUID is not part of the ''l1'' fs. >>> pool_add: No such file or directory >>> >>> How do I get nodes with these names added to a pool? >>> >>> Thanks. >> >> >> -- >> Dr Stuart Midgley >> sdm900 at gmail.com >> _______________________________________________ >> Lustre-discuss mailing list >> Lustre-discuss at lists.lustre.org >> http://lists.lustre.org/mailman/listinfo/lustre-discuss > > > Cheers, Andreas > -- > Andreas Dilger > Lustre Technical Lead > Oracle Corporation Canada Inc. > >-- Dr Stuart Midgley sdm900 at gmail.com