Linux重要的服务讲述(1)
NFS
- 概述
NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
最早由sun公司开发,是类unix系统间实现磁盘共享的一种方法- 工作原理

如上图,当我们在NFS服务器设置好一个共享目录/data/share后,其他的有权限访问NFS服务器的NFS客户端就可以讲这个目录挂载到自己的本地,并且能看到服务端/data/share下的所有数据,NFS是通过网络来进行Server端和Client端之间的数据传输,既然走网络,双方肯定都要有端口,哪NFS Server怎么知道使用哪个端口来进行数据传输,NFS其实会随机选择端口来进行数据传输,NFS服务器是通过远程过程调用RPC(Remote Procedure Call)协议来实现的,所以,RPC管理服务端的NFS端口分配,客户端要传数据,那么客户端的RPC会先跟服务端的RPC去要服务器的端口,要到端口后,再建立连接,然后传输数据
RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。NFS 服务器在启动的时候就得要向 RPC 注册,所以 NFS 服务器也是一种 RPC server 。
- NFS服务所需用到的软件
nfs-utils:NFS服务的全程序,包括rpc.nfsd、rpc.mountd这两个daemons和相关文档说明,以及执行命令文件等。
rpcbind:Centos.x下面RPC的主程序。NFS可视为一个rpc程序,在互动任何一个RPC程序之前,需要做好端口和功能的对应映射工作,这个映射工作就是由RPCBIND服务来完成的。因此,在提供NFS服务之前必须先启动RPCBIND服务。
named
- 概述
named服务,也就是dns,一般来讲域名比IP地址更加的有含义、也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了。
通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。
TLD(top level domain)
组织域:.com, .org, .net, .cc
国家域: .cn, .tw, .hk, .iq, .ir, .jp
反向域: IP-->FQDN 将IP地址转换成主机名,早期只能正向解析,后来引入了一个机制。指针;但是从IP转换成FQDN是另外一套数据库。
DNS服务协议采用类似目录树的层次结构记录域名与IP地址的映射对应关系,形成一个分布式的数据库系统,上级仅知道其直接下级,下级只知道根的位置。结构模型:

DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析:
正向解析:根据主机名(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机名(域名)。
DNS使用的端口号
UDP TCP:53 优先使用UDP这种查询比较快的协议;当主从DNS同步数据时使用TCP这种可靠的传输协议- 主配置文件
options { 全局配置
listen-on port 53 { any;}; 监听端口
listen-on-v6 port 53 { ::1; };
directory "/var/named"; 指定区域文件存储目录
dump-file "/var/named/data/cache_dump.db"; dump cache目录
allow-query { any; }; 指定允许进行查询的主机
recursion yes; 是否允许递归查询
pid-file "/var/run/named" 指定pid的位置
allow-transfer { none; };指定允许接受区域传送请求的主机(定义为辅助DNS)
forwarders { 114.114.114.114; }; 设置转发
forward only|first; 仅转发|优先转发
};
logging { 指定服务器日志记录的内容和日志信息来源
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {指定区域
type hint; 指定区域类型 hint根 master主服务 slave 从
file "named.ca"; zone文件名
};
LVS负载均衡群集
- LVS(Liunx Virtual Server)
LVS作用就是实现负载均衡,而负载均衡简单来所就是将用户请求合理的分流到后端节点之上,以实现资源的高效利用。
LVS特点是可以跨平台,也就是在windows、Linux系统之上都可以用。
LVS的核心组件:
ip_vs:linux的内核功能模块,工作在内核,依赖该内核模块实现负载均衡功能
ipvsadm:应用层程序,该程序可以和内核中的ip_vs模块通信,实现对负载均衡的管理和控制
keepalived也可以对ip_vs进行管理
- LVS的工作模式:DR模式、NAT模式、TUN模式、。
地址转换:简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是个节点回应客户机的访问出口,服务器节点使用私有IP地址,与负载均衡调度器位于同一个物理网络,安全性要优于其他两种方式。
IP隧道:简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负调度器。服务器节点分散在互联网的不同位置,具有独立的公网IP地址,通常专用IP隧道与负载调度器相互通信。
直接路由:简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但个节点并不是分散在各地,而是与调度器位于同一个物理网络。负载调度器与个节点服务器通过本地网络连接,不需要建立专用的IP隧道。
LVS的调度算法,所谓算法简单来说就是按照什么规则来送后端的多个RS中挑选一个给用户提供服务。算法有静态算法和动态算法。
静态算法:无论后端的RS当前的服务器负载情况怎么样,都安装固定的方式来给RS分配用户请求
rr:Round Bobin,轮询,将客户端的请求交替分配给RS
wrr:Weighted Round Bobin,加权轮询,根据RS的性能不同,让他们来承担不同比例的用户请求
dh:Destination Hashing,目标地址哈希调度,基于用户所请求的地址做哈希表
作用:实现将对于相同的地址的请求调度到同一个RS之上
使用场景:适应于前端是一个DR,后端是多个cache的时候
sh:Source Hashing,源地址的哈希调度,基于用户的ip地址做哈希表
作用:实现将同一个客户端调度到相同的RS之上
- 群集的类型
负载均衡群集:以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟,获得高并发,高负载的整天性能,例如:“DNS轮询”,“应用层交换”,“反向代理”等都可以做负载均衡群集。
高可用群集:以提高应用系统的可靠性,尽可能地减少中断时间,确保服务的连续性,达到高可用的容错效果,例如:“故障切换”,“双机热备”,“多机热备”等都属于高可用群集。
高性能运算群集:以提高应用系统的CPU运算速度,扩展硬件资源和分析能力,获得相当于大型,超级计算机的高性能运算能力,例如:“云计算”等就属于高性能运算群集的一种。
- 载均衡的分层结构
在典型的负载均衡群集中,包括以下三个层次的组件。
第一层:负载调度器,这是访问整个群集系统的唯一入口,多外使用所有服务器共有的VIP(虚拟IP)地址,也称群集IP地址。通常会配置主,备两台调度器实现热备,当主调度器失效以后平滑替换至备用调度器,确保高可用性。
第二层:服务器池:群集所提供的应用服务由服务器池承担,其中的每个节点具有独立的RIP(真实IP)地址,只处理调度器分发过来的客户机请求。
第三层:共享存储,为服务器池中的所有节点提供稳定,一致的文件存取服务,确保整个群集的统一性。在Linux环境中,共享存储可以使用NAS设备或者提供NFS(网络文件系统)共享服务的专用服务器。
Linux重要的服务讲述(1)的更多相关文章
- Linux下网络服务的安全设置
Linux下网络服务的安全设置 Linux操作系统由于其良好的稳定性.健壮性.高效性和安全性.正在成为各种网络服务的理想平台.各种网络应用在Linux系统上部有性能卓越的应用,例如,提供We ...
- Linux下MongoDB服务安装
Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...
- 【VNC】Linux环境VNC服务安装、配置与使用
[VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux 前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...
- Linux下tomcat服务
一:Linux下tomcat服务的启动.关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/loca ...
- 如何查看和停止Linux启动的服务
1. 查看Linux启动的服务chkconfig --list 查询出所有当前运行的服务chkconfig --list atd 查询atd服务的当前状态 2.停止所有服务并且在下次系统启动时不再启 ...
- linux下tomcat服务的启动、关闭与错误跟踪
linux下tomcat服务的启动.关闭与错误跟踪,远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 1).启动tomcat服务 进入tomcat主目录下的bin目录,然后执行如下 ...
- Linux 系统Telnet服务
Linux 系统Telnet服务 telnet与ssh相比,安全性能并不高,但是在ssh版本升级或者其他的情况下还是需要开启这一项服务.linux提供服务是由运行在后台的守护进程daemon来执行的, ...
- linux下维护服务器之常用命令
linux下维护服务器之常用命令! 第1套如下: 正则表达式: 1.如何不要文件中的空白行和注释语句: [root@localhost ~]# grep -v '^$' 文件名 |grep -v '^ ...
- 主机Window不能访问该虚拟机Linux Samba文件服务提供了一个文件夹
我最近遇到一个问题.虚拟机Linux中间Samba服务常开.主办"\\192.168.229.200" (我的虚拟机Linux址)訪问不了Share文件夹(/var/test),并 ...
随机推荐
- 使用Cap解决.Netcore分布式事务
一.什么是Cap CAP 是一个基于 .NET Standard 的 C# 库,它是一种处理分布式事务的解决方案,同样具有 EventBus 的功能,它具有轻量级.易使用.高性能等特点. 在我们 ...
- Linux进阶文档丨阿里架构师十年Linux心得,全在这份文档里面
Linux是什么 Linux就是个操作系统: 它和Windows XP.Windows 7.Windows 10什么的一样就是一个操作系统而已! Linux能干什么: 它能当服务器,服务器上安装者各种 ...
- For input string:"name"
今天写项目的时候遇到了For input string:"name"这个错误,在控制台看报错信息好像是在说类型格式转换错误, 可是我并没有转换格式,这个name是我在jsp页面中使 ...
- “copy” 与 “=“赋值
前拷贝 与 赋值 >>> a = {1:'one',2:'two',3:'three'}>>> b = a.copy()>>> c = a&g ...
- 二叉树的建立&&前中后遍历(递归实现)&&层次遍历
下面代码包含了二叉树的建立过程,以及三种遍历方法了递归实现,代码中还利用队列实现了层次遍历. import java.util.LinkedList; import java.util.Queue; ...
- Internet History,Technology,and Security - The Web Makes it Easy to Use(Week3)
时间如白驹过隙,又到了新的一周的慕课学习啦.这周内容较为简单,主要讲述互联网内部的发展状况. The Early World-Wide-Web Getting to the Web 谈到万维网,我们不 ...
- 为什么说 Java 中只有值传递?
对于初学者来说,要想把这个问题回答正确,是比较难的.在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到哪篇文章可以把这个事情讲解的通俗易懂. ...
- MRC ARC 混编
今天一个人问我 什么是MRC 什么是ARC 要是一个工程里用到了MRC和ARC 怎么办 我当时就无语了 什么情况 这是.... 好了正经一点 我说一下iOS5.0以后就开始可以使用ARC( Aut ...
- [TimLinux] Django 中间件
1. 定义 中间件是一个钩子框架,深入到django的请求/响应处理过程中.这是一个轻量.底层插件系统,目的是全局修改django的输入或输出.每一个中间件组件都是用来处理特定的功能.例如django ...
- Selenium 4.0 Alpha更新日志
早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新. ...