On 11/05/2013 02:13 AM, Sandro Bonazzola wrote:
> Il 04/11/2013 17:17, Bob Doolittle ha scritto:
>> On 11/04/2013 05:43 AM, Sandro Bonazzola wrote:
>>> Il 02/11/2013 17:51, Bob Doolittle ha scritto:
>>>> Hi,
>>>>
>>>> I'm setting up Engine for the 2nd time - the first time I answered a
configuration question wrong. So I did:
>>>>
>>>> engine-setup
>>>> engine-cleanup
>>>> engine-setup
>>>>
>>>> Things worked, until I rebooted the system. I found that postgresql would
not startup, and was failing with "could not create shared memory segment:
>>>> Invalid Argument".
>>>>
>>>> I resolved this issue by creating a file /etc/sysctl.d/10-shmmax.conf,
containing the line:
>>>> kernel.shmmax = 1000000000
>>>>
>>>> (I read somewhere that postgresql recommends setting shmmax to 1/4 of
physical memory, and I have 4GB)
>>>>
>>>> 1. Is this a known bug? If not, should I file one? If so, how do I do
that? :)
>>> Which version are you installing?
>> 3.3, on Fedora 19.
>>
>>> Can you please attach all 3 logs from above sequence (setup, cleanup,
setup)?
>>> I think something may have gone wrong on second setup execution while setting
shmmax.
>> Unfortunately I no longer have those logs.
>>
>> *However* last night I powered down my node and engine. Last night engine would
at least come up.
>>
>> Now when I boot up my engine I get the same error. So my guess is that the shmmax
setting isn't being configured in a persistent fashion somehow, or
>> is somehow reverting.
>>
>> My most recent setup log is here (I hate to send large logs to lists):
>>
https://dl.dropboxusercontent.com/u/35965416/ovirt-engine-setup-201311031...
> 2013-11-03 14:18:18 DEBUG otopi.plugins.ovirt_engine_setup.system.sysctl
plugin.execute:441 execute-output: ('/sbin/sysctl', '-n',
'kernel.shmmax')
> stdout:
> 35554432
>
> setup detected that your shmmax is already configured with a good value so it
didn't change the configuration.
> If you set above value before running setup, please retry running setup without
setting it or setting it to a value less than 35554432.
> setup will detect it's too low and will create needed configuration files for
fixing it.
Except that when the system booted postgresql failed to come up because it failed to
allocate the shm segment it wanted, and when I checked
/proc/sys/kernel/shmmax the value was much lower than that. I have again set the value in
syscfg and things are working now.
So my guess is that something is reverting the value after engine-setup has set it, or
else somehow it was not set in a persistent fashion by
engine-setup. Where is the shmmax value stored by engine-setup? Should there be a file in
/etc/syscfg.d? There was not.
the file created by engine-setup is /etc/sysctl.d/ovirt-engine.conf.
Note that the file is created by engine-setup only if shmmax is < 35554432 when
it's running.
You can run # sysctl --system and see which files are loaded:
# sysctl --system
* Applying /usr/lib/sysctl.d/00-system.conf ...
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
* Applying /usr/lib/sysctl.d/libvirtd.conf ...
fs.aio-max-nr = 1048576
* Applying /usr/lib/sysctl.d/nepomuk-inotify.conf ...
fs.inotify.max_user_watches = 524288
* Applying /etc/sysctl.d/ovirt-engine.conf ...
kernel.shmmax = 35554432
* Applying /etc/sysctl.conf ...
--
Sandro Bonazzola
Better technology. Faster innovation. Powered by community collaboration.
See how it works at