一 RAID
作用
提高IO能力 磁盘并行读写
提高耐用性 磁盘冗余来实现
RAID实现的方式
外接式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
软件RAID:通过OS实现
常用级别:
RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD
RAID-0: 读、写性能提升 可用空间:N*min(S1,S2,...) 无容错能力 最少磁盘数:2, 2+
RAID-1: 读性能提升、写性能略有下降 可用空间:1*min(S1,S2,...) 有冗余能力 最少磁盘数:2, 2N
RAID-5: 读、写性能提升 可用空间:(N-1)*min(S1,S2,...) 有容错能力:允许最多1块磁盘损坏 最少磁盘数:3, 3+
RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,...)/2 有容错能力:每组镜像最多只能坏一块 最少磁盘数:4, 4+
RAID-50 多块磁盘先实现RAID5,再组合成RAID0
JBOD:Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间:sum(S1,S2,...)
二 逻辑卷管理器LVM
逻辑卷:允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 ,允许在多个物理设备间重新组织文件系统
创建逻辑卷
将设备指定为物理卷
用一个或者多个物理卷来创建一个卷组
物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的
在物理卷上创建的逻辑卷 是由物理区域(PE)组成
可以在逻辑卷上创建文件系统
LVM可以弹性的更改LVM的容量 通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的 设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大 容量
创建pv pvcreate /dev/DEVICE
删除pv pvremove /dev/DEVICE
显示卷组 vgs vgdisplay
创建卷组 vgcreate
管理卷组 vgextend
删除卷组 先做pvmove,再做vgremove
显示逻辑卷 lvs Lvdisplay
创建逻辑卷 lvcreate -L #[mMgGtT] -n NAME VolumeGroup
lvcreate -l 60%VG -n mylv testvg
lvcreate -l 100%FREE -n yourlv testvg
删除逻辑卷 lvremove /dev/VG_NAME/LV_NAME
创建逻辑卷实例:
创建物理卷 pvcreate /dev/sda3
为卷组分配物理卷 vgcreate vg0 /dev/sda3
从卷组创建逻辑卷 lvcreate -L 256M -n data vg0
mkfs.xfs /dev/vg0/data
挂载 mount /dev/vg0/data /mnt/data
逻辑卷快照
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝,对于需要备份或者复制的现有数据临时拷贝以及其它操作来说,快照是最合适 的选择
快照只有在它们和原来的逻辑卷不同时才会消耗空间
在生成快照时会分配给它一定的空间,但只有在原来的逻辑卷或者快照有所 改变才会使用这些空间
当原来的逻辑卷中有所改变时,会将旧的数据复制到快照中
快照中只含有原来的逻辑卷中更改的数据或者自生成快照后的快照中更改的 数据
建立快照的卷大小小于等于原始逻辑卷,也可以使用lvextend扩展快照
为现有逻辑卷创建快照
lvcreate -l 64 -s -n data-snapshot -p r /dev/vg0/data
挂载快照
mkdir -p /mnt/snap
mount -o ro /dev/vg0/data-snapshot /mnt/snap
恢复快照
umount /dev/vg0/data-snapshot
umount /dev/vg0/data
lvconvert --merge /dev/vg0/data-snapshot
删除快照
umount /mnt/databackup
lvremove /dev/vg0/databackup
三 网络基础
网络资源共享的优点
数据和应用程序 资源 网络存储 备份设备
常见网络设备
交换机,路由器,网卡,网线,终端
网络特征
速度 成本 安全性 可用性 可扩展性 可靠性 拓扑
物理拓扑分类
总线拓扑,环状拓扑,星型拓扑
OSI七层结构
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
数据封装,数据解封,层层封装解封
三种通讯模式 单播,广播,组播
非屏蔽式双绞线UTP 橙白橙 绿白蓝 蓝白绿 棕白棕
RJ-45水晶头
以太网帧结构
8前导信息
6目标地址
6源地址
2协议类型
46-1500 数据
4校验位
以太网桥工作原理
以太网桥监听数据帧中源MAC地址,学习MAC,建立MAC表
对于未知MAC地址,网桥将转发到除接收该帧的端口之外的所有端口
当网桥接到一个数据帧时,如果该帧的目的位于接收端口所在网段上,它就过 滤掉该数据帧;如果目的MAC地址在位于另外一个端口,网桥就将该帧转发到 该端口
当网桥接到广播帧时候,它立即转发到除接收端口之外的所有其他端口
集线器和网桥
集线器属于OSI的第一层物理层设备,而网桥属于OSI的第二层数据链路层设备
从工作方式来看,集线器是一种广播模式,所有端口在一个冲突域里面。网桥 的可以通过端口隔离冲突
Hub是所有共享总线和共享带宽。网桥每个端口占一个带宽
路由器
为了实现路由,路由器需要做下列事情
分隔广播域
选择路由表中到达目标最好的路径
维护和检查路由信息
连接广域网
TCP协议
工作在传输层
面向连接协议
全双工协议
半关闭
错误检查
将数据打包成段,排序
确认机制
数据恢复,重传
流量控制,滑动窗口
拥塞控制,慢启动和拥塞避免算法
更多关于tcp的内核参数,可参看man 7 tcp
TCP报头
源端口、目标端口:计算机上的进程要和其他进程通信是要通过计算机端口的, 而一个计算机端口某个时刻只能被一个进程占用,所以通过指定源端口和目标 端口,就可以知道是哪两个进程需要通信。源端口、目标端口是用16位表示的, 可推算计算机的端口个数为2^16个
序列号:表示本报文段所发送数据的第一个字节的编号。在TCP连接中所传送的 字节流的每一个字节都会按顺序编号。由于序列号由32位表示,所以每2^32个 字节,就会出现序列号回绕,再次从 0 开始
确认号:表示接收方期望收到发送方下一个报文段的第一个字节数据的编号。 也就是告诉发送方:我希望你(指发送方)下次发送的数据的第一个字节数据 的编号为此确认号
数据偏移:表示TCP报文段的首部长度,共4位,由于TCP首部包含一个长度可 变的选项部分,需要指定这个TCP报文段到底有多长。它指出 TCP 报文段的数 据起始处距离 TCP 报文段的起始处有多远。该字段的单位是32位(即4个字节为 计算单位),4位二进制最大表示15,所以数据偏移也就是TCP首部最大60字节
URG:表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段(urgent pointer)只有当URG=1时才有效
ACK:表示是否前面确认号字段是否有效。只有当ACK=1时,前面的确认号字段才有效。 TCP规定,连接建立后,ACK必须为1,带ACK标志的TCP报文段称为确认报文段
PSH:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空 间。如果为1,则表示对方应当立即把数据提交给上层应用,而不是缓存起来,如果应用程序 不将接收到的数据读走,就会一直停留在TCP接收缓冲区中
RST:如果收到一个RST=1的报文,说明与主机的连接出现了严重错误(如主机崩溃),必 须释放连接,然后再重新建立连接。或者说明上次发送给主机的数据有问题,主机拒绝响应, 带RST标志的TCP报文段称为复位报文段
SYN:在建立连接时使用,用来同步序号。当SYN=1,ACK=0时,表示这是一个请求建立连 接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求 建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1,带SYN标志的TCP报文 段称为同步报文段
FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即告诉对方: “我的数据已经发送完毕,你可以释放连接了”,带FIN标志的TCP报文段称为结束报文段
窗口大小:表示现在允许对方发送的数据量,也就是告诉对方,从本报文段 的确认号开始允许对方发送的数据量,达到此值,需要ACK确认后才能再继 续传送后面数据,由Window size value * Window size scaling factor (此值在三次握手阶段TCP选项Window scale协商得到)得出此值
校验和:提供额外的可靠性
紧急指针:标记紧急数据在数据字段中的位置
选项部分:其最大长度可根据TCP首部长度进行推算。TCP首部长度用4位表 示,选项部分最长为:(2^4-1)*4-20=40字节
端口号
传输层通过port号,确定应用层协议
tcp:传输控制协议,面向连接的协议;通信前需要建立虚拟链路;结束后拆除链路 0-65535
udp:User Datagram Protocol,无连接的协议 0-65535
IANA:互联网数字分配机构(负责域名,数字资源,协议分配)
0-1023:系统端口或特权端口(仅管理员可用) ,众所周知,永久的分配给固定的 系统应用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)
1024-49151:用户端口或注册端口,但要求并不严格,分配给程序注册为某应 用使用,1433/tcp(SqlServer), 1521/tcp(oracle),3306/tcp(mysql),11211/tcp/udp (memcached)
49152-65535:动态端口或私有端口,客户端程序随机使用的端口
其范围的定义:/proc/sys/net/ipv4/ip_local_port_range
网络层协议
运行于 OSI 网络层
面向无连接的协议
独立处理数据包
分层编址
尽力而为传输
无数据恢复功能
IP报头
版本:占4位,指 IP 协议的版本目前的IP协议版本号为4
首部长度:占4位,可表示的最大数值是15个单位,一个单位为4字节,因此IP 的 首部长度的最大值是60字节
区分服务:占8位,用来获得更好的服务,在旧标准中叫做服务类型,但实际上一直未 被使用过.后改名为区分服务.只有在使用区分服务(DiffServ)时,这个字段才起作 用.一般的情况下不使用
总长度:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为 65535 字节.总长度必须不超过最大传送单元 MTU
标识:占16位,它是一个计数器,通常,每发送一个报文,该值会加1, 也用于数 据包分片,在同一个包的若干分片中,该值是相同的
标志(flag):占3位,目前只有后两位有意义
DF: Don’t Fragment 中间的一位,只有当 DF=0 时才允许分片
MF: More Fragment 最后一位,MF=1表示后面还有分片,MF=0 表示最后 一个分片
片偏移:占13位,指较长的分组在分片后,该分片在原分组中的相对位置.片偏移 以8个字节为偏移单位
生存时间:占8位,记为TTL (Time To Live) 数据报在网络中可通过的路由器数的 最大值,TTL 字段是由发送端初始设置一个 8 bit字段.推荐的初始值由分配数字 RFC 指定,当前值为 64.发送 ICMP 回显应答时经常把 TTL 设为最大值 255
协议:占8位,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据 部分上交给哪个处理过程, 1表示为 ICMP 协议, 2表示为 IGMP 协议, 6表示为 TCP 协议, 17表示为 UDP 协议
首部检验和:占16位,只检验数据报的首部不检验数据部分.这里不采用 CRC 检验 码而采用简单的计算方法
源地址和目的地址:都各占4字节,分别记录源地址和目的地址
IP地址
它们可唯一标识 IP 网络中的每台设备
每台主机(计算机、网络设备、外围设备)必须具有唯一的地址
IP地址由两部分组成
网络ID: • 标识网络 • 每个网段分配一个网络ID
主机 ID: • 标识单个主机 • 由组织分配给各设备
A类 前八位网络ID,0开头(二进制)
0XXXXXXX.N.Y.Z 二进制
1-126.X.Y.Z 十进制
2^24-2 网段主机数 10.0.0.0 始网络 10.255.255.255 广播
2^7-2 网段 0.0.0.0未知地址 127开头回环地址
主机数:16777214
网段:126
B类 前十六网络ID,10开头(二进制)
10XXXXXX.N.Y.Z
128-191.X.Y.Z
主机数:2^16-2=65534
网段数:2^14=16384
C类 前二十四网络ID,110开头(二进制)
110XXXXX.N.Y.Z
192-223.X.Y.Z
主机数:2^8-2=254
网段数:2^21=2097152
D类 多播 1110开头(二进制)
224-239.X.Y.Z
E类 240-254.X.Y.Z
无类:网络ID(主机ID)按需指定位数
无类域间路由表示法: IP/网络ID位数 IP/21
网络中最大的主机数=2^主机ID位-2
网段数=2^可变网络ID位
如何判断两个主机是否是在一个网段?网络ID=IP和子网掩码相与
来源:https://blog.51cto.com/14451156/2430492