精华内容
下载资源
问答
  • StorageClass

    千次阅读 2019-07-15 20:30:21
    本文个人博客地址:...StorageClass 1. StorageClass概述 StorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。 StorageClass 对象中包含...

    本文个人博客地址:https://www.huweihuang.com/kubernetes-notes/storage/storage-class.html

    StorageClass

    1. StorageClass概述

    StorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和备份策略或其他策略等。

    StorageClass 对象中包含 provisionerparametersreclaimPolicy 字段,当需要动态分配 PersistentVolume 时会使用到。当创建 StorageClass 对象时,设置名称和其他参数,一旦创建了对象就不能再对其更新。也可以为没有申请绑定到特定 class 的 PVC 指定一个默认的 StorageClass

    StorageClass对象文件

    kind: StorageClass
    apiVersion: storage.k8s.io/v3
    metadata:
      name: standard
    provisioner: kubernetes.io/aws-ebs
    parameters:
      type: gp2
    reclaimPolicy: Retain
    mountOptions:
      - debug
    

    2. StorageClass的属性

    2.1. Provisioner(存储分配器)

    Storage class 有一个分配器(provisioner),用来决定使用哪个卷插件分配 PV,该字段必须指定。可以指定内部分配器,也可以指定外部分配器。外部分配器的代码地址为: kubernetes-incubator/external-storage,其中包括NFSCeph等。

    2.2. Reclaim Policy(回收策略)

    可以通过reclaimPolicy字段指定创建的Persistent Volume的回收策略,回收策略包括:Delete 或者 Retain,没有指定默认为Delete

    2.3. Mount Options(挂载选项)

    由 storage class 动态创建的 Persistent Volume 将使用 class 中 mountOptions 字段指定的挂载选项。

    2.4. 参数

    Storage class 具有描述属于 storage class 卷的参数。取决于分配器,可以接受不同的参数。 当参数被省略时,会使用默认值。

    例如以下使用Ceph RBD

    kind: StorageClass
    apiVersion: storage.k8s.io/v3
    metadata:
      name: fast
    provisioner: kubernetes.io/rbd
    parameters:
      monitors: 30.36.353.305:6789
      adminId: kube
      adminSecretName: ceph-secret
      adminSecretNamespace: kube-system
      pool: kube
      userId: kube
      userSecretName: ceph-secret-user
      fsType: ext4
      imageFormat: "2"
      imageFeatures: "layering"
    

    对应的参数说明

    • monitors:Ceph monitor,逗号分隔。该参数是必需的。

    • adminId:Ceph 客户端 ID,用于在池(ceph pool)中创建映像。 默认是 “admin”。

    • adminSecretNamespace:adminSecret 的 namespace。默认是 “default”。

    • adminSecret:adminId 的 Secret 名称。该参数是必需的。 提供的 secret 必须有值为 “kubernetes.io/rbd” 的 type 参数。

    • pool: Ceph RBD 池. 默认是 “rbd”。

    • userId:Ceph 客户端 ID,用于映射 RBD 镜像(RBD image)。默认与 adminId 相同。

    • userSecretName:用于映射 RBD 镜像的 userId 的 Ceph Secret 的名字。 它必须与 PVC 存在于相同的 namespace 中。该参数是必需的。 提供的 secret 必须具有值为 “kubernetes.io/rbd” 的 type 参数,例如以这样的方式创建:

      kubectl create secret generic ceph-secret --type="kubernetes.io/rbd" \
        --from-literal=key='QVFEQ1pMdFhPUnQrSmhBQUFYaERWNHJsZ3BsMmNjcDR6RFZST0E9PQ==' \
        --namespace=kube-system
      
    • fsType:Kubernetes 支持的 fsType。默认:“ext4”。

    • imageFormat:Ceph RBD 镜像格式,”1” 或者 “2”。默认值是 “1”。

    • imageFeatures:这个参数是可选的,只能在你将 imageFormat 设置为 “2” 才使用。 目前支持的功能只是 layering。 默认是 ““,没有功能打开。

    参考文章:

    展开全文
  • Storage System

    千次阅读 2021-04-05 12:03:15
    Storage SystemSANNFSSANASMExadataFile System SAN 百度 NFS 百度 SAN 百度 ASM 百度 Exadata 百度 File System 百度

    SAN

    NFS

    SAN

    ASM

    Exadata

    File System

    展开全文
  • android Internal storage 和External storage

    千次阅读 2015-07-29 14:54:20
    android Internal storage 和External storage: android 删除文件 保存到Internal Storage --->保密性文件的位置

    android  Internal storage 和External storage:

    • Internal storage:

      • 总是可用的
      • 这里的文件默认只能被我们的app所访问。
      • 当用户卸载app的时候,系统会把internal内该app相关的文件都清除干净。
      • Internal是我们在想确保不被用户与其他app所访问的最佳存储区域。
    • External storage:

      • 并不总是可用的,因为用户有时会通过USB存储模式挂载外部存储器,当取下挂载的这部分后,就无法对其进行访问了。
      • 是大家都可以访问的,因此保存在这里的文件可能被其他程序访问。
      • 当用户卸载我们的app时,系统仅仅会删除external根目录(getExternalFilesDir())下的相关文件。
      • External是在不需要严格的访问权限并且希望这些文件能够被其他app所共享或者是允许用户通过电脑访问时的最佳存储区域。


    android  删除文件

    在不需要使用某些文件的时候应删除它。删除文件最直接的方法是直接执行文件的delete()方法。

    myFile.delete();
    

    如果文件是保存在internal storage,我们可以通过Context来访问并通过执行deleteFile()进行删除

    myContext.deleteFile(fileName);
    

    Note: 当用户卸载我们的app时,android系统会删除以下文件:

    • 所有保存到internal storage的文件。
    • 所有使用getExternalFilesDir()方式保存在external storage的文件。

    然而,通常来说,我们应该手动删除所有通过 getCacheDir() 方式创建的缓存文件,以及那些不会再用到的文件。



    保存到Internal Storage --->保密性文件的位置

    当保存文件到internal storage时,可以通过执行下面两个方法之一来获取合适的目录作为 FILE 的对象:

    • getFilesDir() : 返回一个File,代表了我们app的internal目录。
    • getCacheDir() : 返回一个File,代表了我们app的internal缓存目录。请确保这个目录下的文件能够在一旦不再需要的时候马上被删除,并对其大小进行合理限制,例如1MB 。系统的内部存储空间不够时,会自行选择删除缓存文件。

    可以使用File() 构造器在那些目录下创建一个新的文件,如下:

    File file = new File(context.getFilesDir(), filename);

    Note: 我们的app的internal storage 目录以app的包名作为标识存放在Android文件系统的特定目录下[data/data/com.example.xx]。 从技术上讲,如果文件被设置为可读的,那么其他app就可以读取该internal文件。然而,其他app需要知道包名与文件名。若没有设置为可读或者可写,其他app是没有办法读写的。因此我们只要使用了MODE_PRIVATE ,那么这些文件就不可能被其他app所访问。



    相关链接:

    http://hukai.me/android-training-course-in-chinese/basics/data-storage/files.html


    展开全文
  • Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob、Queue、File 和 Table。笔者在《Azure Blob Storage 基本用法》中介绍了 Blob Storage 的基本用法,本文将介绍 File Storage 的...

    Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob、Queue、File 和 Table。

    笔者在《Azure Blob Storage 基本用法》中介绍了 Blob Storage 的基本用法,本文将介绍 File Storage 的主要使用方法。

    文章来源:葡萄城产品技术社区

    File Storage 是什么?

    Azure File Storage 是一个通过 Server Message Block (SMB) 协议提供云端文件共享的服务。通过 File Storage 共享的文件,能够被加载为云端或本地主机的磁盘,应用程序可以通过文件 API 像访问本地文件一样访问这些文件。

    下面是 File Storage 典型的应用场景:

    1. 轻松迁移那些有磁盘读写操作的应用到云端。不用修改程序,只要通过 File Storage 加载相应的文件即可。
    2. 存放共享的应用程序配置文件。
    3. 存放日志等应用程序诊断数据。
    4. 存放管理员的常用工具。

    Azure File Storage的结构

    下图描述了 File Storage 的基本组织结构:

    • Azure Storage Account:

    Storage Account 是用来管理 Azure Storage 的一个命名空间,主要用来控制存储数据的访问权限和计费。对 Blob、Queue、File 和 Table 这些 Azure 提供的存储服务的访问控制,都是通过 Storage Account 来进行的,所以要想使用 File Storage,需要先创建你的 Storage Account。

    • Share:

    Share 是管理共享文件的单位,任何要共享的文件和目录都必须属于某个 Share。一个 Storage Account 下的 Share 数量是不受限制的,每个 Share 中可以存放任何数量的文件。但是每个 Share 中最多能存放5TB 的数据。

    • Directory:

    与 Blob Storage 不同,File Storage 支持真正的文件目录。你可以根据需要来创建目录。

    • File:

    File 是真正被共享的文件,每个文件最大 1TB。

    • URL format:

    与 Blob Storage 相似,File Storage 中的每个文件都可以通过 URL 来访问。URL 的详细格式为:

    https://<storage account>.file.core.windows.net/<share>/<directory/directories>/<filename>

    下面是个更真实的例子:

    https://nickdemo.file.core.windows.net/demofiles/temp.txt

     

    如果您还不熟悉 Azure Storage Account 的使用,以及如何通过 WindowsAzure.Storage 库访问 Azure Storage,请参考前文《Azure Table storage 基本用法》中的介绍,这里就不重复了。

    为了方便查看 C# 代码执行的结果,本文使用了 MS 发布的一个 Azure Storage 客户端工具:Microsoft Azure Storage Explorer,文中简称为 Storage Explorer。下面是 File Storage 的一个截图:

    接下来我们通过 C# 代码来介绍如何操作 File Storage。

    创建 File Share

    第一步我们先创建名为“mylogs”的 Share:

    //CloudStorageAccount 类表示一个 Azure Storage Account,我们需要先创建它的实例,才能访问属于它的资源。
    //注意连接字符串中的xxx和yyy,分别对应Access keys中的Storage account name 和 key。
    CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=yyy");
    //CloudFileClient 类是 Windows Azure File Service 客户端的逻辑表示,我们需要使用它来配置和执行对 File Storage 的操作。
    CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
    //CloudFileShare 表示一个 File Share 对象。
    CloudFileShare share = fileClient.GetShareReference(shareName);
    //如果不存在就创建 File Share。
    share.CreateIfNotExists();

    运行上面的代码,然后打开 Storage Explorer,看到名为 ”mylogs” 的 Share 已经创建了:

    上传文件

    File Storage 支持真正的文件目录。所以在上传文件前需要确定要把文件上传到哪个目录下。每一个 File Share 都有一个根目录,我们可以先取到这个根目录,然后再创建子目录或是直接上传文件。下面的代码会在根目录下创建一个叫 “web”的子目录,然后上传文件 web.log 到 web 目录中:

    //获得根目录的引用。
    CloudFileDirectory rootDir = share.GetRootDirectoryReference();
    //创建子目录 "web" 的引用。
    CloudFileDirectory webDir = rootDir.GetDirectoryReference("web");
    //创建子目录 "web"。
    webDir.CreateIfNotExists();
    //创建文件 "web.log" 的引用。
    CloudFile cloudFile = webDir.GetFileReference("web.log");
    string localFile = @"F:\temp\web.log";
    using (var fileStream = System.IO.File.OpenRead(localFile))
    {
        //上传文件。
        cloudFile.UploadFromStream(fileStream);
    }

    在Storage Explorer 中检查下结果:

     

    复制文件

    Azure Storage 支持在 Blob Storage 和 File Storage 之间相互复制文件,但这样的操作涉及的访问权限管理相对复杂一些。本文仅介绍文件在同一个 File Storage 中的复制操作。下面的代码复制 web.log 文件并创建 web.copy.log 文件:

    CloudFileShare share = GetFileShare(_currentShareName);
    CloudFileDirectory rootDir = share.GetRootDirectoryReference();
    CloudFileDirectory webDir = rootDir.GetDirectoryReference("web");
    CloudFile cloudFile = webDir.GetFileReference("web.log");
    if (cloudFile.Exists())
    {
        //由 web.log 文件创建 web.copy.log 文件。
        CloudFile copyFile = webDir.GetFileReference("web.copy.log");
        copyFile.StartCopy(cloudFile);
    }

     查看复制操作的结果:

    设置 Share 的最大容量

    前面我们提到每个 Share 中最多能存放5TB 的数据。但有时可能需要限制一下它的最大值,比如最多只能存放1TB 的数据:

    //指定最大容量为 1024,单位是GB。
    share.Properties.Quota = 1024;
    share.SetProperties();

    代码很简单,如果想要查看 Share 的最大容量是多少,直接取share.Properties.Quota 属性的值就可以了。

     

    现在我们在云端有一个 1TB 大小的共享目录,如何使用呢?

    把 Share 映射为本地机器的网络硬盘

    用管理员权限启动 cmd.exe,执行下面的命令:

    cmdkey /add:<storage-account-name>.file.core.windows.net /user:<storage-account-name> /pass:<storage-account-key>
    net use z: \\<storage-account-name>.file.core.windows.net\mylogs

    注意,请把上面命令中的 < storage-account-name > 和 < storage-account-key >进行替换。

    再用非管理员权限启动 cmd.exe,再执行一次net use 命令:

    net use z: \\<storage-account-name>.file.core.windows.net\mylogs

    如果不第二次执行 net use 命令,资源管理器中是看不到驱动器盘符的:

    注意:一定要在防火墙 Outbound 规则中放行 SMB 协议使用的 TCP 445端口。

    这就搞定了!看起来还不错吧?

    总结

    虽然我们看到File Storage 和前文中介绍的Blob Storage 存在着很多相似的地方,但本质上它们是不一样的。Blob Storage 本质上是一个个网络上的文件,而 File Storage 则是通过 SMB 协议实现的网络共享文件,能够被操作系统映射成本地的磁盘是其最大特征。也只有这一点才能让应用程序通过文件操作API,完成对远程文件的访问。

    展开全文
  • Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob、Queue、File 和 Table。笔者在前文中介绍了Table Storage 的基本用法,本文将通过C# 代码介绍Blob Storage的主要使用方法。
  • prometheus之Local storage和remote storage

    千次阅读 2019-03-30 17:27:35
    而PrometheUS默认是本地存储在tsdb上,如果考虑存储大量的sample,可以考虑remote storage。 Local storage 简述 本地存储的最小单位是block,每个block是最近两个小时的数据。block里面是多个chunk。chu...
  • JS 监听 storage

    千次阅读 2019-02-14 15:48:49
    在同一页面添加监听事件监听 storage 并不起作用,需要重写操作 storage 的方法,所以有以下两种方法用来监听。 监听同源页面中 storage 的变动 storage.html &amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!...
  • Web Storage

    千次阅读 2016-10-09 09:52:58
    Web Storage 分为本地存储和会话存储,不能跨域访问。 Web Storage 使在不影响网站性能的情况下存储大量数据成为可能。 注意:Web Storage 存储的是字符串,获取和存储时别忘了用 JSON.stringify() 和 JSON.parse...
  • IBM SVC storage

    千次阅读 2015-07-07 20:48:37
    IBM SVC storage 1. Introduction  TheIBM SAN Volume Controller (SVC) is a block storage virtualization appliancethat belongs to the IBM System Storage product family. SVC implements anind
  • lotus storage 存储过程

    千次阅读 2019-12-25 13:59:27
    lotus storage 存储过程1,lotus storage 存储过程 1,lotus storage 存储过程 参考: filecoin-project/lotus/storage/sectors.go
  • SLAM Mesh storage processing

    万次阅读 2019-12-14 12:37:40
    Mesh storage processing Project Language License 3DTK C++ GPLv3 CGAL C++ Module dependent GPL/LGPL InstantMesh Mesh Simplification C++ BSD License GEOGRAM C++ Revised BSD License libig...
  • web storage介绍 web storage和Cookie都是用来在客户端存储数据。 web storage又分为localStrage和sessionStorage Cookie的弊端 每次请求时,cookie都会存放在请求头中。 请求被拦截,cookie数据会存在安全...
  • Web Storage API的介绍和使用

    万次阅读 热门讨论 2020-10-06 09:09:58
    Web Storage为浏览器提供了方便的key value存储,是一种比cookie更加方便简洁的存储方式。也是诸多客户端存储方式中非常常见的一种。 一起来看看吧。
  • Webstorage特性

    千次阅读 2017-10-30 23:53:24
    Webstorage
  • 1 StorageClass 一般情况下,我们不会去手动管理PV,我们会采用自动创建的方式来实现,先来了解一下StorageClass。 官网:https://kubernetes.io/docs/concepts/storage/storage-classes/ nfs github:github:...
  • Spark Storage概述

    千次阅读 2017-08-04 21:31:36
    介绍Storage模块的设计思路及BlockManager的概要
  • FastDFS Storage配置详解

    千次阅读 2016-11-29 11:25:54
    基本配置disabled#func:该配置文件是否生效 #valu: ## true:无效 ## false:生效 ...group_name=group1bind_addr#func:绑定本storage server的IP bind_addr=client_bind#func:bind_addr是针对s
  • ionic2 storage

    千次阅读 2017-03-05 19:25:13
    AngularJS2 Storage
  • good-storage使用

    千次阅读 2017-06-20 19:54:17
    安装npm install good-storage用法 import storage from 'good-storage' // localStorage storage.set(key,val) storage.get(key, def) // sessionStorage storage.session.set(key, val) storage.session.get(key...
  • Docker storage driver配置

    千次阅读 2018-01-03 18:54:06
    docker storage driver配置
  • 在HTML5中,可以通过window对象的storage事件进行监听并指定其事件处理函数的方法来定义当其在其他页面中修改...window.addEventListener('storage',function(){ //当sessionStorage或localStorage中的值
  • ionic中storage使用

    千次阅读 2019-01-27 21:48:11
    storage使用 1.引入import { Storage } from ‘@ionic/storage’;2.注入constructor(public storage: Storage) {}3.存储this.storage.set(‘PROJECTINFO’, JSON.stringify(this.projectList));4.取this.storage.get...
  • 1.Truncate drop storage行为 Truncate数据表默认行为包括了drop storage参数。 数据所在的extent空间被释放,剩下第一个extent,释放的空间可以供其它segment使用; test表中的index:数据删除,剩下第一个extent;...
  • Azure Table storage 基本用法

    千次阅读 2016-07-26 14:41:54
    Azure Storage是微软Azure云提供的云端存储解决方案,当前支持的存储类型有Blob、Queue、File和Table。其中的Table就是本文的主角Azure Table storage。本文通过对一个日志表的操作介绍了Azure Table storage的一个...
  • Web Storage 前端存储

    千次阅读 2019-07-10 15:52:21
    1、Web Storage 许多小伙伴在学习前端的时候都有一个想法,自己只能写一些静态的数据,如果想动态加载数据的话,就要学习数据库,例如mysql、Sql Serve、oracle等,光学数据库还不行,还必须掌握一门后端语言,去搭...
  • HTML5 Web Storage事件

    千次阅读 2018-04-27 22:12:01
    Storage事件在某些复杂情况下,如果多个页面都需要访问本地存储的数据,就需要在存储区域的内容发生改变时,能够通知相关的页面。Web Storage API内建了一套事件通知机制,当存储区域的内容发生改变(包括增加、修改...
  • WRITE_EXTERNAL_STORAGE:写入权限 READ_EXTERNAL_STORAGE:读取权限 最近申请存储权限时,在纠结是否需要同时申明WRITE_EXTERNAL_STORAGE 和 READ_EXTERNAL_STORAGE?因为6.0以上手机貌似只有一个存储开关,申请...
  • storage 和 memory的区别

    千次阅读 2018-12-25 15:58:41
    storage 和 memory 的比较分析 1. 概念 主要考虑两点: 智能合约如何存储数据,是在memory还是在storage; solidity变量如何存储数据,是在memory还是在storage; 2. 智能合约的数据存储 storage: 成员变量,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 541,738
精华内容 216,695
关键字:

storage