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

文件访问协议

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

文章目录

  • 文件访问协议
    • NFS
      • NFS架构
      • NFS配置及挂载
        • 安装nfs-utils
        • 识别
        • 显示NFS客户端信息
        • 挂载
    • CIFS
    • FTP
    • HTTP
    • NFS CIFS FTP HTTP四种访问协议的对比
    • Samba服务
    • iscsi
      • 什么是SCSI
      • 什么是 iSCSI
      • iSCSI报文
        • 写入U盘等外设
      • 建立iSCSI会话
        • 命名阶段
        • 发现阶段
        • 登录阶段
    • S3
      • S3桶(Bucket)
        • Bucket在互联网中的应用
      • S3 命名空间(Namespace)
        • 访问Bucket的方式
          • Virtual 域访问
          • Path 地址访问
      • 区域(Region)
      • 对象Object
        • Bucket + Key + Version ID 三要素
        • Key
        • Value
        • Version ID
        • ID
        • Metadata
        • Subresources
        • Access Control Information
      • Object名字
      • S3发送请求的方式

NFS

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

NFS架构

OpenStack+Ceph集群学习记录 文件访问协议_第1张图片
客户访问都是对等的
挂在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四种访问协议的对比

OpenStack+Ceph集群学习记录 文件访问协议_第2张图片
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 报文中
OpenStack+Ceph集群学习记录 文件访问协议_第3张图片

写入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

你可能感兴趣的:(文件系统,openstack,ceph集群,linux)