[Docs] Instance process consumes more file descriptors than default ulimit allows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Won't Fix
|
High
|
Evgeny Konstantinov | ||
Mitaka |
Fix Released
|
High
|
Alexey Stupnikov |
Bug Description
Instance process consumes more file descriptors than ulimit allows.
When instance operate with any data into ceph cluster it asks ceph monitors for crushmap for necessary object and starting to write/read specified objects into it's placement groups.
In case of connecting 10 volumes to instance that are booted from volume and actively using 10 of it your instance process can consume OSD_NUMBERS*
If you want to actively use 10 volumes attached to the 1 instance (ceph cluster contains 200 OSDs) you can calculate the necessary file descriptors numbers to place it into /etc/default/
numbers_
ulimit -Sn 30000
Huge limits are not recommended to avoid overload compute node by one instance.
summary: |
- [Docs] Instance process consumes more file descriptors than ulimit - allows + [Docs] Instance process consumes more file descriptors than default + ulimit allows |
Changed in fuel: | |
status: | New → Confirmed |
importance: | Undecided → High |
milestone: | none → 9.2 |
assignee: | Fuel Documentation Team (fuel-docs) → Evgeny Konstantinov (evkonstantinov) |
Changed in fuel: | |
status: | Confirmed → Won't Fix |
Fuel uses libvirt_mof_limit parameter to configure a limit for libvirtd. conf file is used to set this limit on
number of open files. This parameter defaults to 102400. A
/etc/init/
compute nodes.
Each connection from RBD image to OSD needs 1 file descriptor (FD)
and 2 threads. An extreme case requeres connection to all OSDs in the
cluster for every OSD. For example, if you have 50 OSDs and 4096 RBDs,
than default limit will not work for you.
On the other hand, it doesn't look like a common problem: one
shouldn't use ceph to host 4096 RBDs, an RBD wouldn't necessary
require a connection to all OSDs, an OSD cluster wouldn't necessary
have such amount of OSDs.
IMO this should be considered as a known issue.