IT总结运维面试问题
Linux基础
简述Linux主流发行版?
Redhat、CentOS、Fedora、SuSE、Debian、Ubuntu、FreeBSD等。
简述Linux启动过程?
- ⑴开机BIOS自检,加载硬盘。
- ⑵读取MBR,MBR引导。
- ⑶grub引导菜单(Boot Loader)。
- ⑷加载内核kernel。
- ⑸启动init进程,依据inittab设置运行级别的文件。
- ⑹init进程,执行rc.sysinit文件。
- ⑺启动内核模块,执行不同级别的脚本程序。
- ⑻执行/etc/rc.d/rc.local。
- ⑼启动tty,进入系统登录界面。
简述Linux删除文件的原理?
Linux系统是通过link控制文件删除的数量,只有当一个文件不存在时link此文件将被删除。一般来说,每个文件有两个link控制计数器:i_count和i_nlink。当一个文件被程序占用时i_count就加1。当文件的硬链接多一个时i_nlink也加1。删除一个文件,就是让这个文件没有过程占用,同时i_link数量为0。
简述Linux运行级别?
- 0:关机模式
- 一、单用户模式<==破解root密码
- 2:无网络支持的多用户模式
- 3:网络支持的多用户模式(文本模式,工作中最常用的模式)
- 四、保留,未使用
- 5.有网络支持X-windows支持多用户模式(桌面)
- 6:重新引导系统,即重启
简述Linux常见目录及其作用?
- /(根目录):Linux文件系统的起点;
- boot:存放Linux必要的文件由系统启动;
- var:存储经常更改的文件;
- home:普通用户家目录
- root:Linux系统的root用户目录;
- bin:存储系统的基本用户命令;
- sbin:存储系统的基本管理命令;
- use:存放Linux应用程序;
- etc:存放Linux配置各种程序的系统和文件。
简述Linux操作系统中常见的文件系统有哪些?
- EXT3
- EXT4
- XFS
简述Linux系统中的buffer和cache区别?
buffer和cache都是内存中的一块区域,当CPU当需要向磁盘编写数据时,磁盘速度相对较慢,因此CPU首先存储数据buffer,然后CPU执行其他任务,buffer磁盘中的数据会定期写入;当CPU当需要从磁盘读取数据时,由于磁盘速度慢,可以提前存储即将使用的数据cache,CPU直接从Cache中读数据。
简述Linux中inode和block?
inode节点是一个64字节长的表,包含文件的相关信息,如字节数,属于主UserID、属组GroupID、读写执行权、时间戳等。inode磁盘地址表是节点表中最重要的内容。
文件名存储在目录中,但Linux文件名不在系统中使用,而是在系统中使用。inode编号识别文件。对于系统来说,文件名只是inode别称号容易识别。即Linux文件系统通过手柄inode联系文件名查找文件。当需要读取文件时,文件系统在当前目录表中找到文件名对应的项目,以获得相应的文件inode通过这个节点号inode将分散存储的文件物理块连接到件物理块连接到文件的逻辑结构中。
文件存储在硬盘上,硬盘的最小存储单元称为风扇区sector,512字节存储在每个风扇区域。操作系统读取硬盘时,不会逐个读取扇区,效率太低,而是一次读取多个扇区,即一次读取一个块block。该块由多个风扇区组成,是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个block。
即512字节形成扇区(sector),多个扇区组成一个块(block),常见块单位4KB,即连续八个扇区形成一个block。
一个文件必须占用一个文件inode,但至少占用一个block。
简述Linux修复文件系统fsck过程?
成功修复文件系统的前提是有两个以上的主文件系统(即两个系统),并确保在修复前卸载修复的文件系统,然后使用命令fsck修复损坏的文件系统。
fsck检查文件系统分为五个步骤,每个步骤检查系统不同部分的连接特性,并对上一步进行验证和修改。
检查从超级块开始,然后分配磁盘块、路径名、目录连接、链接数和空闲块链表,inode。
简述Linux中软链接和硬链接的区别?
- 软链接
类似于软链接Windows快速功能的文件可以快速连接到目标文件或目录。也就是说,创建一个独立的文件,它允许数据读取指向它连接的文件的文件名。例如,文件A和文件Binode虽然号码不同,但文件A的内容是文件B的路径。当读取文件A时,系统会自动导向访问者B。此时,文件A称为文件B的软链接。
因此,如果A依赖于文件B,如果删除文件B,打开文件A会报错。
- 硬链接
通过文件系统inode链接产生的新文件名称,而不是新文件,称为硬链接。
一般情况下,每一个inode号码对应一个文件名,但是Linux允许多个文件名指向同一个inode号码。这意味着可以使用不同的文件名访问相同的内容。
创建硬链接、源文件和目标文件inode同一号码指向同一个inode。inode此时,信息中的链接数将增加1。
-
- 当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有其他文件的内容;
- 删除一个文件名不影响另一个文件名的访问。删除一个文件名只会使inode链接数减1。
-
区别
软链接和硬链接最大的区别:软链接是文件A指向文件B的文件名,而不是文件Binode编号,文件Binode链接数不会改变。
目录不能硬链接,但是通过mkdir命令创建一个新的目录,通常应该有两个硬链接,因为常见的目录本身就是一个硬链接,目录下面隐藏的目录.(点)是目录的又一个硬链接,也是一个连接数。
简述TCP与三次握手、四次断开、优缺点相比,UDP的差别?
TCP与UDP概念:
- TCP:面向连接的传输控制协议;
- UDP:用户数据报协议,无连接的,即发送数据之前不需要建立连接
TCP与UDP优缺点的区别:
- TCP的优点:
可靠,稳定。TCP可靠性体现在TCP在传输数据之前,将有三个握手来建立连接,在数据传输过程中,有确认、窗口、重新传输和拥塞控制机制。数据传输后,断开连接以节省系统资源。
- 三次握手:
- 第一次握手时,主机A向主机B发送包含同步序列号的数据段B ,向主机B请求建立连接。通过这个数据段,A向B声明通信请求,并通知B以某个序列号作为起始数据段响应;
- 第二次握手后,主机B在收到主机A的请求后,使用带确认答复(ACK)同步序列号(SYN)数据段响应标志位A。通过这个数据段,B向A声明已收到A的请求,A它可以传输数据,并通知A以序列号作为起始数据段响应;
- 第三次握手,主机A收到主机B的数据段后,发送确认响应,确认已收到主机B 数据段开始正式实际传输。
ACK:TCP报头的控制位之一是确认数据。确认是由目的端发出的,以告知序列号之前的数据段已经收到。例如,确认号是X,则表示前X-收到一个数据段。ACK=1.确认号有效时,ACK=0时,确认号无效此时会要求重传数据,保证数据的完整性。
SYN:同步序列号,这个标志位只有在TCP建立连接时才会被置1,握手完成后SYN标志位被置0。
- 四次断开:
- 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求;
- 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1;
- 主机B再提出反方向的关闭请求,将FIN置1;
- 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束。
- TCP的缺点:
慢、效率低、占用系统资源高、易被攻击:TCP在传递数据之前,要先建连接,需要消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接。同时,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。
DoS:拒绝服务(Denial of Servic),造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。
DDOS:分布式拒绝服务(DDoS:Distributed Denial of Service),DDoS攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。
- UDP的优点:
快、比TCP稍安全、没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击。
UDP Flood攻击检测:短时间内向特定目标不断发送 UDP 报文,致使目标系统负担过重而不能处理合法的传输任务,就发生了 UDP Flood。启用 UDP Flood 攻击检测功能时,要求设置一个连接速率阈值,一旦发现保护主机响应的 UDP 连接速率超过该值,防火墙会输出发生 UDP Flood 攻击的告警日志,并且根据用户的配置可以阻止发往该主机的后续连接请求。
- UDP的缺点:
不可靠、不稳定。因为UDP没有那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。
- TCP应用场景:
当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。
- UDP应用场景:
当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快。 比如QQ语音、QQ视频、TFTP 。
简述TCP/IP及其主要协议?
TCP/IP协议是一个协议簇,其中包括很多协议的。
TCP/IP协议包括。
-
应用层:应用程序间沟通的层
-
- 超文本传输协议(HTTP):万维网的基本协议;
- 文件传输(TFTP):简单文件传输协议;
- 远程登录(Telnet):提供远程访问其它主机功能,它允许用户登录internet主机,并在这台主机上执行命令;
- 网络管理(SNMP):简单网络管理协议,该协议提供了监控网络设备的方法,以及配置管理、统计信息收集、性能管理及安全管理等;
- 域名系统(DNS):域名解析服务,该系统用于在internet中将域名及转换成IP地址;
-
传输层:提供了节点间的数据传送服务,给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
-
- 传输控制协议(TCP)
- 用户数据报协议(UDP)
-
网络层:负责提供基本的数据封包传送功能,让每一个数据包都能够到达目的主机(但不检查是否被正确接收)。
-
- Internet协议(IP) :根据网间报文IP地址,从一个网络通过路由器传到另一网络;
- ICMP:Internet控制信息协议(ICMP);
- ARP:地址解析协议(ARP) ——"最不安全的协议"。
- RARP:反向地址解析协议(RARP):
-
网络访问层:又称作主机到网络层(host-to-network),IP地址与物理地址硬件的映射及IP封装成帧,基于不同硬件类型的网络接口,网络访问层定义了与物理介质的连接。
简述OSI模型及其主要协议?
OSI模型是一个开放式系统互联参考模型,该模型人为的定义了七层结构。由下至上及其主要作用为:
- 物理层:OSI的物理层规定了通信端点之间的机械特性、电气特性、功能特性以及过程特性,该层为上层协议提供了一个传输数据的物理媒体。该层数据的单位称为比特(bit)。其主要有:EIA/TIA、RS-232、EIA/TIA、RS-449、V.35、RJ-45、fddi令牌环网。
- 数据链路层:定义了在单个链路上如何传输数据,其主要作用包括:作用包括物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。该层数据的单位称为帧(frame)。其主要有:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继。
- 网络层:定义了端到端的包传输,定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习路由的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能。该层数据的单位称为数据包(packet)。主要有:IP、IPX、RIP、OSPF。
- 传输层:主要功能:
-
- 为端到端连接提供传输服务;
- 这种传输服务分为可靠和不可靠的,其中TCP是典型的可靠传输,而UDP则是不可靠传输;
- 为端到端连接提供流量控制,差错控制,重新排序,服务质量等管理服务。
该层数据的单位称为数据段(segment)。主要有:TCP、UDP、SPX、DCCP、SCTP、RTP、RSVP、PPTP。
- 会话层:他定义了如何开始、控制和结束一个会话,即负责建立和断开通信连接(数据流动的逻辑通路)。主要有:RPC、SQL、NetBIOS。
- 表示层:定义数据格式及加密。主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。主要有:加密、ASII、TIFF、JPEG、HTML、PICT。
- 应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的,为应用程序提供服务并规定应用程序中通信相关的细节。主要有:Telnet、HTTP、FTP、WWW、NFS、SMTP。
简述IP协议、IP地址?
IP协议(Internet Protocol):又称互联网协议,是支持网间互连的数据报协议。它提供网间连接的完善功能,包括IP数据报规定互连网络范围内的IP地址格式。
为了实现连接到互联网上的结点之间的通信,必须为每个结点(入网的计算机)分配一个地址,并且应当保证这个地址是全网唯一的,这便是IP地址。
目前的IP地址(IPv4:IP第4版本)由32个二进制位表示,每8位二进制数为一个整数,中间由小数点间隔,整个IP地址空间有4组8位二进制数,由表示主机所在的网络的地址以及主机在该网络中的标识共同组成。 为了便于寻址和层次化的构造网络,IP地址被分为A、B、C、D、E五类,商业应用中只用到A、B、C三类。
-
- A类地址:网络标识由第一组8位二进制数表示,网络中的主机标识占3组8位二进制数,网络标识的第一位二进制数取值必须为"0"。A类地址允许有126个网段,每个网络大约允许有1670万台主机,通常分配给拥有大量主机的网络(如主干网)。 1.0.0.1-127.255.255.254
- B类地址:网络标识由前两组8位二进制数表示,网络中的主机标识占两组8位二进制数,网络标识的前两位二进制数取值必须为"10"。B类地址允许有16384个网段,每个网络允许有65533台主机,适用于结点比较多的网络(如区域网)。 128.1.0.1-191.255.255.254
- C类地址:网络标识由前3组8位二进制数表示,网络中主机标识占1组8位二进制数,网络标识的前3位二进制数取值必须为"110"。具有C类地址的网络允许有254台主机,适用于结点比较少的网络(如校园网)。 192.0.1.1-223.255.255.254
为了便于记忆,通常习惯采用4个十进制数来表示一个IP地址,十进制数之间采用句点"."予以分隔。这种IP地址的表示方法也被称为点分十进制法。
简述静态路由和动态路由及其特点?
静态路由:由系统管理员创建的路由,适用于网关数量有限的场合,且网络拓朴结构不经常变化的网络。其缺点是不能动态地适用网络状况的变化,当网络状况变化后需要网络管理员手动修改路由表。
动态路由:由路由选择协议动态构建的路由,路由协议之间通过交换各自所拥有的路由信息实时更新路由表的内容。动态路由可以自动学习网络的拓朴结构,并更新路由表。其缺点是路由广播更新信息将占据大量的网络带宽。
简述NAT的几种类型,及其原理?
常见的NAT主要有DNA和SNAT。
SNAT:指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP。此时,接收方就认为数据包的来源是被替换的那个IP的主机。
DNAT:指数据包从网卡发送出去的时候,修改数据包中的目的IP。此时,若访问A,但因此DNAT的存在,所有访问A的数据包的目的IP全部修改为B,那么,实际上访问的是B。
简述包过滤防火墙和代理应用防火墙的区别?
包过滤防火墙:工作在网络层,根据包头中的源IP地址、目标IP地址、协议类型、端口号进行过滤;
代理应用防火墙:工作在应用层,使用代理服务器技术,将内网对外网的访问,变为防火墙对外网的访问,可以对包的内容进行分辨,从而过滤。
基础服务
简述Linux中常见的系统服务,其作用分别是?
常见的系统服务及其作用有:
- NTP/Chrony:用于时钟同步;
- DHCP:动态主机配置协议,用于自动分配主机地址,默认使用UDP 63端口;
- DNS:域名解析,运行在UDP协议之上,默认使用53端口;
- NFS:网络文件系统,依赖于RCP协议,其基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
- Postfix:邮件服务;
- rsync:远程数据备份服务。
- VPN:虚拟专用网。
更多服务参考:。
简述FTP主要的工作模式?
FTP工作模式是以服务端角度来区分,有主动模式和被动模式。
- 主动模式是指由FTP服务端主动向客户端发起连接,服务端端口号为20(用于传输)和21(用于控制),即20端口向客户端的一个大于1024的随机端口传输数据;
- 被动模式是指由FTP客户端向服务端发起连接,服务端采用随机端口等待客户端的随机端口来访问,从而传输数据。
简述FTP两种登录方式以及两种传输模式?
- FTP有两种登录方式:匿名登录和授权登录。
使用匿名登录时,用户名为:anonymous,密码为:任何合法email地址;
使用授权登录时,用户名为用户在远程FTP系统中的用户帐号,密码为用户在远程系统中的用户密码。
区别:使用匿名登录只能访问FTP目录下的资源,默认配置下只能下载;而授权登录访问的权限大于匿名登录,且上载、下载均可。
- FTP文件传输有两种文件传输模式:ASCII模式和binary模式。
ASCII模式用来传输文本文件;其他文件的传输使用binary模式。
简述DHCP的流程?
新节点通过DHCP获取地址信息的主要流程有如下四个过程:
- 寻找DHCP Server客户机第一次登录网络的时,向网络上发出一个DHCPDISCOVER广播(包中包含客户机的MAC地址和计算机名等信息)。其源地址为0.0.0.0,目标地址为255.255.255.255。
- 提供IP地址租用服务端监听到客户机发出的DHCP discover广播后,从剩余地址池中选择最前面的空置IP,连同其它TCP/IP设定,通过广播方式响应给客户端一个DHCP OFFER数据包(包中包含IP地址、子网掩码、地址租期等信息)。源IP地址为DHCP Server的IP地址,目标地址为255.255.255.255。同时,DHCP Server为此客户保留它提供的IP地址,从而不会为其他DHCP客户分配此IP地址。
- 接受IP租约客户机挑选最先响应的DHCP OFFER(一般是最先到达的那个),同时向网络广播DHCP REQUEST数据包(包中包含客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等),声明将接受某一台服务器提供的IP地址。此时,由于还没有得到DHCP Server的最后确认,客户端仍然使用0.0.0.0为源IP地址,255.255.255.255为目标地址进行广播。
- 租约确认服务端接收到客户端的DHCP REQUEST之后,会广播返回给客户机一个DHCP ACK消息包,表明已经接受客户机的选择,并将这一IP地址的合法租用以及其他的配置信息都放入该广播包发给客户机。客户机在接收到DHCP ACK广播后,会向网络发送三个针对此IP地址的ARP解析请求以执行冲突检测,查询网络上有没有其它机器使用该IP地址;如果发现该IP地址已经被使用,客户机会发出一个DHCP DECLINE数据包给DHCP Server,拒绝此IP地址租约,并重新发送DHCP discover信息。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS。如果网络上没有其它主机使用此IP地址,则客户机的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯。
简述DNS查询可能需要哪些过程?
通常DNS查询有如下过程,任何一过程查询成功则返回查询结果,不再进行下一步查询:
- 用户输入网址,优先调取本地hosts查询记录;
- 使用本地dns缓存查询记录;
- 使用网络设置的主dns查询记录;
- 使用dns服务器中的缓存;
- dns服务器转发查询,转发至上一级ISP DNS服务器,依次循环;
- 若dns服务器未配置转发查询,则将查询需求发至13台根dns;
- 返回查询IP结果给客户端。
简述DNS常见的服务器角色类型?
- 缓冲域名服务器
- 主域名服务器
- 从域名服务器
简述NFS文件系统及其作用?
网络文件系统是应用层的一种应用服务,它主要应用于Linux和Linux系统、Linux和Unix系统之间的文件或目录的共享。对于用户而言可以通过NFS方便的访问远地的文件系统,使之成为本地文件系统的一部分。采用NFS之后省去了登录的过程,方便了用户访问系统资源。
简述Samba作用及其使用场景?
Samba是在Linux上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。主要用于windows与Linux之间的文件共享。
简述VPN概念以及常见的类型?
VPN是指在公共的网络上建立专用网络的技术,但是两个节点间并没有物理上的专用的端到端链路,而是通过广域网或者运营商提供的网络平台之上的逻辑网络,用户数据在逻辑链路中传输,同时VPN采用身份验证和加密技术,充分保证了安全性。常见的VPN有:IPSec VPN、PPTP VPN、L2TP VPN、SSL VPN。
简述YUM服务工作步骤?
客户端在通过yum安装软件时,会先访问repo仓库,下载仓库的元数据,根据元数据去查询所需要的rpm及其各种依赖关系。之后再在仓库进行相关下载,并自动解决rpm包的依赖关系。同时repo仓库应该是一个文件服务器,一般linux主机在下载过元数据的同时会将其保留在缓存中,以便后续使用。本质上是将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。
磁盘管理
简述LVM概念及其特点?
LVM是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。通过LVM可将若干个磁盘分区连接为一个整块的卷组(Volume Group),形成一个存储池。可以在卷组上随意创建逻辑卷(Logical Volumes),并进一步在逻辑卷上创建文件系统,与直接使用物理存储在管理上相比,提供了更好灵活性。
-
设计概念
-
- 物理存储介质(The physical media):LVM存储介质可以是磁盘分区、整个磁盘、RAID阵列或SAN磁盘,设备必须初始化为LVM物理卷,才能与LVM结合使用;
- 物理卷PV(physical volume):物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数,创建物理卷它可以用硬盘分区,也可以用硬盘本身;
- 卷组VG(Volume Group):一个LVM卷组由一个或多个物理卷组成;
- 逻辑卷LV(logical volume):LV建立在VG之上,可以在LV之上建立文件系统;
- PE(physical extents):PV物理卷中可以分配的最小存储单元,PE的大小是可以指定的,默认为4MB;
- LE(logical extent):LV逻辑卷中可以分配的最小存储单元,在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
-
特点
-
- 优点
-
-
- 可以在系统运行的状态下动态的扩展文件系统的大小。
- 文件系统可以跨多个磁盘,因此文件系统大小不会受物理磁盘的限制。
- 可以增加新的磁盘到LVM的存储池中。
- 可以以镜像的方式冗余重要的数据到多个物理磁盘。
- 可以方便的导出整个卷组到另外一台机器。
-
-
- 缺点
-
-
- 在从卷组中移除一个磁盘的时候必须使用reducevg命令,有一定的限制:这个命令要求root权限,并且不允许在快照卷组中使用。
- 当卷组中的一个磁盘损坏时,整个卷组都会受到影响。
- 因为加入了额外的操作,存储性能受到影响。
-
简述RAID0、RAID1、RAID5原理及特点、使用场景?
RAID通常可以把硬盘整合成一个大磁盘,然后在大磁盘上再分区,提高数据量利用率、冗余性,根据其特点不同,常见的有RAID0、RADI1、RAID5。
RAID 0:指由多个盘组合成逻辑上的一个盘。
优点:读写快,容量利用率最高。
缺点:没有冗余,任何一块磁盘失效将影响到所有数据。
RAID 1:偶数盘,进行镜像。
优点:最高的冗余性。
缺点:浪费资源,成本高,数据利用率低。
RAID 5:奇数盘,至少3块磁盘。分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上 任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。
优点:实现数据一定程度的冗余,同时也提升数据的读写性能。
缺点:构建此模式需要一定数量的磁盘。
冗余从好到坏:RAID 1 > RAID 10 > RAID 5 > RAID 0
性能从好到坏:RAID 0 > RAID 10 > RAID 5 > RAID 1
成本从低到高:RAID 0 > RAID 5 > RAID 1 > RAID 10
简述iSCSI存储及其优点?
iSCSI是Internet小型计算机系统接口,是一个基于TCP/IP的协议,用于通过IP网络仿真SCSI高性能本地存储总线,从而为远程存储设备提供数据传输和管理。iSCSI跨本地和广域网,通过分布式服务器和数组提供独立于位置的数据存储检索。
iSCSI优点
- 使用SAN摆脱了本地布线限制,促进了本地或远程数据中心的存储整合;
- iSCSI结构是逻辑性的,仅使用软件配置来进行新的存储分配,无需其他电缆和物理磁盘;
- iSCSI使用多个远程数据中心简化了数据复制、迁移和灾难恢复。
简述文件存储、块存储、对象存储?
文件存储:允许将数据组织为传统的文件系统。数据保存在一个文件中,该文件具有名称和一些相关的元数据,例如修改时间戳、所有者和访问权限。提供基于文件的存储使用目录和子目录的层次结构来组织文件的存储方式。
块存储:块存储提供了一个像硬盘驱动器一样工作的存储卷,组织成大小相同的块。通常,要么操作系统用文件系统格式化基于块的存储卷,要么应用程序(如数据库)直接访问它来存储数据。
对象存储:对象存储允许将任意数据和元数据存储为一个单元,并在平面存储池中标记为惟一标识符。使用API存储和检索数据,而不是将数据作为块或在文件系统层次结构中访问。
虚拟平台
简述什么是云计算及其基本特征?
云计算是一种采用按量付费的模式,基于虚拟化技术,将相应计算资源(如网络、存储等)池化后,提供便捷的、高可用的、高扩展性的、按需的服务(如计算、存储、应用程序和其他 IT 资源)。
云计算通常有如下基本特征:
- 自主服务:可按需的获取云端的相应资源(主要指公有云);
- 网路访问:可随时随地使用任何联网终端设备接入云端从而使用相应资源。
- 资源池化:
- 快速弹性:可方便、快捷地按需获取和释放计算资源。
- 按量计费:
简述云计算常见部署模式?
- 私有云:云平台资源只给某个单位、或某部分用户内部使用。
- 公有云:云平台资源开放给社会公众服务。
- 社区云:云平台资源给几个固定的单位内使用。
- 混合云:两个或两个以上不同类型的云平台。
简述云计算三种服务模式?
- IaaS:基础设施即服务,云服务商将IT系统的基础设施(如计算资源、存储资源、网络资源)池化后作为服务进行售卖;
- PaaS:平台即服务,云服务商将IT系统的平台软件层(数据库、OS、中间件、运行库)作为服务进行售卖;
- SaaS:软件即服务,云服务商将IT系统的应用软件层作为服务进行售卖。
简述云计算和虚拟化的区别?
云计算:IT能力服务化,按需使用,按量计费,多租户隔离,是一个系统的轻量级管理控制面。
虚拟化:环境隔离,资源复用,降低隔离损耗,提升运行性能,提供高级虚拟化特性。
虚拟化是实现云计算的技术支撑之一,但并非云计算的核心关注点。
简述私有云相对公有云有哪些优势?
- 数据安全性更高;
- 可节省上云迁移过程中的大量成本;
- 业务快速部署,缩短业务周期;
- 降低企业成本,自主可控。
简述什么是KVM?
KVM指基于内核的虚拟机(Kernel-based Virtual Machine),它是一个Linux的一个内核模块,该内核模块使得Linux变成了一个 Hypervisor,从而实现虚拟化:
- 它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购。
- 它支持 x86 (32 and 64 位)、s390、Powerpc 等 CPU。
- 它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
- 它需要支持虚拟化扩展的 CPU。
- 它是完全开源的。
系统管理
简述Rsync及其特点?
Rsync是Linux系统中的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上。rysnc不仅仅能对不同位置的文件和目录进行同步,还可以差异计算,压缩传输文件来最小化数据传输,和cp命令相比,rysnc的优势在于高效的差异算法。并且,rysnc还支持网络数据传输,在复制文件的同时,会把源端与目的端的文件进行比较,只有当文件不一样的时候在进行复制。具有以下特性:
- 可以镜像保存整个目录树和文件系统。
- 可以同步增量数据,文件传输效率高,同步时间短。
- 可以保留原有文件的权限、时间等属性。
- 加密传输数据,保证了数据的安全性。
简述iptables规则工作过程?
iptables防火墙是一层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
如果匹配上了规则,即明确表明是阻止还是通过,此时数据包就不能向下匹配新规则了。
如果所有规则中没有明确表明是阻止还是通过这个数据包,也就是没有匹配上规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
防火墙的默认规则是对应链的所有的规则执行完才会执行的,即最后执行的规则。
简述iptables有几个链、表及每个表的作用?
iptables有5个链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING。
iptables有4个表:Filter、NAT、Mangle、RAW。
-
Filter:主要和主机自身有关,真正负责主机防火墙功能(过滤流入流出主机的数据包)。filter表是iptables默认使用的表。filter定义了三个链(chains):
-
- INPUT:负责过滤所有目标地址是本机地址的数据包,通俗的讲,就是过滤进入主机的数据包
- FORWARD:负责转发流经主机的数据包。起转发的作用,和nat关系很大,
- OUTPUT:处理所有源地址是本机地址的数据包,通俗的讲,就是处理从主机发出去的数据包
对于filter表的控制是实现本机防火墙功能的重要手段,特别是对INPUT链的控制。
-
nat:负责网络地址转换,即来源与目的ip地址的port的转换,一般用于局域网共享上网或特殊的端口转换服务相关,nat功能就相当于网络的acl控制。。nat定义了三个链(chains):
-
-
- OUTPUT:和主机发出去的数据包有关,改变主机发出数据包的目标地址。
- PREROUTING:在数据包到达防火墙时进行路由判断之前执行的规则。作用时改变数据包的目的地址,目的端口等。
- POSTROUTING:在数据包离开防火墙时进行路由判断之后执行的规则,作用改变数据包的源地址,源端口等。
-
RAW:RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了。RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。
-
Mangle:实现流量整形,主要用于修改数据包的ToS( Type of Service ,服务类型)、TTL(Time toLive,生存周期)以及为数据包设置 Mark 标记,以实现 QoS(Quality of Service,服务质量)调整以及策略路由等应用。
简述iptables各个表的优先级?
4个表的优先级由高到低的顺序为:raw-->mangle-->nat-->filter。
简述iptables处理经过的数据包的流程?
iptables利用表和链处理每个经过的数据包,具体流程(步骤)如下:
- 数据包到达网络接口,比如 eth0。
- 进入 raw 表的 PREROUTING 链,这个链的作用是在连接跟踪之前处理数据包。
- 如果进行了连接跟踪,则进行处理。
- 进入 mangle 表的 PREROUTING 链,在此可以修改数据包,比如 TOS 等。
- 进入 nat 表的 PREROUTING 链,可以在此做DNAT,但不做过滤。
- 决定路由,看是交给本地主机还是转发给其它主机,即决定是否继续往内还是往外。
到了这里需要分两种不同的情况进行讨论了。
- 若数据包决定要转发给其它主机,这时候它会依次经过:
- 进入 mangle 表的 FORWARD 链,这里是在第一次路由(即步骤6)决定之后,在进行最后的路由决定之前,仍然可以对数据包进行某些修改。
- 进入 filter 表的 FORWARD 链,这里可以对所有转发的数据包进行过滤。
- 进入 mangle 表的 POSTROUTING 链,这里将完成了所有的路由决定,但数据包仍然在本地主机,还可以进行某些修改。
- 进入 nat 表的 POSTROUTING 链,这里一般都是用来做 SNAT ,不在这里进行过滤。
- 进入出去的网络接口,然后进行发送。
- 另一种情况是,数据包就是发给本地主机的,那么它会依次穿过:
- 进入 mangle 表的 INPUT 链,这里是在第一次路由(即步骤6)决定之后,在进行最后的路由决定之前,仍然可以对数据包进行某些修改。
- 进入 filter 表的 INPUT 链,这里可以对流入的所有数据包进行过滤,无论它来自哪个网络接口。
- 交给本地主机的应用程序进行处理。
- 处理完毕后进行路由决定,看该往那里发出。
- 进入 raw 表的 OUTPUT 链,这里是在连接跟踪处理本地的数据包之前。
- 连接跟踪对本地的数据包进行处理。
- 进入 mangle 表的 OUTPUT 链,这里可以修改数据包,但不做过滤。
- 进入 nat 表的 OUTPUT 链,可以对防火墙自己发出的数据做 NAT 。
- 再次进行路由决定。
- 进入 filter 表的 OUTPUT 链,可以对本地出去的数据包进行过滤。
- 进入 mangle 表的 POSTROUTING 链,同上一种情况的第9步。
- 进入 nat 表的 POSTROUTING 链,同上一种情况的第10步。
- 进入出去的网络接口,然后进行发送。
运维工具
简述Ansible及其优势?
Ansible是一款极其简单的开源的自动化运维工具,基于Python开发,集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点。实现了批量系统配置,批量程序部署,批量运行命令等功能。
同时Ansible是基于模块工作,其实现批量部署的是ansible所运行的模块。
Ansible其他重要的优势:
- 跨平台支持:Ansible在物理、虚拟、云和容器环境中为Linux、Windows、UNIX和网络设备提供无代理支持。
- 人类可读的自动化:Ansible playbook以YAML文本文件的形式编写,易于阅读,有助于确保每个人都理解他们将要做的事情。
- 对应用程序的完美描述:Ansible playbook可以进行任何更改,并且可以描述和记录应用程序环境的每个细节。
- 易于管理的版本控制:Ansible剧本和项目是纯文本。它们可以像源代码一样处理,并放在现有的版本控制系统中。
- 支持动态库存:Ansible管理的机器列表可以从外部资源动态更新,以便随时捕获所有受管服务器的正确的当前列表,无论基础设施或位置如何。
- 易于与其他系统集成的编排:HP SA、Puppet、Jenkins、Red Hat Satellite,以及存在于环境中的其他系统,都可以被利用并集成到Ansible工作流中。
简述Ansible工作机制及其特性?
Ansible是一款自动化运维工具,基于Python开发,具有批量系统配置, 批量程序部署, 批量运行命令等功能。
其工作机制如下:
- 用户使用Ansible或Playbook,在服务器中断输入Ansible的Ad-Hoc命令集或Playbook;
- Ansible遵循预先编排的规则将Playbooks逐条拆解为Play;
- Play组织成Ansible可识别的任务(Task);
- Task会调用任务所涉及的所有模块(Module)和插件(Plugin);
- 读取Inventroy中定义的主机列表;
- 通过SSH认证(默认)将任务集以临时文件或命令的形式传输到远程客户端执行并返回执行结果。
其特性如下:
- no agents:不需要在被管控主机上安装任何客户端,只需SSH、Python即可,建议Python版本为2.6.6以上;
- no server:无服务器端, 使用时直接运行命令即可;
- modules in any languages:基于模块工作, 丰富的内置模块,可使用任意语言开发模块;
- yaml, not code:使用yaml语言定制剧本playbook,易于管理,API简单明了;
- ssh by default:基于SSH工作,整个过程简单、方便、安全,建议使用公钥方式认证;
- label multi-tier solution:可实现多级指挥。
简述Ansible中如何保存敏感数据?
在ansible内容中保留秘密数据并仍然公开共享,那么可以在playbooks中使用Vault。Ansible Vault,它包含在Ansible中,可以加密和解密Ansible使用的任何结构化数据文件。
简述Ansible适合的场景?
Ansible将编排与配置管理、供应和应用程序部署结合并统一在一个易于使用的平台上。Ansible的一些主要场景包括:
- 配置管理:集中配置文件管理和部署是Ansible的一个常见场景。
- 应用程序部署:当使用Ansible定义应用程序,并使用Ansible Tower管理部署时,团队可以有效地管理从开发到生产的整个应用程序生命周期。
- 部署:当在系统上部署或安装应用程序时,Ansible和Ansible Tower可以帮助简化供应系统的流程,无论是PXE启动的裸金属服务器或虚拟机,还是从模板创建虚拟机或云实例。
- 持续交付:创建CI/CD管道需要许多团队的协调和参与。如果没有一个简单的自动化平台,团队协作很难完成。而Ansible playbook在应用程序的整个生命周期中可以保持适当的部署(和管理)
- 安全性和审计:当安全策略在Ansible中定义时,可以将站点范围的安全策略的扫描和修复集成到其他自动化流程中。安全性是部署的所有内容中不可或缺的一部分。
- 编排:配置本身不能定义环境,需要定义多个配置如何交互,并确保可以将不同的部分作为一个整体来管理。
简述Ansible Inventory?
Ansible中受管主机列在主机清单(inventory)文本文件中,清单还将这些系统组织成group,以便更容易地进行批量管理。一个Inventory定义了Ansible将管理的主机集合。这些主机还可以分配至组,可以对组进行批量管理。组可以包含子组,主机可以是多个组的成员。Inventory根据类型可分为静态清单和动态清单:
- 静态主机Inventory可以由文本文件定义。
- 动态主机Inventory可以由脚本或其他程序根据需要使用外部信息提供者生成。
简述Ansible配置文件优先级?
Ansible 只使用最高优先级配置文件中的设置,其它配置文件中的设置将被忽略。即使存在其他优先级较低的文件,它们的设置也将被忽略,并且不会与所选配置文件中的设置相结合。
$ANSIBLE_CONFIG环境变量指定的任何文件都将覆盖所有其他配置文件。如果没有设置该变量,接下来将检查运行ansible命令的目录以查找ansible.cfg文件。如果该文件不存在,则检查用户的主目录以查找.ansible.cfg文件。如上配置文件都不存在时,才使用全局/etc/ansible/ansible.cfg文件。
简述Ansible ad-hoc命令?
Ad-Hoc命令是一种快速执行单个Ansible任务的方法,适合于不需要永久保存该任务,临时执行的场景。Ad-Hoc是简单的控制台操作,无需编写剧本就可以运行。它们对于快速测试和更改非常有用。
简述Ansible ad-hoc和playbook的区别?
-
Ad-Hoc 命令可以作为一次性命令对一组目标主机运行单个、简单的任务。
-
Ad-Hoc 不适合复杂配置管理或编配场景,Ad-Hoc 一次只能调用一个模块和一组参数。当需要多个操作时,必须使用多个 Ad-Hoc 来执行。
-
playbook可以实现以一种简易重复的方式对一组目标主机运行多个复杂的任务。
-
Playbook 是描述要在受管主机上实施的必要配置或程序性步骤的文件。
-
Playbook 为配置管理和部署提供了强大而灵活的解决方案。
-
Playbook 可以将冗长而复杂的管理任务转变为可轻松重复的历程,并且可预测成果然而。
-
playbook 是一个文本文件,其中包含一个或多个按顺序运行的play的列表。
-
playbook中,可以将playbook中的tasks保存为人类可读且可立即运行的形式。
-
play 是一组有序的任务,应该对从目录中选择的主机运行。
简述Ansible变量?
Ansible 利用变量存储整个 Ansible 项目文件中可重复使用的值,从而可以简化项目的创建和维护,并减少错误的发生率。在定义Ansible变量时,通常有如下三种范围的变量:
- global范围:从命令行或Ansible配置中设置的变量;
- play范围:在 play 和相关结构中设置的变量;
- host范围:inventory、facts 或 register 的变量,在主机组和个别主机上设置的变量。
简述Ansible如何实现任务的循环?
简单循环:
- Ansible支持使用loop在一组item上迭代任务;
- loop可以使用列表中的每个项、列表中每个文件的内容、生成的数字序列或使用更复杂的结构来重复任务。
- 使用loop使管理员不必编写使用相同模块的多个任务。
复杂(嵌套)循环:
- with_nested键用于嵌套循环,循环在循环中运行。它需要一个包含两个或多个列表的列表。例如,将一个列表划分为两个列表,任务将迭代第一个列表中的每一项与第二个列表中的每一项。
简述Ansible hanlder?
Ansible模块被设计成幂等的,即在一个适当编写的剧本中,剧本及其任务可以在不更改受管主机的情况下多次运行,除非它们需要进行更改以使受管主机达到所需的状态。
然而,有时当一个任务对系统进行了更改后同时需要运行另一个任务。例如,对服务的配置文件的更改可能需要重新加载服务,以便更改后的配置生效。此时就需要使用hanlder程序。handler程序是响应由其他任务组成的通知的任务。每个handler程序都有一个全局惟一的名称,并在剧本中任务块的末尾触发。
如果没有任务通过名称调用handler程序,它将不会运行。
如果一个或多个任务都调用handler程序,它将在剧中的所有其他任务完成后仅运行一次。
因为handler程序是任务,所以可以在handler程序中使用与处理任何其他任务相同的模块。通常,handler程序用于重新启动主机和重新启动服务。
handler程序可以视为非活动任务,只有在使用notify语句显式调用时才会触发这些任务。
简述Ansible Block?
在 playbook 中, blocks 是囊括了任务的子句;
blocks 允许对任务进行逻辑分组,并可用于控制任务的执行方式,例如,管理员可以定义一组主要任务和一组附加任务,附加任务仅在第一组失败时执行。为此,可利用三个关键字在 playbook 中使用块:
- block:定义要运行的主要任务;
- rescue:定义将在 block 子句中定义的任务失败时运行的任务;
- always:定义始终都独立运行的任务,不论 block 和 rescue 子句中定义的任务是成功还是失败。
简述Ansible如何处理play错误的?
Ansible审查每个任务的返回代码,以确定任务是否成功或失败。默认情况下,当一个任务失败时,Ansible会立即中止该主机上的其他操作,并跳过所有后续任务。
实际生产中,若希望即使任务失败也能继续执行play,Ansible也包含了多种特性用于管理任务错误:
忽略任务失败:在任务中使用ignore_errors关键字忽略错误,即使任务失败,也继续在主机上执行playbook。
简述Ansible角色?
数据中心有各种不同类型的主机。如web服务器、数据库服务器,基于开发环境的服务器。随着时间的推移,具有处理所有这些情况的任务和人员的Ansible playbook将变得庞大而复杂。
- 角色允许将复杂的剧本组织成独立的、更小的剧本和文件。
- 角色提供了一种从外部文件加载任务、处理程序和变量的方法。
- 角色也可关联和引用静态的文件和模板。
- 角色可以编写成满足普通用途需求,并且能被重复利用。
- 定义角色的文件具有特定的名称,并以严格的目录结构进行组织。
简述Ansible Galaxy?
Ansible Galaxy是一个由各种Ansible管理员和用户编写的Ansible角色的公共库。它是一个包含数千个Ansible角色的归档文件,并且有一个可搜索的数据库,帮助Ansible用户识别可能帮助他们完成管理任务的角色。Ansible Galaxy包括指向新用户和角色开发人员的文档和视频的链接。
简述Ansible如何控制任务的并行执行?
通过在所有主机上并行运行任务,Ansible可以对剧本的执行进行更多的控制。默认情况下,Ansible默认最多并行5个,因此它将同时在5台不同的机器上运行一个特定的任务。Ansible可以通过配置forks来设置并行执行任务数量。
同时Ansible也可以通过serial来减少ork数量所指定的并行书,serial关键字主要用于控制滚动更新,避免一次性更新过多的节点。
简述Ansible故障后的排查思路?
- 日志判断:默认情况下,Ansible没有配置为将其输出,记录到任何日志文件中。可通过ansible.cfg配置文件default部分中的log_path参数或$ANSIBLE_LOG环境变量进行配置。然后通过日志进行定位。
- Debug模块:调试模块是Ansible可用的模块之一,它可以更好地了解控制节点上正在进行的操作。这个模块可以在playbook执行时为某个变量提供值。
- syntax-check:通过ansible-playbook 命令的 --syntax-check命选项检查剧本的YAML语法。
- diff:Ansible还提供了--diff选项。此选项报告对受管主机上的模板文件所做的更改。如果与--check选项一起使用,这些更改将显示出来,而不是实际执行。从而判断Ansible整个过程需要做何种更改。
开源应用
简述Ceph的优势及其特点?
Ceph是一个分布式的数据对象存储,Ceph相对其他存储系统具有如下优势:
- CRUSH算法: ceph摒弃了传统的集中式存储元数据寻址的方案,而使用CRUSH算法完成数据的寻址操作。能够实现各类负载的副本放置规则,例如跨机房、机架感知等。Crush算法有相当强大的扩展性,理论上支持数千个存储节点,从而增强了Ceph弹性扩展和高可用性。
- 高可用:通过CRUSH算法指定副本的物理存储位置以分隔故障域,支持数据强一致性,ceph可以忍受多种故障场景并自动尝试并行修复。
- 高扩展性:Ceph本身并没有主控节点,扩展起来比较容易,并且理论上,它的性能会随着磁盘数量的增加而线性增长。
- 特性丰富:Ceph支持三种调用接口:对象存储,块存储,文件系统挂载。三种方式可以一同使用。
Ceph主要特点如下:
- 统一存储;
- 无任何单点故障;
- 数据多份冗余;
- 存储容量可扩展;
- 自动容错及故障自愈。
简述Ceph存储体系架构?
Ceph体系架构主要由RADOS和RADOS GW和RBD以及CephFS构成。
-
RADOS(Reliable, Autonomic Distributed Object Store)是Ceph的底层核心,RADOS本身也是分布式存储系统,CEPH所有的存储功能都是基于RADOS实现。RADOS由两个组件组成:OSD和Monitor。
-
- OSD主要提供存储资源,每一个disk、SSD、RAID group或者一个分区都可以成为一个OSD,而每个OSD还将负责向该对象的复杂节点分发和恢复;
- Monitor维护Ceph集群并监控Ceph集群的全局状态,提供一致性的决策。
-
RADOS GW和RBD:RADOS GateWay、RBD其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。其中,RADOS GW是一个提供与Amazon S3和Swift兼容的RESTful API的gateway,以供相应的对象存储应用开发使用。 RBD则提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建volume。
-
CEPHFS:CEPHFS则提供了POSIX接口,用户可直接通过客户端挂载使用。
简述Ceph Pool有几种类型?
Ceph存储池Pool是Ceph存储集群用于存储对象的逻辑分区。池类型确定池用于确保数据持久性的保护机制,Ceph有两种Pool类型:
replication类型:在集群中分布每个对象的多个副本。
erasure coding类型:将每个对象分割成块,并将它们与其他擦除编码块一起分发,以使用自动纠错机制保护对象。
简述Ceph Pool、PG、ODDs的关系?
Ceph存储池Pool是Ceph存储集群用于存储对象的逻辑分区。
Pool中存在一定的数量的PG,PG将对象存储在一组由CRUSH算法确定的osd中。
Ceph使用CRUSH算法将对象分配给池中的一个PG,根据池的配置和CRUSH算法,PG自动映射到一组OSDs。
一个PG里包含一堆对象,一个对象只能属于一个PG。
简述Ceph节点的角色?
所有Ceph存储集群的部署都始于部署一个个Ceph节点、网络和Ceph存储集群。Ceph存储集群至少需要一个Ceph Monitor和两个OSD守护进程。而运行Ceph文件系统客户端时,则必须要有元数据服务器(Metadata Server)。
- Ceph OSDs:Ceph OSD守护进程( Ceph OSD )的功能是存储数据,处理数据的复制、恢复、回填、再均衡,并通过检查其他OSD守护进程的心跳来向Ceph Monitors提供一些监控信息。当Ceph存储集群设定为有2个副本时,至少需要2个OSD守护进程,集群才能达到active+clean状态(Ceph默认有3个副本)。
- Monitors:Ceph Monitor维护着展示集