概述

对象存储服务目前主流方式是通过aws sdk和restapi,以及预签名url等进行访问,也有使用s3cmd,s3browser等开源客户端进行访问。这些访问方式不仅支持数据的访问下载,同时也支持acl,policy,lifecycle,以及cors等配置管理。 在部分应用和业务场景下,需要将S3服务作为类文件系统接口,映射到本地使用。目前linux下使用较多的是s3fs,该工具可直接将s3bucket挂载为本地文件系统(s3fs挂载ceph rgw服务)。而本文主要演示如何windows下将s3bucket映射为本地磁盘。

软件需求

  • windows环境
  • 安装winfsp支持(下载地址)
  • 安装rclone(下载地址)
  • 对象存储环境(minio服务、ceph radosgw服务)的endpoint和对应的ak sk。

环境配置

winfsp直接下载安装即可

rclone下载完成后是一个离线解压包,其中包含rclone.exe可执行文件,下载后只需要解压到本地任意目录即可。

如图,将rlcone.exe所在文件夹放置于D盘根目录下。

从nas导入镜像_运维


然后在配置系统环境变量

从nas导入镜像_windows_02

从nas导入镜像_ceph_03


在系统变量 Path中加上rclone.exe所在的目录

从nas导入镜像_ceph_04


此处以D:\rclone为例

从nas导入镜像_运维_05


配置完成

从nas导入镜像_ceph_06

使用rclone挂载

  1. 新建rclone配置文件
rclone config

会提示当前没有远程配置,是否新建

从nas导入镜像_运维_07


2. 这里输入n,回车,选择new remote

从nas导入镜像_运维_08

  1. 输入我们想定义的磁盘名称,然后回车继续,此处以s3disk为例

从nas导入镜像_ceph_09

  1. 提示选择我们要使用的存储类型,我们使用s3类存储,这里选择5
  2. 从nas导入镜像_运维_10

  3. 继续选择细分的s3服务类型,此处根据自己的对象服务来选择,常见的,如果ceph radosgw作为对象存储服务后端,此处选择4,如果使用minio此处选择18,阿里云OSS为2,其余的自行判断。此处以ceph 对象存储为例:
    选择4后继续
  4. 从nas导入镜像_linux_11

  5. 提示让我们选择验证方式,直接回车。会提示要输入ak/sk,依次输入即可

从nas导入镜像_windows_12

  1. region部分直接回车,进入endpoint部分,输入对象存储服务终端地址。(ceph对象存储为radosgw服务ip:7480)
  2. 从nas导入镜像_从nas导入镜像_13

  3. ACL部分按需选择,如果没有特别需求,直接回车,采用私有桶即可。这里也解释下各种ACL。
  4. 从nas导入镜像_从nas导入镜像_14

  5. 分别为:
  • 私有(只有桶owner有完全权限,其余任何用户无法访问)也是s3 create bucket默认的桶类型
  • 公共读(桶owner完全权限,所有用户可读)
  • 公共读写(桶owner完全权限,所有用户可以读写)
  • 认证读(桶owner完全权限,其余s3用户通过aksk认证的用户可以读)
  • 桶拥有者读(对象拥有者拥有对象的完全权限,桶拥有者对桶内所有对象有读权限)
  • 拥有者完全权限(桶和对象拥有者同事拥有对象的完全权限)

一般场景下,我们选择私有桶,和bucket policy进行权限控制,桶acl一般不调整

  1. 服务端加密部分,如不采用,直接回车即可。

kms不采用,直接回车

从nas导入镜像_ceph_15

  1. 这里选择No不编辑高级配置即可。如有需要可以按y进行编辑(包括分段大小,更细的权限控制,压缩方式等),此处不需要,直接回车即可
  2. 从nas导入镜像_linux_16

  3. 配置完成后,按q退出即可
  4. 到此配置完成,可以进行挂载,挂载命令格式如下:
rclone mount 配置Name:/桶名 挂载后显示的盘符:  --cache-dir  本地缓存文件夹  --vfs-cache-mode writes

此处实际挂载命令为

rclone mount s3disk:/cephbucket Z: --cache-dir D:\disk-cache --vfs-cache-mode writes

从nas导入镜像_从nas导入镜像_17

  1. 挂载完成,可以看到系统磁盘中多了一个硬盘,至此挂载完成

其他

对象存储服务本质还是索引管理,一级key寻址,和传统nas,目录层级有区别。因此在s3转nas,转本地文件系统中,要注意对象存储特性和文件系统区别。