首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏windealli

    Docker 存储驱动初探

    本文将深入探讨 Docker 存储驱动,从选择适当的存储驱动到它们的工作原理,再到最佳实践和性能优化。 常见的Docker 存储驱动有哪些Docker 提供了多种不同的存储驱动选项,以满足不同的使用情境和需求。 三、Overlay2存储驱动Overlay2 存储驱动简介Overlay2 存储驱动 是 Docker 默认的存储驱动,它负责管理容器的文件系统和数据。 Overlay2 存储驱动的优势和不足Overlay2 存储驱动的优势:高性能:Overlay2是一种轻量级的存储驱动,它通过使用图层存储机制,能够实现高性能和高效的容器操作。 上图显示了 4 个子卷。 “子卷 2”和“子卷 3”是嵌套的,而“子卷 4”显示其自己的内部目录树。

    1.2K62编辑于 2023-11-07
  • 来自专栏PHP 开发

    Laravel 5.0 之云存储驱动

    这意味着开发者可以像从前操作本地文件存储那样编写代码: /** * 存储 Thing 到文件中 * * @param Thing $thing * @param string $filename 把默认的文件存储驱动从 local 改成 s3, 并加上你的 S3 认证信息. return [ 'default' => 's3', 'disks' => [ 'driver 甚至可以在不同运行环境下使用不同的存储驱动. 完全取决于你. 所有常用的 File 的方法在新的驱动下都可以使用, 比如 put, get 等等. Jeffrey Way 演示了如何在代码中而不是配置文件中指定要注入 Filesystem 工厂使用的驱动, 但我并没有详细了解这个技巧. 只要装上 AWS SDK 并编辑 filesystem.php 文件, 你原本基于本地存储实现的文件操作就可以直接应用于 S3 云存储. 就这么简单!

    1.5K50发布于 2018-03-02
  • 来自专栏运维一切

    关于docker的存储驱动

    #背景 一直以来我的业务都是跑在aufs+ext4存储驱动结构上,看上去没有什么问题,直到业务报告: 在高并发场景下,aufs因为锁争抢的原因,导致cpu高负载。 我才不得不考虑更换docker驱动的事情 #关于外部资料的收集 看了一圈下来,docker的存储驱动目前可以说分为三个流派(可以用在生产环境为标准): aufs+ext4 overlay2+xfs devicemapper 目前没有人大胆用第4存储驱动,玩玩可以,可要是到生产环境,指不定要修多少内核bug,这对于哪些没有内核和文件系统人才的公司简直是噩梦。 另外我要声明一下,docker的存储driver都有不同程度的坑,目前比较能接受的是overlayfs+xfs ,我就遇到个bug: #overlay2+ext4 bash-4.1# mv index.php 我认为之所以overlay2比裸硬盘ext4还叼,主要还是因为xfs比ext4要叼,当然overlay从速度上还是和aufs一样都比较接近裸硬盘,(我这不是高并发测试,aufs仅有三层) aufs从原理上讲镜像层数越多性能越差

    1.5K20发布于 2018-08-01
  • 来自专栏写字母的代码哥

    docker存储驱动知识归纳总结

    要想真正的理解docker的存储驱动,需要先了解docker镜像是如何构建和存储,以及容器如何使用镜像. 如何选择存储驱动 docker目前支持的存储驱动有:OverlayFS,AUFS,Btrfs,Device Mapper,VFS,ZFS。 docker的存储驱动目前并没有一个通用的,完美的,适用于所有环境的存储驱动.所以需要根据自己的环境来有所选择. 存储驱动在不断的改进与发展 如果从稳定性上的考量,在安装docker的时候会默认根据你的系统环境配置选择一个存储驱动.通常来说使用这个默认的驱动将减少你遇到bug的机会. 存储驱动与宿主机文件格式 存储驱动 通常被使用在(宿主机fs格式) 不支持的fs格式 overlay ext4 xfs btrfs aufs overlay overlay2 zfs eCryptfs

    1K20发布于 2020-09-23
  • 来自专栏大数据在线

    浪潮存储:以全栈能力驱动存储平台战略

    用一个极致容量、极致性能、极简架构和极易管理的存储平台去支撑起一个新数据中心,这是浪潮存储的目标,也即今年3月浪潮存储宣布的存储平台化战略。 那么,存储平台化战略如何落地? 继3月份推出了全新一代G5 存储平台:超大规模数据中心级分布式存储平台AS13000 G5和数据中心级高端存储平台AS18000 G5之后,浪潮存储在IPF2019大会上又推出了其自研的NVMe SSD 和全闪存储G5,进一步完善了其存储平台战略的拼图。 平台+生态,全面释放存储能力 李辉透露,今年是浪潮存储产品集中更新换代的年份,除了此次发布的企业级SSD、全闪存储G5之外,浪潮存储还将升级混闪存储产品,并且数据保护产品和存储解决方案也将升级,“浪潮存储希望从存储部件到存储硬件 深度观察 近年来,业界明显感觉到浪潮存储处于跨越式发展,尤其是浪潮存储在技术栈和产品上的布局开始日臻完善,从之前高端存储产品,到全闪存储、分布式存储产品,再到现在的企业级SSD,加上对于行业场景结合的重视

    1.2K30发布于 2019-07-08
  • 来自专栏技术杂记

    Mysql 优化存储4

    一般少也能缩减5%的空间,平均在10%左右,我自己经历最明显效果的是减少了32%的空间,对于一个大库来说,能节省不少磁盘空间,并且对查询性能也有一定优化效果

    41620编辑于 2022-03-21
  • 来自专栏嵌入式项目开发

    Linux下驱动开发_块设备驱动开发(内存模拟存储)

    一、前言 块设备驱动块是Linux下3大设备驱动框架之一,块设备主要是针对存储类型的设备设计的驱动,配合文件系统完成数据存储。 在应用层的cp、cd、touch、vim、mount等等可以操作文件,可以操作目录的命令都会通过文件系统,通过块设备驱动完成对底层存储设备的访问,实现数据读取或者写入。 这两个函数完成与flash空间交互,实现数据存储。 在Linux下完成块设备驱动编写,主要是要完成来至文件系统的存储请求,文件系统让你把数据存到那个扇区,你驱动就去存,文件系统让你从那个扇区读取输出来,驱动就去读取。 这份代码里存储数据的空间是申请了一段内存来模拟的。

    5.7K30编辑于 2022-10-31
  • 来自专栏一起玩转.NET

    如何运用领域驱动设计 - 存储

    不要为了显示而使用存储库 工作单元 持久化中的困难 总结 概述 在上一篇文章中,我们已经了解过领域驱动设计中一个很核心的对象-聚合。 那么我们真的不需要存储库这种东西吗?答案是否定的,至少在实践领域驱动设计的应用中。 如何运用存储存储库是为聚合提供操作 这一点是非常关键的,存储库是为聚合而服务的。有关于聚合的部分,可以查看上一篇文章 如何运用领域驱动设计 - 聚合。为什么呢它一定要为聚合服务? 所以存储库中所提供的应该是具有明确约定的方法。 这里我摘抄了 领域驱动设计模式、原理与实践 中的一段话,我觉得它的描述非常好: 存储库不是一个对象。 ( 好吧,我又把上面的话不要脸的又复制了一遍 (ง •_•)ง) 总结 本次我们介绍了有关领域驱动设计中“存储库”的内容,我们知道了什么是存储库,以及如何去使用一个存储库。

    1.4K30发布于 2020-04-27
  • 来自专栏锅总

    Docker 的存储驱动及其优缺点

    Docker 的存储驱动是容器文件系统的关键组成部分,决定了容器镜像和数据的存储方式。以下是常见的存储驱动及其优缺点: 1. 4. Btrfs 简介: Linux 的高级文件系统,提供快照和压缩功能。支持联合文件系统。 优点: 功能丰富:支持压缩、快照、子卷等高级功能。 性能优异:在快照和镜像管理场景中表现突出。 VFS (Virtual File System) 简介: 不使用任何联合文件系统,直接依赖宿主机文件系统(如 ext4)。 优点: 简单可靠:没有额外的文件系统逻辑,直接存储数据。 总结 驱动 性能 稳定性 功能丰富性 场景适配 推荐度 Overlay2 高 高 中 通用 ⭐⭐⭐⭐⭐ AUFS 中 中 中 老旧内核 ⭐⭐ Device Mapper 中低 高 高 企业级块存储 ⭐⭐ Btrfs 高 中 高 专业环境 ⭐⭐⭐ ZFS 高 高 高 高可靠性 ⭐⭐⭐ VFS 低 高 低 特殊场景 ⭐ 根据场景和需求,选择适合的存储驱动能显著提高容器运行效率和数据可靠性。

    51110编辑于 2024-11-25
  • 来自专栏存储公众号:王知鱼

    AMD:AI驱动存储革命,DPU加速存储访问新趋势

    DPU的作用加速网络、存储和计算任务,提升数据中心性能与效率。 DPU市场发展多款DPU产品的推出及其在AI场景中的应用潜力。 4. L4 - 案例研究:DPU 加速的大模型训练 MangoBoost GPU存储加速(GSB)——(1)NVMe/TCP硬件 图表展示了如何通过将NVMe/TCP协议栈的处理卸载到DPU(数据处理单元)上 它通过ROCm和ROCK内核驱动,利用点对点通信(peer direct)来减少CPU的负担,并通过NVMe驱动进行DMA地址映射和存储命令提交,从而实现快速的数据传输。 ROCm/ROCK驱动支持ROCm和ROCK内核驱动实现了GPU与存储设备的直接对等通信,优化了数据传输路径。 NVMe驱动通过NVMe驱动,MangoFile能够有效地管理数据传输,确保低延迟和高效率。 文件I/O操作MangoFile库简化了文件I/O操作,充分利用GPU存储加速,提高了文件系统的性能。

    70500编辑于 2025-02-18
  • 来自专栏猫头虎博客专区

    Docker 存储驱动解析:选择最适合你的存储方案

    Docker 存储驱动解析:选择最适合你的存储方案 摘要 Docker的存储驱动在容器技术中起着关键作用,决定着如何在文件系统上存储和管理容器数据。 而在Docker的众多组成部分中,存储驱动则起到了至关重要的作用。这篇文章将带您深入了解Docker的存储驱动,为什么我们需要选择最适合的存储驱动,以及如何进行选择。 2. Docker 存储驱动概述 存储驱动是Docker的核心组成部分,它决定了如何在文件系统上存储和管理容器的数据。因为不同的驱动有不同的性能和特点,因此了解它们的工作方式是至关重要的。 Docker 支持的主要存储驱动 Docker支持多种存储驱动,以下是其中的一些: 3.1 aufs 特点:是Docker早期默认的存储驱动。 优点:资源使用低,性能稳定。 4. 如何选择最适合你的存储方案 选择最适合的存储驱动取决于你的特定需求,包括性能、稳定性和与特定版本的Linux内核的兼容性。 4.1 评估你的需求 性能需求:某些驱动在高I/O场景下表现更好。

    51210编辑于 2024-04-09
  • 来自专栏存储公众号:王知鱼

    XINNOR:RAID创新驱动存储提效

    4. VM Management(虚拟机管理):具备运行虚拟机的能力,包括高可用性机制,增加系统灵活性并降低维护成本。 5. Lustre FS:基于分布式、对象存储的可扩展计算机网络存储平台。 • 驱动子系统配置: 2个JBODs(每个JBOD至少包含86个驱动器); 4个DCR RAID 60配置,共42个HDD(8d+2p每组)用于Lustre OST(数据盘); 4个RAID 1( • SBB SS+MDS平台:20+2或20+4个NVMe驱动器。 驱动子系统: • 每个NVMe驱动器被分为两个命名空间,并通过2条PCIe通道连接到控制器(总共40/48个块设备)。 左侧内容: • 嵌套RAID50 (3+1)×4 在传统RAID中,数据恢复速度受到单个驱动器重建速度的限制。 专用的奇偶校验驱动器:RAID 7 和 RAID 3/4 类似,使用一个专门的奇偶校验驱动器来存储校验数据。这意味着校验数据并不像 RAID 5 那样分布在所有驱动器上,而是集中在一块驱动器上。

    1.3K10编辑于 2025-02-11
  • 来自专栏MoeLove

    聊聊 Docker 的存储驱动 Overlay2

    (想进群的可以留言) 本节,我将为你介绍 Docker 现在推荐使用的存储驱动 Overlay2,在开始之前,你可以执行以下命令来查看 Docker 正在使用的存储驱动: (MoeLove) ➜ ~ 我以本节的重点 overlay2 存储驱动为例,它需要你使用 Linux 4.x 以上版本的内核,或者是对于 RHEL/CentOS 等需要使用 3.10.0-514 以上的内核(旧版本中存在一些兼容性问题 前面虽然已经聊了如何设置和检查当前在用的存储驱动,但尚未介绍为何一定要使用存储驱动,以及它的作用。 另外需要注意的是:不同的存储驱动实现不同,性能也有差异,同时使用不同的存储驱动也会导致占用的磁盘空间有所不同。 OverlayFS 了解完前面的背景知识后,你也看到了我刚才列出的可用存储驱动中有两个 overlay 和 overlay2,其实 overlay2 算是 overlay 的升级版,这两个存储驱动所用的都是

    1.4K20编辑于 2022-12-07
  • 硬盘驱动器 (HDD) 存储架构

    简介硬盘驱动器 (Hard Disk Drive,简称HDD) 是一种常见的持久性存储设备。它使用磁盘作为存储介质,通过旋转磁盘和移动读写头来读取和写入数据。 磁盘在主轴电机的驱动下高速旋转,旋转速度通常在每分钟5400到15000转之间。读写头:读写头位于磁盘上方,由一个或多个磁头组成。 3.3 数据编码与错误检测HDD(硬盘驱动器)是一种非易失性存储设备,用于长期存储数据。在HDD中,数据以磁化的形式存储在磁盘表面上的磁性材料上。 4、 硬盘驱动器的性能指标硬盘驱动器的性能指标包括:容量:硬盘驱动器的最大存储容量。转速:磁盘每分钟旋转的圈数。平均寻道时间:读写头从一个磁道移动到另一个磁道所需的时间。 缓存大小:硬盘驱动器内部的临时存储空间。IOPS:每秒输入/输出操作数,衡量硬盘驱动器的读写性能。带宽:硬盘驱动器在单位时间内可以传输的数据量。

    2.7K11编辑于 2024-06-20
  • 来自专栏超级架构师

    存储】2022 年的 4 个开源对象存储平台

    介绍 在处理大量非结构化数据时,我们需要一个地方来存储它。我们选择存储数据的方式有很多种,但今天我们要关注的一种是对象存储或基于对象的存储。 如果您不熟悉它,对象存储是一种数据存储架构,允许您将大量非结构化数据存储在可扩展的对象结构中。它将数据存储为具有元数据和唯一标识符的对象,从而更容易访问该数据。现在,有许多平台提供对象存储设施。 MinIO MinIO 是一款开源云存储软件,提供高性能分布式对象存储,专为大规模数据基础设施而设计。 4.OpenIO OpenIO 是一种开源对象存储解决方案,用于管理和保护大量非结构化数据。它允许您构建和操作具有弹性且安全的大规模存储基础架构。 本文 https://jiagoushi.pro/4-open-source-object-storage-platforms-2021 讨论:知识星球【首席架构师圈】或者加微信小号【cea_csa_cto

    13.3K10编辑于 2022-03-08
  • 来自专栏Linux驱动

    汇编指令-str存储指令(4)

    str -(Store Register)存储指令 格式: str{条件}  源寄存器,<存储器地址> 将源寄存器中数据存到存储器地址中。  实例1: str   r1,[r2]        ; 将r1中的值存到r2所指定的地址中 str  r1,[r2,#4]   ;将r1中的值存到r2+4所指定的地址中 str   r1,[r2],#4 因为现在程序运行在起始地址为0x0000 0000的地方 ldr r1, =BWSCON                                 //将BWSCON所指向的首地址值存到r1中 (第一个存储器寄存器首地址 ) add r2, r0, #13*4                                   //每个寄存器4字节,r2=r0+13*4=最后一个存储器寄存器+4 0:  ldr Tacp<<2)+(B3_PMC)) .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp

    2.3K50发布于 2018-01-03
  • 来自专栏Opensoure翻译

    4步让你驱动Kubernetes【Containers】

    在本系列的第三篇文章中,我介绍了Kubernetes的基础知识:首先学习如何驱动,我强调您应该学会驱动Kubernetes,而不是构建它。 换句话说,学习Kubernetes内置的一组原语比学习集群软件,集群文件系统,负载平衡器,疯狂的Apache配置,疯狂的Nginx配置,路由器,交换机,防火墙和存储后端要容易得多,这一切您将需要在传统IT 在第四篇文章中,我将分享一些工具,这些工具将帮助您学习快速驱动Kubernetes。 1. Katacoda Katacoda是最简单的手动测试Kubernetes集群的方法。 当您第一次学习驱动Kubernetes时,这是非常好的。 您可以构建Pod,服务,复制控制器,部署等。 结论 这四个工具(如果算上这两个插件,则为六个)将帮助您学习驱动Kubernetes,而不是构建或装备它。

    2K00发布于 2019-11-12
  • 来自专栏BeJavaGod

    MongoDB-4 GridFS 文件存储

    1. 配置config spring: data: mongodb: uri: mongodb://username:password@192.168.2.72:27017 database: mydb @Component public class WebConfig { @Value("${spring.data.mongodb.database}") private String mongodb; @Bean public Gri

    1.4K10发布于 2020-03-05
  • 来自专栏开源FPGA

    基于FPGA的4x4矩阵键盘驱动调试

    FPGA驱动4x4矩阵键盘。这个其实原理是十分简单,但是由于博主做的时候遇到了一些有意思的情况,所以我个人觉得值得记录分享一下。        首先找了本书看了下矩阵键盘的驱动原理,一般来说4x4矩阵键盘的原理图如下,有四根行线和四根列线,行选通和列选通可以确定键盘上的一个位置。 其他按键类似,就是利用这个原理来驱动矩阵键盘。 ?        ,而这个地方加不加其实和驱动开发板的构造有关,据我了解,有些单片机的I/O引脚会内置上拉电阻,默认情况下是高电平,所以用这些单片机驱动是不需要加上拉电阻的。        在引脚约束在电平为3.3v时加上pull up,可以等下出相当于10.8k欧姆的电阻这和矩阵键盘的驱动原理是完全相符。 ?       

    1.4K20发布于 2018-08-20
  • 来自专栏全栈程序员必看

    v4l2驱动框架(Windows驱动开发技术详解)

    一般采用V4L2驱动的摄像头设备文件是/dev/video0,V4L2支持两种方式采集图像:内存映射方式mmap和直接读取方式read。 驱动分配视频缓冲区,也就是申请V4L2视频驱动分配内存,V4L2是视频设备的驱动层,它位于内核空间,因此通过VIDIOC_REQBUFS控制命令申请的内存空间位于内核空间中,应用程序不能直接访问,需要调用 若成功,则会在V4L2驱动层分配好视频缓冲区。 二是应用程序从视频采集输出队列中取出含有视频数据的帧缓冲区后,会处理帧缓冲区中的视频数据,比如存储或压缩这些数据。 而在实际运用中,往往还要加入对视频数据进行处理(如压缩编码)的工作,否则,视频流数据量相当大,需要很大的存储空间和传输带宽。

    3.3K10编辑于 2022-07-28
领券