1. 总结raid 0, 1, 5, 10的工作原理。总结各自的利用率,冗余性,性能,至少几个硬盘实现。
raid-0:工作原理是多块磁盘的读写功能并行工作;多块磁盘都能使用磁盘利用率最高;但没有冗余性没有任何容错,任意一块磁盘损坏所有数据都会丢失;读写速度都有提升,组成raid-0至少需要两块磁盘。
raid-1:工作原理是多块磁盘相互镜像工作;磁盘利用率会减半;有冗余性;读性能有提升,写性能会有所降低;组成raid-1至少需要两块磁盘。
raid-5:工作原理是数据磁盘异或运算的值分散存于各个磁盘中;磁盘利用率较raid-4有提升;有冗余性,允许最多损坏一块磁盘;读写性能都有提升;组成raid需要3块或更多磁盘。
raid-10:工作原理是两组raid-1合并,磁盘利用率高,有容错能力,每组镜像最多只能坏一块硬盘,读写性能都有提升,组成raid-10需要4块或更多硬盘
2. 完成对LVM磁盘扩容及缩容示例
LVM磁盘在线扩容:
#两步实现:
#查看卷组空间空闲情况
vgdisplay
#第一步实现逻辑卷的空间扩展(两种写法)
lvextend -L +5G /dev/VG_NAME/LV_NAME #或者
lvextend -l +100%free /dev/VG_NAME/LV_NAME
#第二步实现文件系统的扩展
#针对ext文件系统
resize2fs /dev/VG_NAME/LV_NAME
#针对xfs文件系统
xfs_growfs MOUNT_POINT
#一步实现空间和文件系统的扩展(通用写法,推荐使用)
lvresize -r -l +100%free /dev/VG_NAME/LV_NAME
LVM磁盘缩容:
缩减逻辑卷有数据损坏风险!
不能在线进行逻辑卷缩减
缩减逻辑卷之前必须先备份磁盘内的数据文件
只支持ext文件系统,xfs文件系统不支持缩减
#文件备份完成后,五步实现:
#第一步
umount /data #取消挂载
#第二步
fsck -f /dev/test_vg/mysql_lv #先做文件系统检测
#第三步
resize2fs /dev/test_vg/mysql_lv 4G #文件系统缩减到4个G
#第四步
lvreduce -L 4G dev/test_vg/mysql_lv #逻辑卷缩减到4个G
#第五步
mount -a #重新再挂载回之间的目录
3. 总结程序包管理器有哪些,以及包中包含什么内容的文件,尝试这些文件如何命令获取? yum/dnf/apt总结程序包获取途径,以及rpm, yum, apt命令选项示例。
包管理器有:Rocky/CentOS使用rpm,yum;Ubuntu使用dpkg,apt
yum/dnf/apt包获取途径有官方package仓库,本地光盘挂载,国内镜像站
4. 简要总结yum/dnf工作原理。并搭建私有yum仓库(base, epel源)给另一个虚拟机使用。
先在yum服务器上建立yum仓库,在仓库中事先存储了大量的包,以及相关的元数据,当yum客户端利用yum/dnf工具进行安装包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包依赖关系,自动从仓库中找到相关的包下载并安装。
5. 总结系统安装之后的常用初始化步骤。rocky/ubuntu
Rocky:
关闭防火墙
vim /etc/selinux/config
SELINUX=disabled
systemctl disable --now firewalld
配置yum仓库
vim /etc/yum.repos.d/base.repo
[BaseOs]
name=aliyun BaseOs
baseurl=https://mirrors.aliyun.com/rockylinux/8/BaseOS/x86_64/os/
gpgcheck=0
安装常用工具
yum -y install bash-completion psmisc lrzsz tree man-pages redhat-lsb-core zip unzip bzip2 wget tcpdump ftp rsync vim lsof
修改网卡名
sed -i '/^GRUB_CMDLINE_LINUX=/s/(.*)(")$/\1 net.ifnames=0\2/' /etc/default/grub
grub2-mkconfig -o /etc/grub2.cfg
配置网卡配置文件
vim /etc/sysconfig/network-script/ifcfg.eth0
DEVICE=eth0
NAME=st_eth0
BOOTPROTO=static
IPADDR=1.1.1.2
PREFIX=24
GATEWAY=10.0.0.2
重启系统
reboot
6. 解读一键安装httpd脚本,并自行实现一个一键安装脚本,要求
1)基于位置变量传递版本号
2)基于独立函数进行初始化步骤,禁用防火墙,安装开发依赖包。
3)基于独立函数进行下载包,解压包。
4)基于独立函数进行编译,安装包。
5)基于独立函数完成链接包。
6)启动服务,并输出自定义的语句,安装xxx服务
7. 总结开放系统互联OSI模型,每层作用及对应的协议。
应用层:提供为应用软件而设的接口,以设置于另一应用软件之间的通信。例如http,https,ftp
表示层:把数据转换为能与接收者的系统格式兼容并适合上传的格式
会话层:负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接
传输层:把传输表头加至数据以形成数据包。例如TCP协议
网络层:决定数据的路径选择和转寄,将网络表头加至数据包,以形成报文。例如IP协议
数据链路层:负责网络寻址,错误侦测和改错
物理层:在局部局域网上上传数据帧,天负责管理电脑通信设备和网络媒体之间的互通
8. 调整动态端口范围为20000-60000
9. 总结TCP包头结构,TCP三次握手,4次挥手。
TCP三次握手:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN—SEND状态,等待服务器确认
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=i+j),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN—RECV状态
第三次握手:客户端收到服务器的SYN+ACK包.向服务器发送确认包ACK(ack=k+1).此包发送完毕.客户端和服务器进入ESTABI.ISHED状态。完成三次握手
TCP四次挥手:
1.TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
2.服务器收到这个FIN,它发回一个ACK。
3.服务器关闭客户端的连接,发送一个FIN给客户端。
4客户端收到对方的FIN报文并发回ACK报文确认,服务器收到ACK报文后进入CLOSED状态,客服端等2MSL后也到CLOSED状态
10. 总结主机到主机的包传递过程。
11. 总结IP地址 A, B, C, D 类,并解析IP地址的组成
A类地址开头是1-126开头,网络id是8位高位,主机id是24位低位,子网掩码:255.0.0.0,每个网络中的主机数为2^24
B类地址开头是126-191开头,网络id是16位高位,主机id是16位低位,子网掩码:255.255.0.0,每个网络中的主机数为2^16
C类地址开头是192-223开头,网络id是24位高位主机id是8位低位,子网掩码:255.255.255.0,每个网络中的主机数为2^8
D类地址:组,播地址(224-239)
IP地址由网络id和主机id组成,网络id和主机id的位数由子网掩码决定
12. 201.222.200.111/18计算主机数?子网掩码?说明计算方法。
主机数:2的32-18次方-2=16382
子网掩码:255.255.11000000.00000000 = 255.255.192.0
18位的子网掩码为16+2,即255.255.0.0(16位)转换为二进制加两位,即11111111.11111111.11000000.00000000 转换为十进制为 255.255.192.0
13. 当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?
A(10.0.1.1/16)网段:10.0 B(10.0.2.2/24)网段:10.0.2
将A地址10.0.1.1和子网掩码255.255.0.0转换为二进制对位相与得出网段为10.0.0.0,同样将B地址与自己的子网掩码相与得出网段为10.0.2.0,A和B不在同一网段,所以A与B不能通信
14. 如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。
32=2^5,10.0.0.0/8的网络id位数向主机位数借5五位
255.11111000.0.0 =255.248.0.0 即每个子网的掩码为255.248.0.0
主机数为2^32-13-2=524286
15. 通过网络配置命令,让主机可以上网。 ip, netmask, gateway, dns,主机名。相关命令总结,最终可以通过这些配置让你的主机上网。
可以通过修改网卡配置文件/etc/syconfig/network-script/eth0
DEVICE=eth0
NAME=st_eth0
BOOTPROTO=static
IPADDR=1.1.1.2
PREFIX=24
GATEWAY=10.0.0.2
nmcli connection reload;nmcli connection eth0
刷新网卡配置信息
16. 解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式。
类似shell变量写法
DEVICE : 网卡设备名
NAME :网卡别名
BOOTPROTO :IP分配方式(dhcp自动,static,none静态)
IPADDR :IP地址
PREFIX :子网掩码
GATEWAY :网关
17. 基于配置文件或命令完成bond0配置
18. 通过ifconfig命令结果找到ip地址.
ifconfig ens160 | sed -rn '/netmask/s/^.*inet ([0-9.]+ ).*/\1/p'