系统初始化:
1、系统初始化也就是系统优化,下面简单的给系统做系统优化。比如:修改/proc/sys/fs/file-max 、/proc/sys/vm/swappiness 、/proc/sys/net/ipv4/ip_local_port_range
2.创建saltstack初始化目录也是层层依赖关系,认真的看即可知道。
以下全是在master上操作:
首先:
[root@salt-master ~]# egrep -v "^#|^$" /etc/salt/master
file_roots:
base:
- /srv/salt/base
test:
- /srv/salt/test
prod:
- /srv/salt/prod
[root@salt-master ~]# systemctl restart salt-master
我们将系统的每个节点都进行一定的系统初始化设定,如dns、history命令记录、系统内核参数设定等。首先,进入salt的base环境,我们所有的系统设定都在此环境下进行设定。
[root@salt-master ~]# cd /srv/salt/base/
[root@salt-master base]# mkdir -p /srv/salt/base/init/files
[root@salt-master base]# mv apache.sls dns.sls files/ /tmp/ #将上节的那些测试文件mv到其他目录,使初始化的目录尽量清晰。
[root@salt-master base]# ls #只留这两个东东
init top.sls
[root@salt-master ~]# cp /etc/resolv.conf /srv/salt/base/init/files/
配置各个节点dns解析:
[root@salt-master ~]# cat /srv/salt/base/init/dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://init/files/resolv.conf
- user: root
- group: root
- mode: 644
使各个节点history命令都记录时间:
[root@salt-master init]# cat history.sls
/etc/profile:
file.append:
- text:
- export HISTTIMEFORMAT="%F %T 'whoami'"
注:file模块通过append追加方式写入环境变量中
审计sls文件,将每个用户的命令都记录到/var/log/message文件中:
[root@salt-master init]# cat audit.sls #记录敲的命令时间
/etc/bashrc:
file.append:
- text:
- export PROMPT_COMMAND='{ msg=$(history 1 | { read x y ; echo $y ;});logger "[euid=$(whoami)]":$(who am i):[`pwd`]" $msg";}
对节点的系统内核参数设定:
[root@salt-master ~]# cat /srv/salt/base/init/sysctl.sls
vm.swappiness:
sysctl.present:
- value: 0
net.ipv4.ip_local_port_range:
sysctl.present:
- value: 10000 65000
fs.file-max:
sysctl.present:
- value: 100000
分别书这三个文件
[root@salt-master ~]# cat /proc/sys/vm/swappiness
30改成0
[root@salt-master ~]# cat /proc/sys/fs/file-max
19127改成100000
[root@salt-master ~]# cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999 改成10000 65000
引导以上各个功能模块:
[root@salt-master ~]# cat /srv/salt/base/init/env_init.sls
include:
- init.dns
- init.history
- init.audit
- init.sysctl
注:通过include进行模块引用
编写top file文件:
[root@salt-master base]# cat /srv/salt/base/top.sls #引用/srv/salt/base/init/env_init.sls 文件
base:
'*':
- init.env_init
[root@salt-master ]# salt '*' state.highstate test=True #先测试<===注:test=True模拟执行方式===================================================================================================
salt-master.2018.com:
----------
ID: /etc/resolv.conf
Function: file.managed
Result: True
Comment: The file /etc/resolv.conf is in the correct state
Started: 07:32:57.487344
Duration: 405.121 ms
Changes:
----------
ID: /etc/profile
Function: file.append
Result: None
Comment: File /etc/profile is set to be updated
Started: 07:32:57.892719
Duration: 4.878 ms
Changes:
----------
diff:
---
+++
@@ -74,3 +74,4 @@
unset i
unset -f pathmunge
+export HISTTIMEFORMAT="%F %T 'whoami'"
----------
ID: /etc/bashrc
Function: file.append
Result: None
Comment: File /etc/bashrc is set to be updated
Started: 07:32:57.897715
Duration: 3.657 ms
Changes:
----------
diff: