在saltstack預設的工作模式中,minion端會將資料直接返回給mysql資料庫,這個過程中不需要master參與。由於提供更加靈活的管理,也可以在master端儲存minion端的執行結果(job cache),master 端預設的儲存位址是: /var/cache/salt/master/jobs。
job cache 在master端的配置檔案中有對應的配置引數:
#cachedir: /var/cache/salt/master 儲存的路徑
#keep_jobs: 24 儲存的時間24小時
配置job cache直接寫入資料庫
可以通過過配置,直接將master端的cache寫入資料庫。
job cache預設的表結構和salt資料庫的表結構相同,不過要是想和資料庫的互動,需要在master端安裝mysql-python:
yum install mysql-python -y修改master的配置檔案,在最後直接加上mysql的配置:
# vim /etc/salt/master
master_job_cache: mysqlmysql.host: '172.16.10.60'
mysql.user: 'salt'
mysql.pass: 'saltpw'
mysql.db: 'salt'
mysql.port: 3306
建立資料表:
create database `salt`資料庫中建立授權使用者:default character set utf8
default collate utf8_general_ci;use `salt`;---- table structure for table `jids`--drop table if exists `jids`;create table `jids` (
`jid` varchar(255) not null,
`load` mediumtext not null,
unique key `jid` (`jid`)) engine=innodb default charset=utf8;create index jid on jids(jid) using btree;---- table structure for table `salt_returns`--drop table if exists `salt_returns`;create table `salt_returns` (
`fun` varchar(50) not null,
`jid` varchar(255) not null,
`return` mediumtext not null,
`id` varchar(255) not null,
`success` varchar(10) not null,
`full_ret` mediumtext not null,
`alter_time` timestamp default current_timestamp,
key `id` (`id`),
key `jid` (`jid`),
key `fun` (`fun`)) engine=innodb default charset=utf8;---- table structure for table `salt_events`--drop table if exists `salt_events`;create table `salt_events` (`id` bigint not null auto_increment,`tag` varchar(255) not null,`data` mediumtext not null,`alter_time` timestamp default current_timestamp,`master_id` varchar(255) not null,primary key (`id`),key `tag` (`tag`)) engine=innodb default charset=utf8;
grant all on salt.* to [email protected] identified by 'saltpw';重啟salt-master:
# systemctl restart salt-master在master端執行:
# salt '*' test.ping如果沒有任何報錯,說明執行成功,可以在mysql中檢視資料是否寫入:
mariadb [salt]> use salt;select * from salt_returns\g每執行一次,就會生成兩條記錄(兩個minion).
這樣,每次執行的job cache都會返回到資料庫中。
salt 常用的管理命令:
# salt-run jobs.list_jobs 檢視歷史執行的salt job-cache任務,從目錄中去查詢,而不是從資料庫。
# salt-run jobs.lookup_jid 20161124144637116519 檢視某個任務的執行結果
檢視當前minion的狀態:
# salt-run manage.status
檢視處於down狀態的minion:
# salt-run manage-down
檢視處於up狀態的minion:
# salt-run manage-up
檢視版本資訊:
# salt-run manage.versions
在執行的時候返回jid,加 -v引數:
# salt '*' test.run -v
LVS之VS NAT搭建web集群實戰!!!
專案背景 利用lvs的vs nat技術實現乙個由負載排程器和兩個web伺服器組成的架構!試驗環境 vmware workstation 11 centos6.5的系統下 load balance ip 192.168.0.32 vip 192.168.1.32 關閉iptables setenfor...
用 KVM 搭建web集群實驗筆記 環境準備
本系列文章是自己的kvm 和linux web集群實驗筆記。目標是用kvm虛擬機器搭建乙個完整的web集群 將工作中用到的 書上看到的和網上看到的技術,在虛擬機器環境下實現一遍,並整理記錄下來。宿主機選擇的centos 6.6 64位,安裝圖形介面。客戶機的作業系統也選擇centos 6.6,min...
redis搭建集群(偽集群)
1 建立6個資料夾 2 複製redis.conf檔案,並修改redis.conf 配置檔案 3 建立集群 4 連線客戶端 5 檢視狀態 建立 6個資料夾來存放redis.conf,因為redis集群最小需要的是,三組三從,每個資料夾代表一台伺服器,6007跟6008可忽略 先複製乙個到6001資料夾...