第六周筆記

DAY27

一、知識點回顧

1、網絡?

? 1、 傳輸介質

? 2、 硬件

2、兩臺主機之間進行通信?

3、交換網絡(局域網內 多臺計算機之間通訊)

? 交換機的原理(2層網絡? 數據鏈路層? MAC---->表)

? ? ? ? |----->主機-----MAC地址

? 廣播風暴的問題

? ? ? |--->降低 減輕?

? 1、路由器的概念? ?

? 2、子網掩碼(劃分)

? ? 交換網絡中的數據格式

? ? 源信息(MAC地址)+目地信息(MAC地址)+數據內容 = 數據格式

? ARP?

4、局域網和局域網之間計算機之間的通訊(路由器? 3級網絡設備)

? 路由器的概念

? 路由器的工作原理

? ? ? ? |---->主機 ----IP地址

? 路由表

? ? ? ? |---->靜態? 優點? ? 大型? 快? ? 專業人士

? ? ? ? |---->動態? 優點 小型? 慢? ? 一般

5、TCP/IP協議名詞解釋

? IP協議

? TCP協議

? UDP協議

? ICMP協議

? DNS協議

? ARP協議


6、OSI和TCP/IP模型

? ? 7層? ? 5(4)層

7.TCP/IP協議名詞解釋

? TCP/IP協議的報文格式

? TCP/IP協議的C/S 建立連接 3次握手的過程

? TCP/IP協議的C/S 斷開連接 4次揮手的過程

? TCP/IP協議的C/S 建立連接 3次握手的過程 狀態轉換

? TCP/IP協議的C/S 斷開連接 4次揮手的過程 狀態轉換


8、IP地址

? 分類? A B C? D? E

? ? ? C類? 面試? C類地址? ? 192.168.0.x? x主機位

? D類? 組播

? 特殊的IP地址

? 0.0.0.0? 沒有意思

? 192.168.0.0 沒有? -1?

? 192.168.0.255 廣播地址 -1

? 192.168.0.254 網關地址 -1

? (網關地址 有可能是192.168.0.1 也有 192.168.0.254)

? 127.0.0.1

? 等


9.子網掩碼

? 255.255.255.0? C類

? 255.255.0.0?

? 255.0.0.0?


10、網絡劃分

? 1.C類網絡中? 192.168.0.100? 50臺主機 劃分網絡 計算子網掩碼。 2^n-3 公式






二、靜態路由項目

1、網絡中比較重要的協議

? 1、DNS 域名解析協議

? ? ? ARP? 交換機? 主機-----MAC地址

? ? ? 路由器? 主機-----IP地址

? DNS域名 域名-----IP地址

? 2、47.75.85.161 域名

? ? ? www. baidu.com


? 3、購買自己的一個域名

? ? ? 區塊鏈公司? 買域名? BTCVC? ZB.COM? ?

? 根域名服務器? 大多是在國外? 美國居多? 日本 英國等? 13臺

? 頂級域名服務器?

? ? ? com? ? ? ? ? ? cn? ? ? ? ? org? ? edu? 等

? 公司商業組織? ? 地區中國? ?

? 萬網

? ? ? .vip


? bj_liyanliang@163.com


? ? ? 阿里云為例

? ? ? A記錄? WWW 網站? www.baidu.com? 記錄值? IP地址? 47.75.80.160?

? ? ? DNS優化? 阿里云加速

? ? ? ? ? ? ? 百度云加速? css? js? html 預加載到服務器上 CDN 加速



2、企業真實的需求

? 1、HOSTS文件

? 2、內網DNS服務器

? ? ? Linux服務器 DNS

? ? ? 1、本地服務器解析 www.baidu.com

? 2、轉發器

? ? ? |----->主路由---->DNS---->公網IP DNS---->域名? 實現外網的訪問。

? Windows Server 2008R2

3、常見的網絡命令

3.1 ping 命令

? ? ping 域名 DNS問題

? ping www.baidu.com? 無應答 DNS沒有配置? DNS有問題

ping 公網IP? ?

? ? 47.75.80.160

ping? 網關

? 192.168.1.1


3.2 iftop監控網絡流量用的

? ? Linux服務器下用的 第三方的命令

yum install iftop -y

4、企業網絡出現問題的排查流程

? 第一步 檢查硬件? 網卡(燈)? 網線(水晶頭)_路由器(WAN LAN) 交換機

? ? ? ? ? 交換法

? ? |--->網線

? ? 網卡

? 第二步 Ping 網關(路由)

? 第三步 公網IP?

? 第四步 DNS

? 第五步 Ping 自己服務器地址

5、靜態路由項目

? 1、準備3臺虛擬機

? ? 第一臺一塊網卡? 10.0.0.11

第二臺二塊網卡? 10.0.0.12? 192.168.0.12

第三臺一塊網卡? 192.168.0.13

? 2、在第一臺主機

? ? 從主機一10.0.0.11----->主機2---->192.168.0.12

跨網段訪問

2.1 不認識

? ? 添加一條靜態的路由信息

route add -net 192.168.0.0/24 gw 10.0.0.12

route -n 查看路由表

ping 192.168.0.12 通了

? ? 2.2 看看192.168.0.13能不能通

? ? 10.0.0.11需要 10.0.0.12轉發

192.168.0.13 需要 192.168.0.12進行轉發

192.168.0.12

10.0.0.12? ? 主機2? 信息跟主機2沒關系

echo “net.ipv4.ip_forward=1”>>/etc/sysctl.conf

sysctl -p

DAY28

1、為什么要學習Shell編程?

Linux系統中會大量的使用Shell,工作中我們也需要自動化實現業務,

例如:自動備份、監控、自動安裝服務。

Shell編程是Linux運維人員必須要會的編程語言。最簡單的編程語言。

編程也是運維人員必須具備的本領:

Shell、Python是運維人員必須具備的本領

2、什么是Shell?

Shell就是一個命令解釋器(翻譯官),命令行的命令以及腳本都會通過shell解釋,

傳給操作系統,處理后在輸出給用戶。

[root@oldboyedu ~]# tail -1 /etc/passwd

oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash #<==創建用戶時,系統指定的翻譯官。

3、Shell的分類

1. Bourne shell

Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again Shell(bash)三種類型。

2. C shell

C shell又包括csh、tcsh兩種類型。

C7支持的shell:

[root@oldboyedu ~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

/bin/sh是bash的軟連接

4、C7:默認Shell

[root@oldboyedu ~]# echo $SHELL

/bin/bash

5、什么是Shell腳本?

程序、命令放入文件里執行,這個文件稱之為Shell腳本文件。

工作中最多的編程寫腳本,存放在文件里。

6、Shell變量:

? a.全局變量(環境變量)

? 在整個系統中生效、一般是大寫、系統中默認就

? 存在一些這樣的變量,滿足系統和程序運行的需求。

系統自帶的環境變量;

[root@oldboyedu ~]# echo $PS1

[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$

[root@oldboyedu ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@oldboyedu ~]# echo $HOME

/root

[root@oldboyedu ~]# echo $SHELL

/bin/bash

[root@oldboyedu ~]# echo $UID

0

自定義環境變量:

方法1

export OLDBOY="I am oldboy."

方法2:

OLDBOY="I am oldboy."

export OLDBOY

[root@oldboyedu ~]# export OLDBOY="I am oldboy."

[root@oldboyedu ~]# echo $OLDBOY

I am oldboy.

/etc/profile==>~/.bash_profile===>~/.bashrc===>/etc/bashrc

老男孩推薦以后把環境變量放入/etc/bashrc

[root@oldboyedu ~]# tail -1 /etc/bashrc

export OLDBOY="I am oldboy."

[root@oldboyedu ~]# . /etc/bashrc

[root@oldboyedu ~]# echo $OLDBOY #<==輸出一個變量內容就加$變量名

I am oldboy.

安裝java服務的時候就會配置環境變量。

b.局部變量(普通變量)

是編寫Shell腳本最常用的變量。

變量名=值

a=1

變量名:數字、字母、下劃線,不能是數字開頭。

? ? ? oldboy、 123a、_abc

= 等號:賦值符,把什么東西給誰。賦值符號兩邊不能有空格。

值:東西,變量內容。

? ? 引用內容的符號:單引號、雙引號、反引號、不加引號

[root@oldboyedu ~]# a=1

[root@oldboyedu ~]# echo $a

1

[root@oldboyedu ~]# y=$x+1

[root@oldboyedu ~]# echo $y

1+1

[root@oldboyedu ~]# y="$x+1"

[root@oldboyedu ~]# echo $y

1+1

[root@oldboyedu ~]# y='$x+1'

[root@oldboyedu ~]# echo $y

$x+1

[root@oldboyedu ~]# y=`$x+1`

-bash: 1+1: command not found

[root@oldboyedu ~]# let y="$x+1"? #<==讓括號的內容進行計算。

[root@oldboyedu ~]# echo $y

2

[root@oldboyedu ~]# a=1

[root@oldboyedu ~]# echo ${a}b

1b

《九陰九陽》是金庸新著 和金庸屁關系沒有。

{金庸新}著

7、表達式

[ 表達式 ]中括號表達式,中括號里面兩端必須要有空格。

字符串要加雙引號

[root@oldboyedu ~]# [ "a" = "b" ] && echo 1||echo 0

0

[ "a" = "b" ] && echo 1||echo 0

如果表達式成立,打印1,否則打印0.

[ "a" = "b" ] && echo 1? #跟屁蟲。

如果表達式成立,打印1

[ "a" = "b" ] || echo 0? #杠精。

如果表達式成立是假的,打印0

取反:

[ ! "a" = "b" ] && echo 1

整數表達式:

>? ? ? -gt

>=? ? -ge

<? ? ? -lt

<=? ? -le

=? ? ? -eq

不等于 -ne

[root@oldboyedu ~]# a=1

[root@oldboyedu ~]# [ $a -eq 2 ] && echo 1||echo 0

0

[root@oldboyedu ~]# [ $a -eq 1 ] && echo 1 || echo 0

1

1)整數表達式符 兩端必須要有空格

2)中括號里面兩端必須要有空格。

3)變量和比較的內容,不需要加引號。

字符表達式:

-z 變量內容長度為0時,為真(表達式正確)。zero

-n 變量內容長度【不】為0時,為真(表達式正確)。not zero

a == a 字符串是否相同

說明:

1)字符串要加雙引號

例子:

[root@oldboyedu ~]# oldboy="I am oldboy"

[root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0

0

[root@oldboyedu ~]# oldboy=""

[root@oldboyedu ~]# [ -z "$oldboy" ] && echo 1 || echo 0

1

[root@oldboyedu ~]# [ -n "$oldboy" ] && echo 1 || echo 0

0

[root@oldboyedu ~]# [ "test" == "host" ] && echo 1 || echo 0

0

[root@oldboyedu ~]# [ "test" == "test" ] && echo 1 || echo 0

1

8.shell判斷句:

如果...那么。

如果[ 你是潛力股 ]

那么

? ? 就和你談朋友

否則

? ? 拜拜

果如

if判斷句語法:

if [ 表達式 ]

then

? 命令

fi

如果[ 你是潛力股 ]

那么

? ? 就和你談朋友

果如

[root@oldboyedu ~]# cat test.sh

#!/bin/bash

a=10

if [ $a -gt 1 ]

then

? ? echo 1

fi

如果[ 你是潛力股 ]

那么

? ? 就和你談朋友

否則

? ? 拜拜

果如

[root@oldboyedu ~]# cat test.sh

#!/bin/bash

a=1

if [ $a -gt 1 ]

then

? ? echo 1

else

? ? echo 0

fi

[root@oldboyedu ~]# cat test.sh

#!/bin/bash

boy="潛力股"

if [ "$boy" ==? "潛力股" ]

then

? ? echo "先和你談談朋友"

else

? ? echo "白白"

fi

[root@oldboyedu ~]# sh test.sh

先和你談談朋友

[root@oldboyedu ~]# cat judge_date.sh

if [ $(date +%w) -eq 6 ]

then

? ? echo "一起去旅游吧"

else

? ? echo "還是好好上課吧"

fi

[root@oldboyedu ~]# sh judge_date.sh

還是好好上課吧

[root@oldboyedu ~]# date

Tue Apr? 9 11:33:13 CST 2019

[root@oldboyedu ~]# date -s '2019/4/13'

Sat Apr 13 00:00:00 CST 2019

[root@oldboyedu ~]# sh judge_date.sh

一起去旅游吧

實現多條件

[root@oldboyedu ~]# cat judge_date.sh

if [ $(date +%w) -eq 6 ] || [ $(date +%w) -eq 0 ]

then

? ? echo "一起去旅游吧"

else

? ? echo "還是好好上課吧"

fi

read命令 交互式讀取用戶輸入

-p "提醒:"

-t "多長時間內等待輸入"

[root@oldboyedu ~]# read? -p "請輸入一句話:" boy

請輸入一句話:潛力股

[root@oldboyedu ~]# echo $boy

潛力股

相當于boy="潛力股"

[root@oldboyedu ~]# cat test.sh

#!/bin/bash

read -p "請輸入你喜歡的男孩的一句話:" boy

if [ "$boy" ==? "潛力股" ]

then

? ? echo "先和你談談朋友"

else

? ? echo "白白"

fi

[root@oldboyedu ~]# sh test.sh

請輸入你喜歡的男孩的一句話:我沒錢

白白

[root@oldboyedu ~]# sh test.sh

請輸入你喜歡的男孩的一句話:潛力股

先和你談談朋友

[root@oldboyedu ~]# cat test.sh

#!/bin/bash

read -p "請輸入你喜歡的男孩的一句話:" boy

if [ "$boy" ==? "潛力股" ]

then

? ? echo "先和你談談朋友"

elif [ "$boy" ==? "老爸是李剛" ]

then

? echo "直接嫁給你"

elif [ "$boy" ==? "二環內有套房" ]

then

? echo "立馬領證"

else

? ? echo "白白"

fi

練習題:Shell編程實現 兩個整數比較大小

[root@oldboyedu ~]# cat com_num.sh

#!/bin/sh

read -p "請輸入兩個整數:" a b

if [ $a -gt $b ]

then

? ? echo "$a>$b"

elif [ $a -eq $b ]

then

? ? echo "$a=$b"

else

? ? echo "$a<$b"

fi

[root@oldboyedu ~]# sh com_num.sh

請輸入兩個整數:2 3

2<3

[root@oldboyedu ~]# sh com_num.sh

請輸入兩個整數:3 3

3=3

[root@oldboyedu ~]# sh com_num.sh

請輸入兩個整數:3 4

3<4

[root@oldboyedu ~]# sh com_num.sh

請輸入兩個整數:3 2

3>2

特殊位置變量:

$1 腳本文件的第一個參數賦值給$1

$2 腳本文件的第二個參數賦值給$2

[root@oldboyedu ~]# cat t.sh

echo $1 $2

[root@oldboyedu ~]# sh t.sh oldboy oldgirl

oldboy oldgirl? #<==oldboy就是$1輸出的結果,oldgirl就是$2輸出的結果。

[root@oldboyedu ~]# cat com_num.sh

#!/bin/sh

#read -p "請輸入兩個整數:" a b

a=$1

b=$2

if [ $a -gt $b ]

then

? ? echo "$a>$b"

elif [ $a -eq $b ]

then

? ? echo "$a=$b"

else

? ? echo "$a<$b"

fi

[root@oldboyedu ~]# sh com_num.sh 2 3

2<3

[root@oldboyedu ~]# sh com_num.sh 2 2

2=2

[root@oldboyedu ~]# sh com_num.sh 3 2

3>2

9.for循環

for n in 取值列表

do

? 執行命令

done

[root@oldboyedu ~]# cat for1.sh

for n in 1 2 3 4 5

do

? ? echo $n

done

[root@oldboyedu ~]# sh for1.sh

1

2

3

4

5

[root@oldboyedu ~]# sh -x for1.sh

+ for n in 1 2 3 4 5

+ echo 1

1

+ for n in 1 2 3 4 5

+ echo 2

2

+ for n in 1 2 3 4 5

+ echo 3

3

+ for n in 1 2 3 4 5

+ echo 4

4

+ for n in 1 2 3 4 5

+ echo 5

5

[root@oldboyedu ~]# cat for1.sh

for n in {1..5}

do

? ? echo $n

done

[root@oldboyedu ~]# sh for1.sh

1

2

3

4

5

打印254個IP

10.0.0.1---10.0.0.254

[root@oldboyedu ~]# cat for1.sh

for n in {1..254}

do

? ? echo "10.0.0.$n"

done

DAY29

diff 文本比較工具

diff直接接兩個文件 就可以發現兩個文件的不同

diff? a.txt? a.txt.ori

vimdiff 圖形比較

備份的好處

可以恢復 可以比較

mount /devrom /mnt 掛載光盤到/mnt中

軟件安裝

rpm命令 RED HAT的包管理器? 作用 安裝卸載升級查詢認證

-i 安裝

-v顯示安裝的過程

-h用#顯示安裝進度條

-U升級軟件包

-e卸載軟件包

--nodeps 忽略依賴

-q查詢

-a查所有

qa常一起用 后面加軟件包名

-ql 顯示軟件包中的所有文件列表

-qf 查詢文件或者命令屬于哪個包

缺點 需要很多依賴? 在need by后面顯示 要先安裝基礎包

yum命令? 比RPM更智能 解決軟件包依賴 但是后臺還是RPM在工作 yellow dog

install 安裝 后面接軟件包

groupinstall 安裝組包

grouplist 獲取組包名稱列表

list查看軟件包名

list installed 查看已安裝軟軟件

provides 根據命令配置查軟件包



Linux系統如何安裝軟件

1.rpm 簡單 快 依賴多

2.yum 簡單 快 自動解決依賴

3.編譯安裝(源碼編譯)

慢 復雜 需要GCC編譯器 但是可以自定義安裝軟件版本和安裝路徑

4.將源碼編譯成rpm,然后放到yum倉庫 實現yum自動安裝

一次性慢,復雜,安裝快 可以自定義

centos6和7運維層次的區別

centos6最新6. 9?

32/64位? ? ? ? ? ? ? ? ? ? ? ?

串行技術? ? ? ? ? ? ? ? ?

順序安裝

? eth33

? 網卡用network管理

? 開啟關閉服務/etc/init.d/crond start|stop

? 等價于srevice crond stop /start

? reload(平滑重啟)

? 開機自啟動 chkconfig crond off

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? list crond 查看

? 腳本當中的開頭可以實現開機自啟動的控制

? 查看開機自啟動列表 chkconfig --list|grep “3:on”

? 主機名修改 hostname xx

? /etc/rc.local 放置開機啟動的命令

? 查看ip ifconfig和route



? centos7最新7.6

? 64位

? 并行技術

? 平臺化安裝

? eth0

? 網卡用network menager

? 服務管理systemctl? stop|start|restart|reload(平滑重啟)? crond來管理

? 開機自啟動systemctl disable /enable crond

? 直接systemctl status crond就能查看開機自啟動

? 查看開機自啟動列表 systemctl list-unit-files(|grep enabled) 查看正在啟動的項

? 主機名修改 hostnamectl set-hostname xx永久修改

? 主機名文件/etc/hostname

? IO調度 deadline

? /etc/rc.local 放置開機啟動的命令 但是必須授予執行的權限 7里面權限不夠 必須chmod+x

? 別名 alias默認增加了三個關于grep的

? 查看IP ip



? chattr設置文件屬性

+- i 鎖定解鎖

? ? +a 只能追加不能刪除 -a解鎖

? lsattr查看文件屬性

? +- i 鎖定解鎖

DAY30

Linux默認策略,把沒有使用的內存,都會作為緩沖區或者緩存區。

1.常規分區

/boot? 1024M

swap? 內存1.5倍? 大于8G給8G

/ 所有

================================

/home

/var

/usr

2.存儲 數據庫 備份

/boot? 1024M

swap? 內存1.5倍? 大于8G給8G

/ 100-200G

/data 所有 放數據

3.門戶

/boot? 1024M

swap? 內存1.5倍? 大于8G給8G

/ 100-200G

剩下保留。

xshell,secureCRT,putty,ssh

SSH默認22端口

0.VM虛擬網絡編輯器設置

1、服務端運行。

[root@oldboyedu /opt]# netstat -lntup|grep ssh

tcp? ? ? ? 0? ? ? 0 0.0.0.0:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 6899/sshd? ? ?

tcp6? ? ? 0? ? ? 0 :::22? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 6899/ssh

[root@oldboyedu /opt]# systemctl status sshd

● sshd.service - OpenSSH server daemon

? Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)

? Active: active (running) since Wed 2020-10-28 21:09:17 CST; 1 years 6 months left

? ? Docs: man:sshd(8)

2.客戶端ping

ping 10.0.0.201

3.客戶端檢查服務

[c:\~]$ telnet 10.0.0.201 22

Connecting to 10.0.0.201:22...

Connection established.

To escape to local shell, press 'Ctrl+Alt+]'.

SSH-2.0-OpenSSH_7.4

IP端口別錯,就是防火墻問題。

4.xshell連接

c6:/etc/init.d/sshd restart

? service sshd restart

c7:systemctl restart sshd

概念:

ifconfig 別名IP

[root@oldboyedu /opt]# ifconfig? eth0:0 10.0.0.202/24 up

增加網卡文件/etc/sysconfig/network-scripts/ifcfg-eth0:0

ip? ? ? 輔助IP

ip addr add 10.0.0.203/24 dev eth0 label eth0:1

7. 如何測試服務器能否連上互聯網?

ping www.oldboyedu.com

ping 203.81.19.1 通的 但是ping www.oldboyedu.com不通。

如果網站沒問題就是DNS問題

[root@oldboyedu /opt]# cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 223.5.5.5

ping 10.0.0.254

* * *

3? * * *

4? * * *

5? * * *

6? * * *

7? * * *

8? * * *

9? * * *

10? * * *

11? * * *

女生富養,男生窮養。

磁盤體系:

1.磁盤維護

2.掛載

3.文件系統

4.分區

5.raid知識體系

6.內外部結構、讀寫原理

命令使用:

#/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL 查raid級別

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL 查raid卡信息

#/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL 查看硬盤信息

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aAll 查看電池信息

#/opt/MegaRAID/MegaCli/MegaCli64 -FwTermLog -Dsply -aALL 查看raid卡日志

#/opt/MegaRAID/MegaCli/MegaCli64 -adpCount 【顯示適配器個數】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpGetTime –aALL 【顯示適配器時間】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll 【顯示所有適配器信息】

#/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aAll 【顯示所有邏輯磁盤組信息】

#/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll 【顯示所有的物理信息】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充電狀態】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL【顯示BBU狀態信息】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuCapacityInfo -aALL【顯示BBU容量信息】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuDesignInfo -aALL 【顯示BBU設計參數】

#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuProperties -aALL 【顯示當前BBU屬性】

#/opt/MegaRAID/MegaCli/MegaCli64 -cfgdsply -aALL 【顯示Raid卡型號,Raid設置,Disk相關信息】

3.磁帶狀態的變化,從拔盤,到插盤的過程中。

Device |Normal|Damage|Rebuild|Normal

Virtual Drive |Optimal|Degraded|Degraded|Optimal

Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online

4.查看磁盤緩存策略

#/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -L0 -a0

https://www.cnblogs.com/lianzhilei/p/6472038.html

網絡部分:

1、tcp三次握手四次揮手。

2、11種狀態

3、tcpdump/wireshark/route

4、不能上網如何排查。

DAY31

1、什么是集群?

簡單地說,集群就是一堆機器做同一件事,

例如:www.jd.com提供賣東西服務這就是一件事,可能是幾千臺服務器,在背后運轉支撐這個網站。

? ? ? www.baidu.com看著就是一個搜索框,背后可能是上萬臺服務器。


2、為什么企業要用集群?

? a.7*24服務,需要多臺機器同時工作,互為實時備份。

? b.高并發訪問,需要多臺服務器同時提供服務。

3.集群特點

? a.數據量大、用戶多

? b.7*24持續服務

? c.高并發

? d.用戶分布廣泛,網絡情況復雜

4.形象描述集群

基礎優化:

1、規范目錄

mkdir -p /server/tools

mkdir -p /server/scripts

2、配置所有主機域名解析

cat >/etc/hosts<<EOF

127.0.0.1? ? localhost localhost.localdomain localhost4 localhost4.localdomain4

::1? ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.5 lb01

172.16.1.6 lb02

172.16.1.7 web01

172.16.1.8 web02

172.16.1.9 web03

172.16.1.31 nfs01

172.16.1.41 backup

172.16.1.51 db01 db01.etiantian.org

172.16.1.61 m01

EOF

[root@oldboyedu ~]# cat /etc/hosts

127.0.0.1? ? localhost localhost.localdomain localhost4 localhost4.localdomain4

::1? ? ? ? ? localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.5 lb01

172.16.1.6 lb02

172.16.1.7 web01

172.16.1.8 web02

172.16.1.9 web03

172.16.1.31 nfs01

172.16.1.41 backup

172.16.1.51 db01 db01.etiantian.org

172.16.1.61 m01

[root@oldboyedu ~]# ping lb01

PING lb01 (172.16.1.5) 56(84) bytes of data.

3.基礎優化操作項:更新yum源信息

第一個:就近使用yum源地址,安裝軟件更快。

curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第二個:安裝RHEL/CentOS官方源不提供的軟件包

curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4、安全優化

# 1、關閉selinux

sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

grep SELINUX=disabled /etc/selinux/config

setenforce 0

getenforce

# 2、關閉firewalld防火墻服務

systemctl stop firewalld

systemctl disable firewalld

5.基礎優化操作項:設置普通用戶提權操作(可選優化)

# 提權oldboy可以利用sudo

useradd oldboy

echo 123456|passwd --stdin oldboy

\cp /etc/sudoers /etc/sudoers.ori

echo "oldboy? ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers

tail -1 /etc/sudoers

visudo -c

6.設置系統中文UTF8字符集

[root@oldboyedu ~]# cat /etc/locale.conf

LANG="en_US.UTF-8"

修改命令如下:

cp /etc/locale.conf? /etc/locale.conf.ori

echo 'LANG="zh_CN.UTF-8"' >/etc/locale.conf?

source /etc/locale.conf

echo $LANG

cp /etc/locale.conf? /etc/locale.conf.ori

localectl set-locale LANG="zh_CN.UTF-8"

cat /etc/locale.conf

7.基礎優化操作項:時間同步設置

# 設置系統時間同步

yum install ntpdate -y

/usr/sbin/ntpdate ntp3.aliyun.com

echo '#crond-id-001:time sync by oldboy' >>/var/spool/cron/root

echo "*/5 * * * * /usr/sbin/ntpdate ntp3.aliyun.com >/dev/null 2>&1">>/var/spool/cron/root

crontab -l

8.基礎優化操作項:提升命令行操作安全性(可選優化)

# 提升命令行安全(可選配置)

echo 'export TMOUT=300' >>/etc/profile

echo 'export HISTSIZE=5' >>/etc/profile

echo 'export HISTFILESIZE=5' >>/etc/profile

tail -3 /etc/profile

. /etc/profile

9.基礎優化操作項:加大文件描述符

# 實例演示:加大文件描述

echo '*? ? ? ? ? ? ? -? ? ? nofile? ? ? ? ? 65535 ' >>/etc/security/limits.conf

tail -1 /etc/security/limits.conf

ulimit -SHn? 65535

ulimit -n #<==命令方式查看配置結果

10.基礎優化操作項:優化系統內核

cat >>/etc/sysctl.conf<<EOF

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.ip_local_port_range = 4000? ? 65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

#以下參數是對iptables防火墻的優化,防火墻不開會提示,可以忽略不理。

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.wmem_max = 16777216

net.core.rmem_max = 16777216

EOF

sysctl -p

11.基礎優化操作項:安裝系統常用軟件

CentOS6和CentOS7都要安裝的企業運維常用基礎工具包

yum install tree nmap dos2unix lrzsz nc lsof wget tcpdump htop iftop iotop sysstat nethogs -y

CentOS7要安裝的企業運維常用基礎工具包

yum install psmisc net-tools bash-completion vim-enhanced -y

獨行快,眾行遠。——老男孩

12.基礎優化操作項:優化SSH遠程連接效率

禁止root遠程連接

修改默認22端口,改為52113

監聽內網服務器IP

練習不動。

13.擴展優化操作項-修改yum.conf文件配置信息

保留yum安裝的軟件包

將/etc/yum.conf中的keepcache=0改為keepcache=1,為日后一鍵安裝網站集群留好rpm及依賴工具包。

14. 鎖定關鍵系統文件如/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/etc/inittab,

處理以上內容后把chattr、lsattr改名為oldboy,轉移走,這樣就安全多了。

15. 清空/etc/issue、/etc/issue.net,去除系統及內核版本登錄前的屏幕顯示。

16. 清除多余的系統虛擬用戶賬號。

17. 為grub引導菜單加密碼(自學)。

18. 禁止主機被ping(內核參數)。

19. 打補丁并升級有已知漏洞的軟件。

? ? yum update

20.精簡開機自啟動服務

systemctl list-unit-files |grep enable|egrep -v "sshd.service|crond.service|sysstat|rsyslog|^NetworkManager.service|irqbalance.service"|awk '{print "systemctl disable",$1}'|bash

systemctl list-unit-files |grep enable

保留服務:

sshd|crond|sysstat|rsyslog|NetworkManager|irqbalance

企業生產最小化原則:

1、安裝軟件包最小化。

2、用戶權限最小化。

3、目錄文件權限最小化。

4、自啟動服務最小化。

5、服務運行用戶最小化。

[root@oldboyedu ~]# netstat -lntup

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address? ? ? ? ? Foreign Address? ? ? ? State? ? ? PID/Program name? ?

tcp? ? ? ? 0? ? ? 0 0.0.0.0:22? ? ? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 7072/sshd? ? ? ? ?

tcp6? ? ? 0? ? ? 0 :::22? ? ? ? ? ? ? ? ? :::*? ? ? ? ? ? ? ? ? ? LISTEN? ? ? 7072/sshd

克隆三臺:

B1-web服務器1 ? ? 10.0.0.7/24 ? ? 172.16.1.7/16 web01

C1-NFS存儲服務器 10.0.0.31/24 172.16.1.31/16 nfs01

C2-rsync備份服務器 10.0.0.41/24 172.16.1.41/16 backup

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 老男孩Linux運維58期課堂筆記 ...
    樂園_YD閱讀 203評論 0 0
  • 作者:馬帥琦 歸檔:day28 時間:2019/4/9 Shell編程3小時光速入門 因為Web集群架構會用到Sh...
    馬帥琦閱讀 379評論 0 0
  • 1、為什么要學習Shell編程? Linux系統中會大量的使用Shell,工作中我們也需要自動化實現業務, 例如:...
    放手吧_e512閱讀 305評論 0 0
  • Shell編程基礎 1、為什么要學習Shell編程? Shell編程是Linux運維人員必須要會的編程語言。最簡單...
    高博666閱讀 628評論 0 0
  • 沈華立 公司:慈溪市創鑫車輛零部件有限公司 六項精進224期利他二組學員 【日精進打卡347天】 【知~學習】 《...
    沈華立閱讀 70評論 0 0