實際工做中可能會有現網環境,基線環境,開發環境。 須要使用saltstack統一管理。機器多了,業務多了,可能配置文件存放的會比較亂,所以能夠統一管理起來apache
# Example: # file_roots: # base: # - /srv/salt/ # dev: # - /srv/salt/dev/services # - /srv/salt/dev/states # prod: # - /srv/salt/prod/services # - /srv/salt/prod/states # file_roots: base: - /srv/salt/base test: - /srv/salt/test prod: - /srv/salt/prod
重啓服務讓配置生效,建立目錄,調整原先的配置文件到新的base目錄下vim
[root@master pillar]# /etc/init.d/salt-master restart Stopping salt-master daemon: [ OK ] Starting salt-master daemon: [ OK ] [root@master pillar]# mkdir /srv/salt/base -p [root@master pillar]# mkdir /srv/salt/test -p [root@master pillar]# mkdir /srv/salt/prod -p [root@master pillar]# cd /srv/salt/ [root@master salt]# ls apache.sls base prod test top.sls [root@master salt]# mv apache.sls base/ [root@master salt]# mv top.sls base/ [root@master salt]# ll total 12 drwxr-xr-x 2 root root 4096 Jan 1 19:33 base drwxr-xr-x 2 root root 4096 Jan 1 19:32 prod drwxr-xr-x 2 root root 4096 Jan 1 19:32 test [root@master salt]#
對minion的dns文件進行統一管理數組
先在base目錄下建立個files目錄,專門存放文件,這裏給這個dns文件追加個不同的東西,便於標識bash
[root@master salt]# cd /srv/salt/base/ [root@master base]# mkdir files [root@master base]# cd files/ [root@master files]# ls [root@master files]# cp /etc/resolv.conf . [root@master files]# ls resolv.conf [root@master files]# cat resolv.conf # Generated by NetworkManager nameserver 10.0.1.11 [root@master files]# echo "#create by zyx" >> resolv.conf [root@master files]# cat resolv.conf # Generated by NetworkManager nameserver 10.0.1.11 #create by zyx [root@master files]#
編輯配置文件,用於管理這個dns文件給minion,須要進行一些配置,存放的路徑,來源,權限,數組等 服務器
注意下面兩種寫法等價的 app
[root@master files]# cd .. [root@master base]# pwd /srv/salt/base [root@master base]# vim dns.sls [root@master base]# cat dns.sls /etc/resolv.conf: file.managed: - source: salt://files/resolv.conf - user: root - group: root - mode: 644 [root@master base]#
等價於下面的,默認你沒有定義name的話,salt會把id當成name的默認值,下面的resolv-file是個id,隨便定義,只要惟一便可測試
[root@master base]# cat dns.sls resolv-file: file.managed: - source: salt://files/resolv.conf - name: /etc/resolv.conf - user: root - group: root - mode: 644 [root@master base]#
執行一下,能夠看到Changes的變化的部分ui
[root@master base]# salt 'minion01' state.sls dns minion01: ---------- ID: resolv-file Function: file.managed Name: /etc/resolv.conf Result: True Comment: File /etc/resolv.conf updated Started: 19:53:15.932376 Duration: 11.4 ms Changes: ---------- diff: --- +++ @@ -1,2 +1,3 @@ # Generated by NetworkManager nameserver 10.0.1.11 +#create by zyx Summary ------------ Succeeded: 1 (changed=1) Failed: 0 ------------ Total states run: 1 [root@master base]#
去minion01上驗證下,沒問題this
[root@minion01 ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 10.0.1.11 #create by zyx [root@minion01 ~]#
再把配置文件改爲以下內容,對minion02執行操做spa
[root@master base]# cat dns.sls /etc/resolv.conf: file.managed: - source: salt://files/resolv.conf - user: root - group: root - mode: 644 [root@master base]# salt 'minion02' state.sls dns minion02: ---------- ID: /etc/resolv.conf Function: file.managed Result: True Comment: File /etc/resolv.conf updated Started: 19:57:27.628894 Duration: 13.128 ms Changes: ---------- diff: --- +++ @@ -1,2 +1,3 @@ # Generated by NetworkManager nameserver 10.0.1.11 +#create by zyx Summary ------------ Succeeded: 1 (changed=1) Failed: 0 ------------ Total states run: 1 [root@master base]#
以前講了top.sls,這個入口文件,咱們還能夠經過這個入口文件進行管理
這個也叫經過高級狀態管理
[root@master base]# ls
apache.sls dns.sls files top.sls
[root@master base]# echo "#second" >> files/resolv.conf
[root@master base]# cat files/resolv.conf
# Generated by NetworkManager
nameserver 10.0.1.11
#create by zyx
#second
[root@master base]# vim top.sls
[root@master base]# cat top.sls
base:
'*':
- dns
[root@master base]# salt 'minion02' state.highstate
minion02:
----------
ID: /etc/resolv.conf
Function: file.managed
Result: True
Comment: File /etc/resolv.conf updated
Started: 20:00:17.814797
Duration: 19.636 ms
Changes:
----------
diff:
---
+++
@@ -1,3 +1,4 @@
# Generated by NetworkManager
nameserver 10.0.1.11
#create by zyx
+#second
Summary
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
[root@master base]#
之後對現網管理的話,能夠把它們分類,這樣針對哪臺機器須要安裝或者配置什麼東西時,把配置文件include進來便可。下降模塊之間的耦合性。更加靈活和方便
能夠分爲:
系統初始化
功能模塊
業務模塊
另外配置文件中語法格式要嚴格遵照YAML語法規則。
在平常管理中,有時候會遇到這種狀況,對A機器某個文件管理,好比此文件中有一處的配置不固定,好比端口號或者IP
A機器多是80端口,可能過幾天須要使用8080端口,而咱們每次去更改源文件比較麻煩,咱們此時能夠經過使用jinja模板把變化的部分用變量代替
而後,在配置管理文件裏面定義此變量的值。
例如,dns服務器的IP常常發生變化。
先修改源文件,把原先的值的部分用變量代替
而後修改配置管理文件,聲明使用jinja模板,同時設置變量的值,以下,爲了加以區分,咱們把dns值設置爲10.0.1.111
[root@master files]# cat resolv.conf # Generated by NetworkManager nameserver {{ DNS_SERVER }} #create by zyx
#third [root@master files]# pwd /srv/salt/base/files [root@master files]# cd .. [root@master base]# vim dns.sls [root@master base]# cat dns.sls /etc/resolv.conf: file.managed: - source: salt://files/resolv.conf - user: root - group: root - mode: 644 - template: jinja - defaults: DNS_SERVER: 10.0.1.111 [root@master base]#
關於jinja的用法
執行測試下
[root@master base]# salt 'minion02' state.highstate minion02: ---------- ID: /etc/resolv.conf Function: file.managed Result: True Comment: File /etc/resolv.conf updated Started: 20:21:10.739601 Duration: 12.108 ms Changes: ---------- diff: --- +++ @@ -1,4 +1,4 @@ # Generated by NetworkManager -nameserver {{ DNS_SERVER }} +nameserver 10.0.1.111 #create by zyx #third Summary ------------ Succeeded: 1 (changed=1) Failed: 0 ------------ Total states run: 1 [root@master base]#
在minion02上驗證下,ok
[root@minion02 ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 10.0.1.111 #create by zyx #third [root@minion02 ~]#
以上就是配置管理結合jinja的用法
好比咱們把系統信息加入到minion上
[root@master base]# salt '*' grains.get os minion01: CentOS minion02: CentOS [root@master base]#
以下操做,把須要更換的地方寫成jinja模板形式的grains變量,而後執行
[root@master base]# cat files/resolv.conf # Generated by NetworkManager nameserver {{ DNS_SERVER }} #create by zyx #{{ grains['os'] }} [root@master base]# salt 'minion02' state.highstate minion02: ---------- ID: /etc/resolv.conf Function: file.managed Result: True Comment: File /etc/resolv.conf updated Started: 20:26:12.450712 Duration: 32.907 ms Changes: ---------- diff: --- +++ @@ -1,4 +1,4 @@ # Generated by NetworkManager nameserver 10.0.1.111 #create by zyx -#third +#CentOS Summary ------------ Succeeded: 1 (changed=1) Failed: 0 ------------ Total states run: 1 [root@master base]#
minion02上驗證確認下,沒問題,系統信息加進來了
[root@minion02 ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 10.0.1.111 #create by zyx #CentOS [root@minion02 ~]#
對於一臺機器的管理,能夠分解爲3部分,從下到上依次爲
系統初始化,功能模塊,業務模塊
再次對咱們的base目錄進行改造
base基礎目錄下,init目錄用於存放系統初始化的東西
在init下面創建files文件夾用於存放源文件類的東西,top.sls入口文件不用動,它須要在base目錄下
[root@master base]# cd /srv/salt/base/ [root@master base]# ls apache.sls dns.sls files top.sls [root@master base]# mkdir init [root@master base]# mv dns.sls init/ [root@master base]# mv files/ init/ [root@master base]# ls apache.sls init top.sls [root@master base]# mv apache.sls init/ [root@master base]# ls init top.sls [root@master base]# tree
一、配置好dns相關的東西
[root@master init]# rm -f apache.sls [root@master init]# ls dns.sls files [root@master init]# vim dns.sls [root@master init]# cat dns.sls /etc/resolv.conf: file.managed: - source: salt://init/files/resolv.conf - user: root - group: root - mode: 644 [root@master init]# vim files/resolv.conf [root@master init]# cat files/resolv.conf # Generated by NetworkManager nameserver 10.0.1.11 #create by zyx [root@master init]# pwd /srv/salt/base/init [root@master init]#
二、關於系統初始化,可能咱們還想讓history命令顯示時間和用戶,經過修改環境變量能達到要求
export HISTTIMEFORMAT="%F %T `whoami`"
[root@master init]# history | tail 613 rm -f apache.sls 614 ls 615 vim dns.sls 616 cat dns.sls 617 vim files/resolv.conf 618 cat files/resolv.conf 619 pwd 620 history | tail 621 export HISTTIMEFORMAT="%F %T `whoami` 622 history | tail [root@master init]# export HISTTIMEFORMAT="%F %T `whoami`" [root@master init]# history | tail 615 2017-01-01 21:20:26 root vim dns.sls 616 2017-01-01 21:20:59 root cat dns.sls 617 2017-01-01 21:21:05 root vim files/resolv.conf 618 2017-01-01 21:21:24 root cat files/resolv.conf 619 2017-01-01 21:21:40 root pwd 620 2017-01-01 21:23:11 root history | tail 621 2017-01-01 21:23:14 root export HISTTIMEFORMAT="%F %T `whoami` 622 2017-01-01 21:23:34 root history | tail 623 2017-01-01 21:23:37 root export HISTTIMEFORMAT="%F %T `whoami` " 624 2017-01-01 21:23:39 root history | tail [root@master init]#
咱們把它變成配置文件能夠管理的方式,新建一個sls文件,用於管理歷史命令
[root@master init]# pwd /srv/salt/base/init [root@master init]# vim history.sls [root@master init]# cat history.sls /etc/profile: file.append: - text: - export HISTTIMEFORMAT="%F %T `whoami`" [root@master init]#
[root@master ~]# logger hehe [root@master ~]# tail -1 /var/log/messages Jan 1 21:35:13 master root: hehe [root@master ~]#
logger命令能把東西記錄到messages裏面
[root@master init]# echo $(whoami) root [root@master init]# echo $(who am i) root pts/0 2017-01-01 14:04 (10.0.1.53) [root@master init]#
[root@master init]# w 21:28:59 up 2 days, 6:24, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.0.1.53 14:04 0.00s 0.68s 0.00s w root pts/1 10.0.1.53 16:14 1:33m 0.01s 0.01s -bash [root@master init]# tail -3 /var/log/messages Jan 1 03:24:01 master rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="1807" x-info="http://www.rsyslog.com"] rsyslogd was HUPed Jan 1 07:59:59 master kernel: Clock: inserting leap second 23:59:60 UTC Jan 1 08:00:00 master ntpd[2197]: 0.0.0.0 061b 0b leap_event [root@master init]# export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' [root@master init]# w 21:29:12 up 2 days, 6:24, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.0.1.53 14:04 0.00s 0.69s 0.00s w root pts/1 10.0.1.53 16:14 1:33m 0.01s 0.01s -bash [root@master init]# tail -3 /var/log/messages Jan 1 08:00:00 master ntpd[2197]: 0.0.0.0 061b 0b leap_event Jan 1 21:29:10 master root: [euid=root]:root pts/0 2017-01-01 14:04 (10.0.1.53):[/srv/salt/base/init]2017-01-01 21:29:10 root export PROMPT_COMMAND='{ msg=$(history 1 |
{ read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' Jan 1 21:29:12 master root: [euid=root]:root pts/0 2017-01-01 14:04 (10.0.1.53):[/srv/salt/base/init]2017-01-01 21:29:12 root w [root@master init]#
經過配置文件管理,以下書寫
[root@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@master init]#
直接vim /etc/sysctl 這個文件不是特別好的方法 由於下面這些機器的好比下面參數是根據本身的內存自動生成的,確定不會是全部機器同樣 直接修改這個文件不是特別好,可是能夠往裏面加東西
先查看下minion01的內核一些當前信息
[root@master ~]# cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 [root@master ~]# cat /proc/sys/fs/file-max 199704 [root@master ~]#
在master上編輯一個修改內核參數的配置文件
[root@master init]# cat 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@master init]#
五、對以上配置管理文件進行統一管理
再寫個sls,把上面這些文件全包含進去,這樣的好處在於咱們沒必要把全部初始化的文件都寫在一個配置文件裏,不方便管理,耦合性過高也容易出錯
[root@master init]# cat env_init.sls include: - init.dns - init.history - init.audit - init.sysctl [root@master init]# ll total 24 -rw-r--r-- 1 root root 173 Jan 1 21:39 audit.sls -rw-r--r-- 1 root root 131 Jan 1 21:20 dns.sls -rw-r--r-- 1 root root 70 Jan 1 22:00 env_init.sls drwxr-xr-x 2 root root 4096 Jan 1 21:21 files -rw-r--r-- 1 root root 88 Jan 1 21:25 history.sls -rw-r--r-- 1 root root 174 Jan 1 21:55 sysctl.sls [root@master init]#
編輯top.sls文件
[root@master init]# cd .. [root@master base]# pwd /srv/salt/base [root@master base]# ls init top.sls [root@master base]# vim top.sls [root@master base]# cat top.sls base: '*': - init.env_init [root@master base]#
先模擬執行下,它不會實際執行,可是會檢測一些配置文件語法,以及目錄是否存在,很是推薦
salt '*' state.highstate test=True
以下先測試執行
[root@master base]# salt '*' state.highstate test=True minion01: ---------- ID: /etc/resolv.conf Function: file.managed Result: True Comment: The file /etc/resolv.conf is in the correct state Started: 22:05:48.111142 Duration: 7.639 ms Changes: ---------- ID: /etc/profile Function: file.append Result: None Comment: File /etc/profile is set to be updated Started: 22:05:48.118875 Duration: 1.63 ms Changes: ---------- diff: --- +++ @@ -77,3 +77,4 @@ unset i unset -f pathmunge alias grep='grep --colour=auto' +export HISTTIMEFORMAT="%F %T `whoami`" ---------- ID: /etc/bashrc Function: file.append Result: None Comment: File /etc/bashrc is set to be updated Started: 22:05:48.120587 Duration: 2.44 ms Changes: ---------- diff: --- +++ @@ -84,3 +84,4 @@ unset pathmunge fi # vim:ts=4:sw=4 +export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' ---------- ID: vm.swappiness Function: sysctl.present Result: None Comment: Sysctl option vm.swappiness set to be changed to 0 Started: 22:05:48.141832 Duration: 16.828 ms Changes: ---------- ID: net.ipv4.ip_local_port_range Function: sysctl.present Result: None Comment: Sysctl option net.ipv4.ip_local_port_range set to be changed to 10000 65000 Started: 22:05:48.158827 Duration: 18.668 ms Changes: ---------- ID: fs.file-max Function: sysctl.present Result: None Comment: Sysctl option fs.file-max set to be changed to 100000 Started: 22:05:48.177674 Duration: 14.656 ms Changes: Summary ------------ Succeeded: 6 (unchanged=5, changed=2) Failed: 0 ------------ Total states run: 6 minion02: ---------- ID: /etc/resolv.conf Function: file.managed Result: None Comment: The file /etc/resolv.conf is set to be changed Started: 22:05:48.134972 Duration: 12.997 ms Changes: ---------- diff: --- +++ @@ -1,4 +1,3 @@ # Generated by NetworkManager -nameserver 10.0.1.111 +nameserver 10.0.1.11 #create by zyx -#CentOS ---------- ID: /etc/profile Function: file.append Result: None Comment: File /etc/profile is set to be updated Started: 22:05:48.148060 Duration: 1.399 ms Changes: ---------- diff: --- +++ @@ -77,3 +77,4 @@ unset i unset -f pathmunge alias grep='grep --colour=auto' +export HISTTIMEFORMAT="%F %T `whoami`" ---------- ID: /etc/bashrc Function: file.append Result: None Comment: File /etc/bashrc is set to be updated Started: 22:05:48.149538 Duration: 2.107 ms Changes: ---------- diff: --- +++ @@ -84,3 +84,4 @@ unset pathmunge fi # vim:ts=4:sw=4 +export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' ---------- ID: vm.swappiness Function: sysctl.present Result: None Comment: Sysctl option vm.swappiness set to be changed to 0 Started: 22:05:48.160959 Duration: 18.914 ms Changes: ---------- ID: net.ipv4.ip_local_port_range Function: sysctl.present Result: None Comment: Sysctl option net.ipv4.ip_local_port_range set to be changed to 10000 65000 Started: 22:05:48.180074 Duration: 19.039 ms Changes: ---------- ID: fs.file-max Function: sysctl.present Result: None Comment: Sysctl option fs.file-max set to be changed to 100000 Started: 22:05:48.199277 Duration: 24.507 ms Changes: Summary ------------ Succeeded: 6 (unchanged=6, changed=3) Failed: 0 ------------ Total states run: 6 [root@master base]#
測試沒有報錯,再執行,執行成功
[root@master base]# salt '*' state.highstate minion02: ---------- ID: /etc/resolv.conf Function: file.managed Result: True Comment: File /etc/resolv.conf updated Started: 22:14:43.627474 Duration: 10.609 ms Changes: ---------- diff: --- +++ @@ -1,4 +1,3 @@ # Generated by NetworkManager -nameserver 10.0.1.111 +nameserver 10.0.1.11 #create by zyx -#CentOS ---------- ID: /etc/profile Function: file.append Result: True Comment: Appended 1 lines Started: 22:14:43.638288 Duration: 1.464 ms Changes: ---------- diff: --- +++ @@ -77,3 +77,4 @@ unset i unset -f pathmunge alias grep='grep --colour=auto' +export HISTTIMEFORMAT="%F %T `whoami`" ---------- ID: /etc/bashrc Function: file.append Result: True Comment: Appended 1 lines Started: 22:14:43.639836 Duration: 2.311 ms Changes: ---------- diff: --- +++ @@ -84,3 +84,4 @@ unset pathmunge fi # vim:ts=4:sw=4 +export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' ---------- ID: vm.swappiness Function: sysctl.present Result: True Comment: Updated sysctl value vm.swappiness = 0 Started: 22:14:43.642987 Duration: 20.94 ms Changes: ---------- vm.swappiness: 0 ---------- ID: net.ipv4.ip_local_port_range Function: sysctl.present Result: True Comment: Updated sysctl value net.ipv4.ip_local_port_range = 10000 65000 Started: 22:14:43.664127 Duration: 29.233 ms Changes: ---------- net.ipv4.ip_local_port_range: 10000 65000 ---------- ID: fs.file-max Function: sysctl.present Result: True Comment: Updated sysctl value fs.file-max = 100000 Started: 22:14:43.693544 Duration: 57.214 ms Changes: ---------- fs.file-max: 100000 Summary ------------ Succeeded: 6 (changed=6) Failed: 0 ------------ Total states run: 6 minion01: ---------- ID: /etc/resolv.conf Function: file.managed Result: True Comment: File /etc/resolv.conf is in the correct state Started: 22:14:43.624330 Duration: 7.383 ms Changes: ---------- ID: /etc/profile Function: file.append Result: True Comment: Appended 1 lines Started: 22:14:43.631814 Duration: 1.944 ms Changes: ---------- diff: --- +++ @@ -77,3 +77,4 @@ unset i unset -f pathmunge alias grep='grep --colour=auto' +export HISTTIMEFORMAT="%F %T `whoami`" ---------- ID: /etc/bashrc Function: file.append Result: True Comment: Appended 1 lines Started: 22:14:43.633859 Duration: 2.36 ms Changes: ---------- diff: --- +++ @@ -84,3 +84,4 @@ unset pathmunge fi # vim:ts=4:sw=4 +export PROMPT_COMMAND='{ msg=$(history 1 | { read x y;echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }' ---------- ID: vm.swappiness Function: sysctl.present Result: True Comment: Updated sysctl value vm.swappiness = 0 Started: 22:14:43.637105 Duration: 22.344 ms Changes: ---------- vm.swappiness: 0 ---------- ID: net.ipv4.ip_local_port_range Function: sysctl.present Result: True Comment: Updated sysctl value net.ipv4.ip_local_port_range = 10000 65000 Started: 22:14:43.660304 Duration: 26.502 ms Changes: ---------- net.ipv4.ip_local_port_range: 10000 65000 ---------- ID: fs.file-max Function: sysctl.present Result: True Comment: Updated sysctl value fs.file-max = 100000 Started: 22:14:43.686990 Duration: 57.781 ms Changes: ---------- fs.file-max: 100000 Summary ------------ Succeeded: 6 (changed=5) Failed: 0 ------------ Total states run: 6 [root@master base]#
在minion上驗證測試,因爲涉及到環境變量的更改,須要斷開終端從新鏈接
測試沒問題
[root@minion01 ~]# history | tail 293 2017-01-01 22:16:21 rootrpm -qa httpd 294 2017-01-01 22:16:21 rootrpm -qa httpd-devel 295 2017-01-01 22:16:21 rootchkconfig --list httpd 296 2017-01-01 22:16:21 rootps -ef |grep yum 297 2017-01-01 22:16:21 rootps -ef | grep httpd 298 2017-01-01 22:16:21 rootsalt --version 299 2017-01-01 22:16:21 rootsalt-call --version 300 2017-01-01 22:16:21 rootsalt-minion --version 301 2017-01-01 22:16:21 rootcat /etc/resolv.conf 302 2017-01-01 22:16:21 roothistory | tail [root@minion01 ~]# tail -1 /var/log/messages Jan 1 22:16:23 minion01 root: [euid=root]:root pts/0 2017-01-01 22:16 (10.0.1.53):[/root]2017-01-01 22:16:21 roothistory | tail [root@minion01 ~]# cat /proc/sys/net/ipv4/ip_local_port_range 10000 65000 [root@minion01 ~]# cat /proc/sys/fs/file-max 100000 [root@minion01 ~]#
上面內核的修改,不只直接生效了,在配置文件裏也變動了
[root@minion01 ~]# tail -3 /etc/sysctl.conf vm.swappiness = 0 net.ipv4.ip_local_port_range = 10000 65000 fs.file-max = 100000 [root@minion01 ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 10.0.1.11 #create by zyx [root@minion01 ~]#