2019-04-15 第六周课堂笔记

第六周  day27

一知识点回顾

1、网络

    1传输介质

2硬件

2两台主机之间进行通信

3局域网交换网络

    交换机的原理  2层网络  数据链路层    mac表

广播风暴的问题

    降低  减轻    路由器的概念    子网掩码划分

交换网络中的数据格式  原信息+目的信息+数据内容=数据格式

4局域网和局域网计算机之间的通信路由器  路由器  3级网络设备

    路由器的概念

    路由器的工作原理

        主机    ip地址

    路由表

        静态  优点    大型    块    专业人士

        动态  优点    小型    man    一般

5tcp/ip协议名词解释

    ip协议

    tcp协议

    udp协议

6osi和tcpip协议

    7层    5层模型

7tcpip协议名词解释

    报文格式

cs建立连接3次握手的过程

cs断开连接4次挥手的过程

cs建立连接3次握手的过程状态的转换

cs断开连接4次挥手的过程状态的转换

8ip地址分类

    分类  abcd

c类    面试c类地址    192.168.0.x  x主机位

d类    组播

    特殊的ip地址没意思  -1

    192。168.0.255广播地址 -1

192.168.0.254 网关地址 -1

127.0.0.1

9子网掩码

    255.255.255.0

255.255.0.0

255.0.0.0

10网络划分

    c类网络中192.168.0.100  50台主机划分计算子网掩码

二静态路由项目

1网络中比较重要的协议

    1dns协议    域名解析

    arp交换机    主机    mac地址

  路由器    主机    ip地址

  dns域名  域名    ip地址

    2域名

3购买自己的一个域名

    根域名服务器  大多在美国  13台

顶级域名服务器

    com    cn    org    edu等

公司的商业组织    地区中国

万网    阿里云的

注册邮箱 bj

A记录    网站    记录值  ip地址

dns优化    百度云加速  css  js  html  预加载到服务器上  cdn加速

2企业真实的需求

    1host文件服务器

2内网dns服务器   

    Linux服务器  dns   

    本地服务器解析

转发器

    | - 主路由 - dns -  公网ip- dns -域名

3常见的网络命令

    1ping命令

    ping域名  无应答 dns无反应  有问题

ping公网ip

ping网关  一般网关都是路由的ip  不是.1就是.254

2 iftop监控网络流量用的

Linux服务器下用的  第三方命令

    yum  install iftop -y

iftop -i eth0监控流量信息

4企业网络出现问题的排查流程

    第一步  检查硬件  网卡(灯) 网线水晶头  路由器WAN LAN 交换机

    交换法

    |- 网线

  网卡

第二步  ping网关(路由)

    第三步  公网Ip

    第四步  DNS

    第五步  ping自己的服务器地址

5 静态路由项目

    1准备三台虚拟机

        第一天一块网卡  10.0.0.11

        第二台两块网卡  10.0.0.12  192.168.0.12

        第三台一块网卡  192.168.0.13

    2在第一台主机

        从主机1-10.0.0.11 主机2-192.168.0.12

下午扩展:

三剑客

grep  过滤 

-E    支持扩展正则

-o    只显示匹配到的内容  显示grep执行过程

-v    取反

-i    不区分大小写  ignore case    find /oldboy -type f -iname ".ext"

-n    取行

-w    按照单词进行匹配

-A  9 after  显示grep找出来的行以及接下来的9行  An 在各行结尾标出$区分空行

-B    before  之前的几行

-C    上下几行

-r    递归过滤  在所有层下查找所有的内容

1 Unix中在当前目录下所有.cc 的文件中找到含有“asiainfo”内容的文件,命令为_______

找出当前目录下包含127.0.0.1关键字的文件?

find -type f -name“.*.cc”|xargs grep ' asiainfo'

写出查询file.txt以abc结尾的行

4写出删除abc.txt文件中的空行

基础版:

中级版

sed  增删改查

-n    取消默认输出

-i    修改文件内容  -i.avi  修改前先备份并且以avi结尾

-r    支持扩展正则

awk  过滤 取列 统计计算


day28  shell编程基础

1为甚学习shell编程?

    Linux系统中会大量使用shell,工作中我们也要自动化实现业务,比如自动备份、监控、自动安装服务。

    shell编程是Linux运维人员必须要会的编程语言,最简单的编程语言。

    编程也是运维人员必会本领

    shell和Python是运维人员必须具备的本领

2shell?

    shell是一个解释器,命令行的命令以及脚本都会通过shell解释(翻译官),传给操作系统,处理后再输出给用户。

    比如/bin/bash

    创建用户时,系统指定的翻译官。

3shell的分类

    两大类:bourne shell(sh)

            c  shell又包括csh、tcsh两类

4centos7的shell默认:echo $shell

    /bin/bash

5什么是shell脚本?

    程序命令放入文件里执行,这个文件称为shell脚本。

工作中最多的编程是写脚本,存放在文件里。

6shell的变量

    1全局变量 (环境变量)

在整个系统中生效的,一般是大写,系统中会自动存在一些这样的变量,满足系统和程序运行的需求。

系统自带的环境变量。

自定义环境变量:

export OLDBOY=“i  am  oldboy”

OLDBOY ="I am oldboy"  export $OLDBOY

推荐吧环境变量放入/etc/bashrc 里面

安装Java服务时候就会配置环境变量

2局部变量 (自定义变量)

    是编写shell家里本最常用的变量

变量名=值

    a=1

变量名:数字 字母 下划线  不能是数字开头

    oldboy  123a _abc

=等号:赋值符  吧什么东西给谁  等号两边不能有空格

值:东西  变量内容

    单引号  双引号  反引号  不加引号

7表达式

    []表达式  中括号量表必须要有空格  [ biaodashi ]


    整数表达式

>        -gt    greater than

=        -eq    equal  to   

<        -lt    less    than

>=      -ge    greater than or equal to

<=      -le   

不等于  -ne    unequal to

整数表达式符  量表必须有空格

中括号里面两端表必须要有空格

变量和比较的内容,不需要加引号

字符表达式:

-z  变量内容长度为0时  为真  zero

-n  变量内容长度不为零时  为真  not zero

a == a    字符串是否相同

说明:

字符串要加双引号

判断句:

如果。。。那么。。。

if [ 表达式 ]  then  命令为_______

书写脚本习惯:

以.sh结尾

脚本第一行 #!/bin/bash  脚本内容由谁来解释

    由于Linux下默认是bash 所以也可以不写这一行

8read命令  交互式读取用户输入

-p  “提醒: ”

-t  “多长时间内等待输入”  以s秒为单位

read -t 3 -p

9for循环

    for n in 取值列表

do    执行命令

done  以done结尾

判断比大小 fi结尾 

for循环 done结尾

    diff  文本比较工具

vimdiff  文本图形化比较

day29

rpm命令

包管理器    升级  卸载  安装  查询  验证

    -i  安装install

-v  显示详细信息

-h 

-U  升级软件包

    -q  查询

-a  查所有  比如rpm -qa lrzsz  查询上传下载

-e  卸载软件包  --nodeps  忽略依赖直接卸载

-l  显示软件包的所有软件列表

-f  查询文件或命令属于哪个包 (后接全路径)

yum命令 

帮我们在rpm安装时解决软件包依赖

背后还是在使用rpm,不需要直接使用rpm,让安装软件更智能,推举幕后工作。

    install  安装软件包

groupinstall  安装组包

grouplist    获取组包

list installed  查已经安装的软件

根据命令或配置查属于哪个包

yum provide /bin/bash

remove  移除软件包(禁止使用,Linux不需要卸载)

Linux系统如何安装软件?

yum安装

简单  块  依赖多,解决问题困难繁琐

rpm安装

简单 块  自动解决依赖  不能解决软件版本

编译安装(源码编译)

慢  复杂  需要GCC编译器可以自定义安装(版本 软件路径)

    将源码制作成rpm,然后放在yum仓库,实现rpm安装

一次性  慢  安装块  可以自定义

chattr  设置文件属性

chatte  +i 文件  锁定文件,不能增删改查

+a      只能追加不能删除

-a      解锁

    lsattr  查看文件属性

day29

[root@oldboyedu ~]# diff /etc/passwd{,.ori}

32c32

< #oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash

---

> oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash

[root@oldboyedu ~]# diff /etc/passwd /etc/passwd.ori

32c32

< #oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash

---

> oldgirl1:x:8889:8889::/home/oldgirl1:/bin/bash

rpm命令全称是Red Hat Package Manager(Red Hat包管理器),几乎所有的Linux发行版本都使用这种形式的命令管理、安装、更新和卸载软件。

概括地说,rpm命令有五种基本功能(不包括创建rpm包):安装、卸载、升级、查询和验证。

[root@oldboyedu ~]# mount /dev/cdrom /mnt

mount: no medium found on /dev/sr0

[root@oldboyedu ~]# mount /dev/cdrom /mnt

mount: /dev/sr0 is write-protected, mounting read-only

[root@oldboyedu ~]# cd /mnt/

[root@oldboyedu /mnt]# ls

CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7

EFI              GPL  isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

[root@oldboyedu /mnt]# cd Packages/

需要很多依赖。

[root@oldboyedu /mnt/Packages]# rpm -ivh dos2unix-6.0.3-7.el7.x86_64.rpm

Preparing...                          ################################# [100%]

package dos2unix-6.0.3-7.el7.x86_64 is already installed

[root@oldboyedu /mnt/Packages]# rpm -qa|grep tree

tree-1.6.0-10.el7.x86_64

[root@oldboyedu /mnt/Packages]# rpm -qa tree

tree-1.6.0-10.el7.x86_64

[root@oldboyedu ~]# rpm -ql tree

/usr/bin/tree

/usr/share/doc/tree-1.6.0

/usr/share/doc/tree-1.6.0/LICENSE

/usr/share/doc/tree-1.6.0/README

/usr/share/man/man1/tree.1.gz

[root@oldboyedu ~]# rpm -qf /sbin/ifconfig

net-tools-2.0-0.24.20131004git.el7.x86_64

yum命令:帮我们在rpm安装时解决软件包依赖,

背后还是使用rpm,不需要直接使用rpm了

让安装软件更智能了。底层还是rpm在工作。

yum主要用于自动安装、升级rpm软件包,它能自动

查找并解决rpm包之间的依赖关系。

[root@oldboyedu ~]# yum grouplist

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

base                                                        | 3.6 kB  00:00:00   

Available Environment Groups:

  Minimal Install

  Compute Node

  Infrastructure Server

  File and Print Server


[root@oldboyedu ~]# yum groupinstall "File and Print Server"

[root@oldboyedu ~]# yum list tree

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

Installed Packages

tree.x86_64                                1.6.0-10.el7                                @base

[root@oldboyedu ~]# yum install tree -y

根据命令或者配置等的路径查属于哪个包

[root@oldboyedu ~]# yum provides /etc/my.cnf

[root@oldboyedu ~]# yum provides /sbin/ifconfig

Linux系统如何安装软件?

1、rpm安装

简单 快。依赖多,解决依赖困难繁琐。

2、yum安装 *****

简单快,自动解决依赖。不能选择软件版本或软件存放路径。

3、编译安装(源码编译)*****

慢 复杂 需要GCC编译器,可以自定义安装(版本、软件路径)

4、将源码制作成rpm,然后放到yum仓库,实现yum自动安装。

一次性慢 复杂,安装快,可以自定义安装(版本、软件路径)

制作RPM YUM仓库搭建

https://blog.oldboyedu.com/autodeploy-rpm/

[root@oldboyedu ~]# chattr +i /etc/passwd  #<==锁定文件不能删除,不能修改

[root@oldboyedu ~]# lsattr /etc/passwd

----i----------- /etc/passwd

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

---------------- /etc/hosts

[root@oldboyedu ~]# cp /etc/passwd{,.ori}

[root@oldboyedu ~]# rm -f /etc/passwd

rm: cannot remove ‘/etc/passwd’: Operation not permitted

[root@oldboyedu ~]# echo ddd > /etc/passwd

-bash: /etc/passwd: Permission denied

[root@oldboyedu ~]# useradd littleboy

useradd: cannot open /etc/passwd

chattr -i /etc/passwd  #<==解锁文件。

给重要文件上锁

[root@oldboyedu ~]# chattr +a oldboy.txt

[root@oldboyedu ~]# rm -f oldboy.txt

rm: cannot remove ‘oldboy.txt’: Operation not permitted

[root@oldboyedu ~]# echo dddd >>oldboy.txt

[root@oldboyedu ~]# echo dddd >>oldboy.txt

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、不能上网如何排查。

手把手带你快速做【最专业】的项目文档实战

http://edu.51cto.com/course/course_id-4992.html

手把手带你快速画【最专业】的逻辑架构图实战

http://edu.51cto.com/course/course_id-4991.html

day31

中小规模综合架构

1什么是集群?

    简单的说,就是一堆机器做同一件事。

    www.baidu.com  看着就是一个搜索框,背后可能就是上万台服务器。

2为什么要用集群?

    7*24小时服务,需要多台机器同时工作,互为备份。

    高并发的访问,需要多台服务器同时提供服务。

3集群的特点?

    数据量用户多    独行快,众行远。

7*24小时持续服务

    高并发

    用户分布范围广,网络情况复杂。

4形象的描述集群


基础优化:

规范目录用

mkdir -p /server/tools

mkdir -p/server/scripts

配置所有主机域名解析

修改主机名

莫班级不该

基础优化 :跟新yum原

安全优化:关闭seLinux

setenforce 0 临时关闭enforce 

getenforce  查看

关闭防火墙并帮开机自启动

disable firewalld    stop firewalld   statusfirewalld


添加普通用户并提权

# 提权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

设置系统中文UTF8字符集

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

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

cat /etc/locale.conf    防止乱码

设置时间同步

yum install ntpdate -y

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • Day029 课堂笔记 2019年4月10日 比较: diff vimdiff [root@oldboyedu ~...
    深渊下的一抹阳光阅读 118评论 0 0
  • 回顾与复习 Linux默认策略,把没有使用的内存,都会作为缓冲区或者缓存区。 1.常规分区/boot 1024M...
    Aza_Lxxx阅读 212评论 0 0
  • 老男孩Linux运维58期课堂笔记(复习) ...
    乐园_YD阅读 315评论 1 0
  • Linux默认策略,把没有使用的内存,都会作为缓冲区或者缓存区。 1.常规分区 /boot1024 Swap 内存...
    地瓜_fde4阅读 328评论 0 0
  • 每年桃花盛开的时候,村子东边的桃园便氤氲在粉红色的云雾之中。那是我最爱的故乡美景之一。 花间树下,父母荷锄劳作,偶...
    卜悠悠阅读 449评论 0 4