MANAGING THE JOB CACHE
The Salt Master maintains a job cache of all job executions which can be queried via the jobs runner. This job cache is called the Default Job Cache.
Salt Master维护所有作业执行的作业缓存,可以通过作业执行器查询。此作业缓存称为默认作业缓存。
default job cache
A number of options are available when configuring the job cache. The default caching system uses local storage on the Salt Master and can be found in the job cache directory (on Linux systems this is typically /var/cache/salt/master/jobs
). The default caching system is suitable for most deployments as it does not typically require any further configuration or management.
配置作业缓存时可使用多种选项。默认缓存系统使用salt Master上的本地存储,并且可以在作业缓存目录中找到(在Linux系统上,这通常是 /var/cache/salt/master/jobs
)。默认的缓存系统适用于大多数部署,因为它通常不需要任何进一步的配置或管理。
The default job cache is a temporary cache and jobs will be stored for 24 hours. If the default cache needs to store jobs for a different period the time can be easily adjusted by changing the keep_jobs parameter in the Salt Master configuration file. The value passed in is measured via hours:
默认作业缓存是临时缓存,作业将被存储24小时。如果缺省缓存需要存储不同时期的作业,则可以通过更改Salt Master配置文件中的keep_jobs参数来很容易地调整时间。通过时间测量的值通过:
keep_jobs: 24
reducing the size of the default job cache
The Default Job Cache can sometimes be a burden on larger deployments (over 5000 minions). Disabling the job cache will make previously executed jobs unavailable to the jobs system and is not generally recommended. Normally it is wise to make sure the master has access to a faster IO system or a tmpfs is mounted to the jobs dir.
默认的作业缓存有时会对更大的部署(超过5000个任务)造成负担。禁用作业缓存将使以前执行的作业对作业系统不可用,通常不推荐。通常情况下,确保master能够访问更快的IO系统,或者将tmpfs 安装到job dir上是明智的。
However, you can disable the job_cache
by setting it to False
in the Salt Master configuration file. Setting this value to False
means that the Salt Master will no longer cache minion returns, but a JID directory and jid
file for each job will still be created. This JID directory is necessary for checking for and preventing JID collisions.
但是,可以通过在Salt Master配置文件中将其设置为false来禁用job_cache
。将此值设置为false意味着Salt Master将不再缓存minion返回,但仍将创建每个作业的JID目录和JID文件。这个JID目录是检查和防止JID冲突所必需的。
The default location for the job cache is in the /var/cache/salt/master/jobs/
directory.
作业缓存的默认位置在/var/cache/salt/master/jobs/目录。
Setting the job_cache`
to False
in addition to setting the keep_jobs
option to a smaller value, such as 1
, in the Salt Master configuration file will reduce the size of the Default Job Cache, and thus the burden on the Salt Master.
除了将 keep_jobs
作业选项设置为较小的值(如1),在Salt Master 配置文件中设置 job_cache 为False,将减少默认作业缓存的大小,从而减轻 Salt Master 服务器的负担。
注意: Changing the keep_jobs option sets the number of hours to keep old job information and defaults to 24 hours. Do not set this value to 0 when trying to make the cache cleaner run more frequently, as this means the cache cleaner will never run. 更改 keep_jobs 选项设置了将旧作业信息和默认值保持为24小时的小时数。当试图使缓存清洁器更频繁地运行时,不要将此值设置为0,因为这意味着缓存清洁器将永远不会运行。
ADDITIONAL JOB CACHE OPTIONS
Many deployments may wish to use an external database to maintain a long term register of executed jobs. Salt comes with two main mechanisms to do this, the master job cache and the external job cache.
许多部署可能希望使用外部数据库来维护已执行作业的长期注册。salt有两种主要的机制来完成这一工作:master job cache 和 external job cache。