Linux文件共享简介
- Samba
-
-
- samba是什么
- SAMBA主要功能
- SAMBA的安全级别
- samba两个主服务
-
- NFS
-
-
- NFS简介
- NFS的工作原理
- NFS挂载原理:
- 络延迟处理
-
- iSCSI
-
-
- scsi和iscsi
- ISCSI简介
- 了解SCSI
- 了解ISCSI
- 了解ISCSI SAN
- 工作流程
- iSCSI数据封装
- 部署iscsi前的说明和需求描述
-
- FTP
-
-
- 组成部分
- 工作方式
- FXP
- 用户授权
- 传输模式
-
- 对比
Samba
samba是什么
- samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。
- SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于ClientServer型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。
当Windows是Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。 - SAMBA是一个实现不同操作系统之间文件共享和打印机共享的一种SMB协议的免费软件
- SMB(Server Message block)协议是window下所使用的文件共享协议,我们在linux系统或者其类unix系统当中可以通过samba服务来实现SMB功能。
SMB协议又称为CIFS(Common Internet File System)协议
SAMBA主要功能
- 在 络上共享目录,决定访问权限。
- 在 络上共享打印机,决定访问权限。
- 加入一个windows域环境
- 通过windows域环境进行认证操作。这个相比于NFS是安全的。NFS缺乏认证机制,在局域 当中没有得到更安全的保障。
SAMBA的安全级别
从低到高分为四级:share,user,server,domain。它们对应的验证方式如下:
- share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。我在Linux7版本中配置此模式,系统一直 错。
- user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
- server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。
samba两个主服务
-
smbd (提供samba核心功能也是使用最多的一种功能) 提供文件及打印共享服务功能,使用 139、445端口
-
nmbd提供Netbios(解析协议慢慢的被淘汰)支持,使用137、138端口,而对于这种协议使用较少,现在都是dns进行解析一般作为文件共享使用samba,则只需要smbd服务
-
samab服务开启之前需要关闭两个服务,iptables防火墙,selinux服务。
这是为了放行smb的端口。(samba服务需要占用TCP端口139,445 UDP端口 137,138)
Linux samba的配置和使用
SAMBA 的实现原理以及使用方法
-
当我们在NFS服务器设置好一个共享目录/home/public后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。
-
并且挂载好后我们在本地能够看到服务端/home/public的所有数据。如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进行读写。
-
挂载后,NFS客户端查看磁盘信息命令:#df –h。
-
既然NFS是通过 络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的 络端口,NFS服务器到底使用哪个端口来进行数据传输呢/p>
-
基本上NFS这个服务器的端口开在2049,但由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;
-
既然是随机的那么客户端又是如何知道NFS服务器端到底使用的是哪个端口呢时就需要通过远程过程调用(Remote Procedure Call,RPC)协议来实现了!
RPC与NFS通讯原理: ?
- 因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,
- 客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。当服务器在启动 NFS 时会随机取用数个埠口,并主动的向 RPC 注册,因此 RPC 可以知道每个埠口对应的 NFS 功能,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回 客户端正确的埠口
- PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。
那么RPC又是如何知道每个NFS功能的端口呢/p>
-
首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的请求,
-
如果客户端有请求,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。如此客户端就会获取NFS服务器端的端口信息,就会以实际端口进行数据的传输了。
-
注意:在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效
NFS客户端和NFS服务器通讯过程:
络文件系统的替代物
- 本质上,iSCSI 让两台主机通过 IP 络相互协商然后交换SCSI命令。这样一来,iSCSI就是用广域 仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域 (SAN)。
- 不像某些 SAN 协议,iSCSI 不需要专用的电缆;它可以在已有的交换和 IP 基础架构上运行。然而,如果不使用专用的 络或者子 ( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能会严重下降。
- 于是,iSCSI 常常被认为是光纤通道(Fiber Channel)的一个低成本替代方法,而光纤通道是需要专用的基础架构的。但是,基于了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两台计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域 集线来把SA以太 的光纤通道(FCoE)则不需要专用的基础架构。
- 虽然 iSCSI 可以与任意类型的 SCSI 设备进行通信,系统管理员几乎总是使用它来连接服务器计算机 (例如,数据库服务器) 和磁盘卷上存储阵列。
使用iSCSI SAN 的目的通常有以下两个
- 存储集成公司希望将不同的存储资源从分散在 络上的服务器移动到统一的位置(常常是数据中心); 这可以让存储的分配变得更为有效。 SAN 环境中的服务器无需任何更改硬件或电缆连接就可以得到新分配的磁盘卷。
- 灾难恢复公司希望把存储资源从一个数据中心镜像到另一个远程的数据中心上,后者在出现长时间停电的情况下可以用作热备份。 特别是,iSCSI SAN 使我们只需要用最小的配置更改就可以在 WAN 上面迁移整个磁盘阵列,实质上就是,把存储变成了“可路由的”,就像普通的 络通信一样。
了解ISCSI SAN
iSCSI SAN组件与FC SAN组件相类似。包括以下部件:
-
iSCSI Client/Host:系统中的iSCSI客户端或主机(也称为iSCSI
initiator),诸如服务器,连接在IP 络并对iSCSI target发起请求以及接收响应。每一个iSCSI主机通过唯一的IQN来识别,类似于光纤通道的WWN。 要在IP 络上传递SCSI块命令,必须在iSCSI主机上安装iSCSI驱动。 - iSCSI Target:iSCSI target是接收iSCSI命令的设备。此设备可以是终端节点,如存储设备,或是中间设备,如IP和光纤设备之间的连接桥。每一个iSCSI target通过唯一的IQN来标识,存储阵列控制器上(或桥接器上)的各端口通过一个或多个IP地址来标识。
本机与异构IP SAN: iSCSI initiator与iSCSI target之间的关系所下图所示:
工作流程
- 第一步:iSCSI系统由SCSI适配器发送一个SCSI命令,命令封装到TCP/IP包中并送入到以太 络中进行传输。
- 第二步:接收方从TCP/IP包中提取SCSI命令并执行相关操作,执行完毕后,将返回的SCSI命令和数据封装到TCP/IP包中,把它们发回到发送方;
- 第三步:发送方的iSCSI系统从接收方发过来的TCP/IP包中提取出数据或命令,并把它们传回到SCSI子系统。
显然,HBA卡实现iSCSI是最好的方案,但是它要花钱,还不便宜。
部署iscsi前的说明和需求描述
说明
- iscsi在target端是工作在套接字上的,监听端口默认是3260,且使用的是tcp连接。因为要保证数据安全性,使用udp可能会导致丢包。
- iscsi对客户端有身份认证的需要,有两种认证方式:基于IP认证,基于CHAP认证(双方都进行验证,即双向认证)。
需求描述
- 找一台服务器A作为iscsi的target,将其中的一块磁盘或分区/dev/sdb当作要共享的存储设备共享出去。再找两台服务器B和C当作iscsi initiator连接到target的共享存储上。

FTP
- FTP协议 锁定 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。
组成部分
其一为FTP服务器,其二为FTP客户端。
- 其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!