存储
文章平均质量分 88
ch3rry
每天早上醒来,看见你和阳光都在,这就是我想要的未来。
展开
-
Linux异步IO引擎:io-uring
Phoronix 报道称,IO_uring 可以说是 Linux 内核近期引入的最大创新之一,因其能够显著提升移步输入/输出(async I/O)的效率。一句话总结 io_uring 就是:一套全新的 syscall,一套全新的 async API,更高的性能,更好的兼容性,来迎接高 IOPS,高吞吐量的未来。先看一下性能数据(数据来自 Jens Axboe)。4k randread,3D Xpoint 盘:Interface QD Polled Latency原创 2021-06-01 15:56:24 · 641 阅读 · 0 评论 -
RAID技术超详细讲解
RAID技术是一种多磁盘技术,面对数据的各方面有着两面性的影响,整体来说优点大于缺点的,下面我将详细介绍一下RAID ,简称磁盘阵列技术。一、RAID 概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 [1] ,即廉价...转载 2019-10-15 14:41:54 · 935 阅读 · 0 评论 -
扇区(sector),块(block),簇(cluster)
1.硬盘(可以认为硬盘就是磁盘)# fdisk -lDisk /dev/cciss/c0d0: 146.7 GB, 146778685440 bytes255 heads, 63 sectors/track, 17844 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes可以看到几个名词:heads/sectors/...转载 2019-09-24 14:06:27 · 886 阅读 · 0 评论 -
硬盘的IDE、AHCI和NVMe模式区别
硬盘接口标准——IDE、AHCI和NVMe★引言截至2017年,硬盘的接口标准(工作模式)有IDE、AHCI和NVMe。NVMe最先进,AHCI次之,IDE已被逐渐淘汰。★IDE集成驱动电子设备(英语:IntegratedDrive Electronics,简称IDE),目前该硬盘模式已经淘汰,仅存于少部分老电脑中。可连接两个IDE装置的ATA扁平电缆示意图...原创 2019-07-10 17:24:09 · 11958 阅读 · 0 评论 -
Apple LZF算法解析
有关LZF算法的相关解析文档比较少,但是Apple对LZF的开源,可以让我们对该算法进行一个简单的解析。LZFSE 基于 Lempel-Ziv ,并使用了有限状态熵编码。LZF采用类似lz77和lzss的混合编码。使用3种“起始标记”来代表每段输出的数据串。 接下来看一下开源的LZF算法的实现源码。 1.定义的全局字段:private readonly long...转载 2019-06-29 09:14:04 · 557 阅读 · 0 评论 -
ramdisk配置、解压、创建rootfs、启动简单分析
本着了解ramdisk,带着如下几个问题进行分析:如何打开ramdisk功能? ramdisk存放在哪里? ramdisk在什么时候解压?如何解压? 解压后ramdisk在什么位置? ramdisk如何启动?1.如何打开ramdisk功能?如果要使用ramdisk功能,需要做两步工作:一是修改Kernel的bootargs,增加rdinit选项;二是在编译uImage的时候将ro...转载 2019-06-20 17:44:17 · 1988 阅读 · 0 评论 -
超级块,i节点,数据块,目录块,间接块
一、物理磁盘到文件系统文件系统用来存储文件内容、文件属性、和目录。这些类型的数据如何存储在磁盘块上的呢?unix/linux使用了一个简单的方法。如图所示.它将磁盘块分为三个部分:1)超级块,文件系统中第一个块被称为超级块。这个块存放文件系统本身的结构信息。比如,超级块记录了每个区域的大小,超级块也存放未被使用的磁盘块的信息。2)i-节点表。超级块的下一个部分就是i-节点表,每个...转载 2019-04-19 22:49:05 · 9326 阅读 · 0 评论 -
blktrace + blkparse + btt 分析IO
blktrace是一款block层的trace工具,block层在IO路径上的位置:一个IO的生命周期大约是:●I/O enters block layer – it can be:– Remapped onto another device (MD, DM)– Split into 2 separate I/Os (alignment, size, ...)– A...转载 2019-04-18 21:50:20 · 1243 阅读 · 0 评论 -
Linux iostat监测IO状态
Linux系统出现了性能问题,一般我们可以通过top、iostat、free、vmstat等命令来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。1. 基本使用$iostat -d -k 1 10参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。...转载 2019-03-13 16:55:43 · 108 阅读 · 0 评论 -
Blktrace原理简介及使用
Blktrace简介Blktrace是一个用户态的工具,用来收集磁盘IO信息中当IO进行到块设备层(block层,所以叫blk trace)时的详细信息(如IO请求提交,入队,合并,完成等等一些列的信息)。块设备层处于下图(借用褚霸的图)中的“block layer”Blktrace工作原理(1)blktrace测试的时候,会分配物理机上逻辑cpu个数个...转载 2019-03-13 16:48:41 · 1729 阅读 · 0 评论 -
Linux 中软件 RAID 的使用
一.简介在Linux系统中目前以MD (Multiple Devices)虚拟块设备的方式实现软件RAID,利用多个底层的块设备虚拟出一个新的虚拟块设备,并且利用条带化(stripping)技术将数据块均匀分布到多个磁盘上来提高虚拟设备的读写性能,利用不同的数据冗余算法来保护用户数据不会因为某个块设备的故障而完全丢失,而且还能在设备被替换后将丢失的数据恢复到新的设备上。关于不同冗余级别的定义和...转载 2019-03-14 16:16:16 · 1419 阅读 · 0 评论 -
文件系统函数
判别: file_exists() is_dir() is_file() is_writable() - is_writeable() is_readable() is_executable() 链接: is_link(string $filename) - 判断给定文件名是...转载 2018-11-08 19:28:42 · 176 阅读 · 0 评论 -
块存储、文件存储、对象存储
【块存储】典型设备:磁盘阵列,硬盘块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘...转载 2018-05-30 15:49:00 · 341 阅读 · 0 评论 -
Linux HA集群——共享存储篇
为什么需要共享存储 绝大多数集群都使用共享存储。那why?集群中要保证重要资源的可用性。资源可能运行在任意节点,可能需要访问相同的文件。如果集群资源只处理静态文件,那就不需要共享存储。如果文件改动不频繁,那么可以通过复制或rsync之类的方案来进行节点间同步。而当数据时动态的而且频繁变化,那么就需要共享存储了。通常,集群资源使用三类文件:一、二进制可执行文件,最好分别安装在每个节点上。这...转载 2018-05-21 17:55:28 · 9715 阅读 · 0 评论