您的位置:首页 > 运维架构

运维技术原理介绍

2020-07-14 06:32 218 查看

运维第二次作业

1、系统启动过程

启动第一步--加载BIOS
当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启动设备来启动。
启动第二步--读取MBR
硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,其中前446字节为主引导记录,后64字节为分区表信息,最后2个字节为对应的校验。系统找到BIOS所指定的硬盘的MBR后,就会将其复制到0×7c00地址所在的物理内存中。被复制到物理内存的内容就是Boot Loader,那就是lilo或者grub了。
启动第三步--Boot Loader
Boot Loader 就是在操作系统内核运行之前运行的一段小程序。bootloader供一个菜单,允许用户选择要启动的系统或不同的内核版本; 把用户选定的内核装载到RAM中的特定空间中,解压、展开,而后把系统控制权移交给内核。Boot Loader有若干种,其中Grub、Lilo和spfdisk是常见的。
启动第四步--加载内核
根据Grub设定的内核映像所在路径,系统读取内存映像来解压缩内核,同时还会加载内核所需的驱动程序文件,从而对内核进行挂载以及驱动根文件系统。
initrd(Initial RAM Disk),它在stage2这个步骤就被拷贝到了内存中,这个文件是在安装系统时产生的,是一个临时的根文件系统(rootfs)。因为Kernel为了精简,只保留了最基本的模块,因此,Kernel上并没有各种硬件的驱动程序,也就无法识rootfs所在的设备,故产生了initrd这个文件,该文件装载了必要的驱动模块,当Kernel启动时,可以从initrd文件中装载驱动模块,直到挂载真正的rootfs,然后将initrd从内存中移除。
Kernel会以只读方式挂载根文件系统,当根文件系统被挂载后,开始装载第一个进程(用户空间的进程),执行/sbin/init,之后就将控制权交接给了init程序。
启动第五步--用户层init依据inittab文件来设定运行等级
内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。其实/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是“:id:5:initdefault:”,这就表明Linux需要运行在等级5上。
运行级别
对应说明
0
关机,shutdown
1
单用户模式,root用户,无须认证,一般是维护模式
2
不带NFS网络服务的多用户多任务模式,一般也是维护模式
3
多用户多任务的完全功能模式,文本行界面
4
预留模式
5
多用户多任务的完全功能模式,图形界面
6
重启,reboot
启动第六步--init进程执行rc.sysinit
在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。
启动第七步--启动内核模块,执行不同运行级别的脚本程序
具体是依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块。根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务。
启动第八步--执行/etc/rc.d/rc.local
/etc/rc.d/rc.local是给用户自定义启动时需要执行的文件。
启动第九步--启动mingetty,进入系统登陆界面
执行/bin/login程序,等待用户登录

2、 web工作原理

1、Web服务器:
(1)安装了 Web 服务器软件的计算机就是 Web 服务器,Web 服务器软件对外提供Web服务。
(2)Web 服务器的工作流程是:
a、用户通过 Web 浏览器向 Web 服务器发出请求。
b、当 Web 服务器接收到这个请求后,将替用户查找该请求所对应的资源。
c、找到相应的资源后,然后将这个资源返回给 Web 浏览器供用户查看。
2、Web客户端:
(1)通常将那些向Web服务器请求获取资源的软件都称之为Web客户端。
(2)Web 客户端的工作流程是:
a、当用户点击 Web 浏览器中的超链接或者是在 Web 浏览器中输入 URL 地址并且按下 enter 键后,此 时,Web 浏览器将该信息转换为标准的 HTTP 请求发送给Web服务器。
b、当 Web 服务器接收到这个 HTTP 请求时,便根据请求内容查找信息资源。
c、找到相应的资源后,该 Web 服务器将这部分资源通过标准的 HTTP 响应发送回给Web浏览器。
d、最后,Web 浏览器接收到 HTTP 响应后将 HTML 文档显示出来供用户查看。

3、 dhcp工作原理

DHCP作用:
①DHCP( Dynamic Host Configuration Protocol, 动态主机配置协议),为网络中的设备提供动态IP地址信息,包括IP地址、网关、DNS等等。
②DHCP可以使得整网络的地址分配变得非常简单,大大减低了网络管理员的工作量。
③DHCP基于UDP协议,采用端口号为67和68,其中68端口为DHCP客户端采用,67端口为DHCP服务端采用。
DHCP请求过程
(1)发现阶段。DHCP client运行后,以广播的方式发送DHCP Discover消息
(2)提供阶段。DHCP Server收到DHCP Discover消息后,从IP地址池中选择一个IP地址,以单播的方式发送DHCP Offer消息给客户端
(3)请求阶段。DHCP Client收到DHCP offer消息后,以广播方式发送一个DHCP Request消息,这个DHCP request消息携带DHCP Server的标识,意图向Server请求获取offer中提供的IP地址。DHCP client如果收到多份offer信息,一般取第一个收到的,其他的Server收到Request广播后,会明白client拒绝了自己的offer,进而收回给予该Client的offer。
(4)确认阶段。DHCP收到Request消息后,向client发送单播DHCP Ack消息,确认获取IP地址失败,或者单播发送DHCP Nak消息,说明IP地址获取失败,需要重新获取IP地址。

4、 dns解析原理

(1)首先,浏览器会检查浏览器缓存中有没有这个域名所对应的IP 地址,如果有的话,则地址解析结束;如果没有,则会查找操作系统缓存中是否有这个域名对应的IP 地址,如果有,地址解析到这儿也结束;如果没有,则继续进行下一步。
(2)操作系统把你请求的域名发送到本地域名服务器(LDNS)进行解析,如果命中了,则解析结束;如果没有命中,则本地域名服务器直接向 根域名服务器(Root Sever)发送域名解析请求。
这时,根域名服务器会返回来一个所查询域的通用顶级域名服务器(gTLD)的IP 地址。
(3)本地域名服务器 会再向刚才返回来的 gTLD 服务器发送请求,gTLD 服务器进行查找并且返回一个该域名对应的Name Sever域名服务器的地址。注:该Name Sever 服务器通常是你注册的域名服务器,它会查找域名和IP 的映射表,并且返回对应的IP 地址和生存时间 TTL。
(4)本地域名服务器 得到这个域名对应的IP 地址后,会在本地缓存这个域名和IP 的映射关系,缓存时间由TTL 决定;并同时把解析结果返回给用户端。用户主机也会在本地缓存这个映射表,便于后续使用。

5、 nfs的作用

nfs通过rpcbind这个服务去跟客户端通信的。NFS网络文件系统一般被用来存储共享视频,图片,附件等静态资源(一般把网站用户上传的文件都放到NFS共享里, 例如BBS 产品的图片,附件,头次昂,注意网站BBS程序不要放NFS共享里),NFS是当前互联网系统架构中最常用的数据存储服务之一,特别是对中小型企业来讲是非常合适的一个分布式文件系统,大公司或门户除了使用NFS外,还可能会使用MFS,GFS,FASTDFS,TFS等分布式文件系统。
它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件(share files)。这个NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利
以下是NFS的具体参数描述
no_root_squash
如果客户端用root身份来挂载服务端的共享目录的话,那么客户端对该共享目录具有root权限
root_squash
如果客户端以root的身份来挂载服务端的共享目录,那么客户端对这个共享目录拥有的权限是匿名用户的权限
all_squash
不管客户端是以什么样的身份来挂载服务端的共享目录,那么客户端对这个共享目录拥有的权限也是匿名用户的权限

6、 ftp的主动模式和被动模式

主动模式(服务器向客户端敲门,然后客户端开门)FTP:

客户机与服务器之间建立连接时,客户机是大于1024的端口上,服务器是20端口。

客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是20端口给客户机回应。

允许FTP客户机从大于1024的端口连接服务器的21端口

允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。

允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口。

允许FTP客户机从大于1024的端口回应来自FTP服务器的20端口的网络连接。

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 >1024端口

被动模式(客户端向服务器敲门,然后服务器开门)FTP:

客户机与服务器之间建立连接都是在大于1024的端口上的

客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是从大于1024端口给客户机回应。

允许FTP客户机从大于1024的端口连接服务器的21端口。

允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。

允计FTP客户机从大于1024的端口连接FTP服务器的大于1024端口。

允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接。

命令连接:客户端 >1024端口 -> 服务器 21端口

数据连接:客户端 >1024端口 -> 服务器 >1024端口

主动模式对便于FTP服务器的管理,不便于对客户端进行管理。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙所阻塞。被动模式对FTP便于对客户端进行管理,不便于对服务器端进行管理。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

7、 pxe+kickstart安装系统原理

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
1)、Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合法则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client

2)、Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0

3)、Client执行接收到的pxelinux.0文件

4)、Client向TFTP Server发送针对本机的配置信息文件(在TFTP服务的pxelinux.cfg目录下,这是系统菜单文件,格式和isolinux.cfg格式一样,功能也是类似),TFTP将配置文件发回Client,继而Client根据配置文件执行后续操作。

5)、Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client

6)、Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统

7)、Client启动Linux内核

8)、Client下载安装源文件,读取自动化安装脚本

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: