OpenStack+Ceph集群学习记录 文件访问协议

本文详细介绍了文件访问协议,包括NFS的架构和配置、CIFS在Windows环境的应用、FTP与HTTP在网络中的作用。此外,还探讨了iSCSI的原理以及SCSI与iSCSI的区别,并概述了Amazon S3的存储服务,如Bucket的概念、命名空间和访问方式。文章最后讨论了S3的对象存储系统及其RESTful交互方式。
摘要由CSDN通过智能技术生成

文件访问协议

文件访问协议和文件系统是两码事,文件访问协议可以访问多种文件系统,是访问文件的一种方式

NFS

NFS(Network File System)是SUN公司开发,现在由IETF(Internet Engineering Task Force)主持新版本开发的文件共享协议,主要应用于Linux、UNIX、Mac OS和VMware操作系统环境的文件系统共享

NFS架构

在这里插入图片描述
客户访问都是对等的
挂在NFS

mount -t nfs serverip/hostname:/home/nfstestdir/mnt/ 

NFS配置及挂载

安装nfs-utils
yum install nfs-utils -y
识别
showmount -e serverip
显示NFS客户端信息
showmount
挂载
mount serverip:/nfsshare/nfs1 /mnt

CIFS

CIFS(Common Internet File System)是微软公司开发的文件共享协议,主要应用于Windows操作系统环境的文件系统共享。

FTP

FTP(File Transfer Protocol)是TCP/IP网络上两台计算机传输文件的协议,主要应用于Internet。

HTTP

HTTP(Hypertext Transfer Protocol)是用于从WWW(World Wide Web)服务器传输超文本到本地浏览器的传送协议,主要应用于Internet。

NFS CIFS FTP HTTP四种访问协议的对比

在这里插入图片描述
NFS网络容错比较小,可以配置UDP方式进行访问

Samba服务

一个能让Linux系统应用Microsoft网络通讯协议的软件
Samba既可以用于windows与Linux之间的文件共享,也可
以用于Linux与Linux之间的资源共享

iscsi

什么是SCSI

SCSI 即 小型计算机系统接口。小型计算机系统接口(Small Computer System Interface; 简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准,是各种计算机与外部设备之间的接口标准

什么是 iSCSI

iSCSI是一种使用TCP/IP协议,在现有IP网络上传输SCSI块命令的工业 标准,它是一种在现有的IP网络上无需安装单独的光纤网络即可同时传输消息和块数据的突破性技术

iSCSI报文

iSCSI基于应用非常广泛的TCP/IP协议,将SCSI命令/数据块封装为iSCSI包,再封装至TCP 报文,然后封装到IP 报文中
在这里插入图片描述

写入U盘等外设

写入U盘本地文件系统协议进行写入的,对比iSCSI写入的数据没有IP和TCP

建立iSCSI会话

命名阶段

命名阶段:确定需要访问的存储,以及initiator,与FC不同,命名与位置无关;

发现阶段

发现阶段:找到需要访问的存储;

登录阶段

登录阶段:建立于存储的连接,读写之前首先进行参数协商,按照TCP连接登录。

S3

Amazon Simple Storage Service(简称S3),即简单存储服务,是互联网存储解决方案,提供了一个简单 Web 服务接口,可用于随时在Web 上的任何位置存储和检索任何数量的数据

S3桶(Bucket)

Bucket就是用来存储对象(object)的一个集合

Bucket和Object都是资源(resources), 也就是aws能操作的一个实体(entity)
Bucket可以容纳无限的Object

默认一个账户可以创建100个bucket,这个上限是软性限制,可以通过向AWS提交case来提高上限(出于需求)

Bucket需要归属于某个Region,不是Global的。虽然S3的web console页面是Global的

Bucket由附属的子资源(subresources)来定义bucket的配置

Bucket在互联网中的应用

可以对文件进行分类,一个分类保存在一个bucket上,一般使用业务进行分类

S3 命名空间(Namespace)

S3需要唯一的命名空间Bucket名字必须在AWS的整个S3生态中是唯一的,而不仅仅是只在Region中唯一

访问Bucket的方式

Bucket名字必须要全局唯一的原因就是因为Bucket名字也会是域名的一部分,分为域访问和地址访问
一般互联网上一个bucket对应一个子域名

Virtual 域访问

https://bucket.s3.amazonaws.com
https://bucket.s3-aws-region.amazonaws.com

Path 地址访问

https://s3-aws-region.amazonaws.com/bucket

区域(Region)

Region就是bucket实际存放的位置

存放在某个Region的Object永远不会离开这个Region,除非你显式地将它传输出去

选取Bucket的Region的时候,需要考虑延迟,费用等因素。因为建造和运营成本不同,AWS各个Region的S3费用并不相同。而一般来说,选择最近的Region,延迟就越小

对象Object

S3是一个可以存储近似无限数量Object的Key-Value存储系统,Object包括如下元素:

Bucket + Key + Version ID 三要素

Bucket + Key + Version ID 三要素唯一定义了S3中的一个Object

Key

Key - object的名字

Value

Value - 存储的数据,大小范围是0~5TB

Version ID

Version ID - 当versioning功能开启后,每个Object都会拥有一个Version

ID

ID,用来区分有相同Key的不同的Object

Metadata

Metadata - 用来存储Object其他相关信息的Name-value键值对

Subresources

Subresources - 定义了一个Object的额外的资源

Access Control Information

Access Control Information - 控制每个对象的访问策略

Object名字

S3是平面结构的和文件系统不同,S3没有目录
但可以通过使用prefixed来模拟目录

Object的键的名称是一序列的 Unicode 字符,它的 UTF-8编码长度最大为 1024 个字节

强烈建议Object的命名要符合DNS命名要求(因为要通过网络进行访问)
采用如下字符集

字母数字字符 [0-9a-zA-Z]和特殊字符 !、-、_、.、*、’、( 以及)

S3发送请求的方式

S3是一个RESTful的web service
提供http&https的交互方式
通过REST API来发送请求

可以通过以下几种方式来操作S3
AWS Management console
AWS CLI (Command Line Interface)
AWS SDK’s (Software Development Kits)

操作方式
GET 对等于 Download/Read
PUT 对等于 Upload/Write
DELETE 对等于 Delete

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三千院喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值