rebuilddb at Facebook scale
summary
Facebook-scale CentOS 7 fleet runs Chef every 30 minutes with about 200 engineers constantly installing packages, causing rpm/yum to be killed mid-transaction, produce zero-byte files, duplicate packages and missing shared libs across hundreds or thousands of hosts. Aggressive automatic rebuilds of rpmdb create hundreds of locked rpm processes, so a custom tool dcrpm rewritten in Python runs on every Chef run to detect and repair RPM DBs. New backends nDB and LMDB are backported and tested at limited scale and prove far more resilient than BDB, informing a possible move to DNF.
AI-written summary · about
chapters (6)
- 0:00Introduction and context
- 2:16Chef deployment at Facebook
- 6:48RPM database issues at scale
- 8:58Introducing DC RPM
- 11:34New RPM database backends
- 13:47Future plans with DNF
related talks
43mWhat's new with CentOS at Facebook
41mSpeeding up DNF and RPM using Copy on Write
36mCentOS Stream at Facebook
36mLinux Kernel Building, Testing, and Deployment at Facebook
54mStill packaging like it's 1999?
50mUpgrading CentOS on the Facebook fleet
27mKernel Upgrades at
20mFuture of the DNF package management stack
