Hello, I was wondering if Oracle has a recommended way to set the sync_journal parameter. I haven''t been able to figure out how to set it with conf_param, so I''m assuming it''s one of the special proc files that doesn''t get a conf_param equivalent. Right now, running a cron job to set it seems to be the only way without patching the source. I think a conf_param setting would be the nicest, but barring that, maybe a compile time flag would work? What do you guys think? Thanks, Kit
On 2010-05-21, at 09:09, Kit Westneat wrote:> I was wondering if Oracle has a recommended way to set the sync_journal > parameter. I haven''t been able to figure out how to set it with > conf_param, so I''m assuming it''s one of the special proc files that > doesn''t get a conf_param equivalent. Right now, running a cron job to > set it seems to be the only way without patching the source. I think a > conf_param setting would be the nicest, but barring that, maybe a > compile time flag would work? What do you guys think?I''m surprised you can''t set this via conf_param. What parameter name did you try? Also, in bugzilla Nathan has patches to change conf_param syntax to match the {get,set,list}_param syntax so that it is easier to set permanent tunables. I''d think (without having tried it) that: lctl conf_param {fsname}.obdfilter.sync_journal=0 should work. Cheers, Andreas -- Andreas Dilger Lustre Technical Lead Oracle Corporation Canada Inc.
I''m surprised you can''t set this via conf_param. What parameter name did you try? Also, in bugzilla Nathan has patches to change conf_param syntax to match the {get,set,list}_param syntax so that it is easier to set permanent tunables.> I''d think (without having tried it) that: > > lctl conf_param {fsname}.obdfilter.sync_journal=0 >That''s the first one I tried :-) BTW, conf_param doesn''t fail nicely. If you all are revisiting it, it would be nice to get some output on stderr that it''s failed. Here is what it looks like: [root at vm0 iosched]# lctl set_param obdfilter.*.sync_journal=0 obdfilter.lustre-OST0000.sync_journal=0 [root at vm0 iosched]# lctl conf_param lustre.obdfilter.sync_journal=0 [root at vm0 iosched]# dmesg |tail LDISKFS-fs: mballoc enabled LDISKFS-fs: mounted filesystem hdc with ordered data mode Lustre: Filtering OBD driver; http://www.lustre.org/ Lustre: lustre-OST0000: new disk, initializing Lustre: lustre-OST0000: Now serving lustre-OST0000 on /dev/hdc with recovery enabled Lustre: 23279:0:(mds_lov.c:1167:mds_notify()) MDS lustre-MDT0000: add target lustre-OST0000_UUID Lustre: 22906:0:(quota_master.c:1716:mds_quota_recovery()) Only 0/1 OSTs are active, abort quota recovery Lustre: lustre-OST0000: received MDS connection from 0 at lo Lustre: MDS lustre-MDT0000: lustre-OST0000_UUID now active, resetting orphans Lustre: Ignoring unrecognized param ''obdfilter.sync_journal=0'' I also tried every other way that I could think of to do it. Are the conf_param patches scheduled to be in 1.8.4? You don''t happen to have the ticket # handy do you? Thanks, Kit -- --- Kit Westneat kwestneat at datadirectnet.com 812-484-8485
On 2010-05-21, at 12:35, Kit Westneat wrote:> I''m surprised you can''t set this via conf_param. What parameter name did you try? Also, in bugzilla Nathan has patches to change conf_param syntax to match the {get,set,list}_param syntax so that it is easier to set permanent tunables. > >> I''d think (without having tried it) that: >> >> lctl conf_param {fsname}.obdfilter.sync_journal=0 >> > > That''s the first one I tried :-) BTW, conf_param doesn''t fail nicely. If you all are revisiting it, it would be nice to get some output on stderr that it''s failed.Yes, that is more tricky than it sounds, because the MGS is doing the conf_param, but it is taking settings for the MDS and OSS and client nodes, and it has no way of knowing whether the parameter is correct or not. The other good thing about Nathan''s patches is the ability to delete conf_param settings. While not as good as actual feedback in case of error, at least it allows cleaning up mistakes.> I also tried every other way that I could think of to do it. Are the conf_param patches scheduled to be in 1.8.4? You don''t happen to have the ticket # handy do you?Bug 17471 "set_param and conf_param have different syntaxes" is one of them. I''m not sure what release they are slated for. Cheers, Andreas -- Andreas Dilger Lustre Technical Lead Oracle Corporation Canada Inc.
On 2010-05-21, at 12:35, Kit Westneat wrote:>> I''d think (without having tried it) that: >> >> lctl conf_param {fsname}.obdfilter.sync_journal=0 >> > > That''s the first one I tried :-) BTW, conf_param doesn''t fail nicely. If you all are revisiting it, it would be nice to get some output on stderr that it''s failed.Kit, FYI I wanted to set this parameter on my home filesystem, and after some poking around I found the correct syntax. Not ideal, since the parameter needs to be set separately for every OST, but workable: For every OST in the filesystem: lctl conf_param {fsname}-OST0000.ost.sync_journal=0 lctl conf_param {fsname}-OST0001.ost.sync_journal=0 : : lctl conf_param {fsname}-OST000N.ost.sync_journal=0 Cheers, Andreas -- Andreas Dilger Lustre Technical Lead Oracle Corporation Canada Inc.