当前位置: 首页 > news >正文

《信息存储与管理》逻辑串讲

小明的存储技术成长记

小明刚入职一家做短视频APP的科技公司,负责数据存储相关工作。从入职第一天起,他就跟着“存储老司机”李哥,一步步解锁了信息存储的全套技能——而这恰好对应了我们前八章的所有知识点。咱们就跟着小明的经历,把这些遗忘的知识捡回来~

第一章:入职第一天——为啥要学存储?(绪论)

小明到岗时,公司正头疼一个问题:用户每天刷的短视频、发的评论,还有后台的交易数据,一天就产生30TB!李哥扔给他一张IDC报告:“你看,2028年全球数据要到394ZB,咱们这点数据只是开始。”

小明懵了:“这些数据存哪儿?丢了咋办?”

李哥笑着说:“这就是咱们学存储的原因。首先得知道**数据中心**是啥——就像一个‘数据仓库’,里面有跑应用的服务器(主机)、传数据的网络、存数据的存储设备,还有数据库(比如MySQL)和各种APP(比如咱们的短视频后台)。现在数据太多,传统存储不够用,还得靠虚拟化(比如用Docker装APP,一个服务器能跑多个)和云计算(比如把部分数据放阿里云,不用自己买硬件)。”

那天小明记住了:存储的核心目标是“高性能、高可靠、高可用”——就像用户刷视频不能卡(高性能)、交易记录不能丢(高可靠)、APP24小时能访问(高可用)。

第二章:第一次搭环境——数据中心里有啥?(数据中心环境)

第二周,小明要帮公司搭新的应用服务器,李哥让他先搞懂“数据中心的核心组件”。

首先是**应用程序**:公司的短视频APP是“写入密集型”(用户不停发视频),后台报表系统是“读取密集型”(运营不停查数据),不同APP对存储的要求不一样。

然后是**主机(服务器)**:里面有CPU、内存,还有OS(比如Linux)、LVM(逻辑卷管理,能把多个硬盘拼成一个“大硬盘”,比如把3个1TB硬盘弄成2TB的逻辑卷)、文件系统(比如EXT4,管文件存在哪儿)。李哥还教他算**内存虚拟化**:物理内存不够时,用磁盘当“交换空间”,但速度会慢。

接着是**连接协议**:服务器连硬盘要用SAS线(比如SAS 4.0能到24Gb/s,适合服务器),连显卡用PCIe(PCIe 4.0的x16能到32GB/s),普通电脑连硬盘用SATA(6Gb/s)。

最关键的是**磁盘性能**:李哥给了个公式——**磁盘服务时间=寻道时间+旋转延迟+传输时间**。比如公司用的15000rpm硬盘,旋转延迟是(60/15000)/2=2ms,寻道时间平均5ms,传输速度40MB/s,那读一个4KB的数据,服务时间就是5+2+(4KB/40MB/s)≈7ms,算下来每秒能处理约140个IO(IOPS)。

最后小明用**DAS**搭了环境——就是服务器直接连硬盘,简单但不够灵活,后来公司数据多了,这招就不够用了。

第三章:第一次丢数据——RAID救了命!(数据保护-RAID)

入职第三周,麻烦来了:一个存储硬盘坏了,里面的用户评论丢了一半。李哥说:“该学RAID了,它是数据保护的‘第一道防线’。”

小明先搞懂RAID的核心逻辑:把多个磁盘拼成一个“逻辑盘”,要么提升性能,要么容错(或者两者都要)。核心技术有三个:

  • 分条(Striping):把数据拆成小块,存在不同磁盘上,比如把“小明爱刷短视频”拆成“小明”“爱刷”“短视频”,分别存在3个磁盘,读的时候三个盘一起读,速度快(这是RAID0的核心)。但RAID0没容错,一个盘坏了全丢,适合存临时文件。

  • 镜像(Mirroring):一个磁盘的数据完全复制到另一个盘,比如“小明”同时存在盘1和盘2,盘1坏了盘2能顶上(RAID1)。容错好但容量浪费一半,适合存数据库日志(不能丢的数据)。

  • 奇偶校验(Parity):用XOR运算存“校验数据”,比如RAID5有3个数据盘+1个校验盘,数据是4、6、7,校验值就是4⊕6⊕7=1;如果7所在的盘坏了,用4⊕6⊕1就能算出7。RAID5平衡了性能和容错,适合存邮件系统。

李哥还让小明算过一个题:公司APP高峰时IOPS是1200,读写比2:1,用RAID5的话,磁盘负载是(1200×2/3)+(1200×1/3×4)=800+1600=2400 IOPS——因为RAID5写一次要读旧数据、旧校验,写新数据、新校验,共4次IO。

后来公司把核心数据换成了RAID10(先镜像再分条),既快又能容错,再也没因为磁盘坏丢过数据。

第四章:数据多了不好管——智能存储系统来帮忙(智能存储系统)

随着用户增长,公司的存储从“几块硬盘”变成了“几十块的阵列”,小明发现手动管理太麻烦。李哥带他看了新采购的**智能存储系统(ISS)**,说这是“存储界的智能手机”。

ISS的核心组件像“三明治”:

  • 前端:连主机的接口,比如FC口、iSCSI口,能同时连几十台服务器。

  • 缓存:相当于“临时货架”,读数据时先查缓存(命中的话直接给主机,快),没命中再读磁盘(同时把数据存缓存,下次快);写数据有两种模式:透写(先写磁盘再确认,安全)、回写(先确认再慢慢写磁盘,快)。比如公司的APP用回写缓存,用户发视频时能快速收到“成功”提示。

  • 后端:连物理磁盘,能管理RAID、SSD和HDD混合存储。

还有个关键功能是**存储资源调配**:以前给主机分LUN,要先算好容量(比如给服务器100GB,用不完也浪费);现在用“精简配置”,给主机看10TB,实际只用3TB,剩下的资源能分给其他服务器。李哥还教他用“LUN掩蔽”——比如市场部的服务器只能访问市场的LUN,防止误操作删数据。

有了ISS,小明管理存储的时间从每天2小时变成了20分钟。

第五章:服务器多了要共享——FC SAN登场(光纤通道存储区域网)

公司扩了10台应用服务器,每台都用DAS的话,数据没法共享(比如A服务器的视频数据,B服务器读不到)。李哥说:“该上SAN了,它是‘存储的局域网’,能让所有服务器共享存储。”

他们选的是**FC SAN**,因为速度快(32Gb/s)、稳定,适合核心业务。小明先认组件:

  • HBA卡:服务器上的“FC网卡”,就像给服务器装了“高速数据线”。

  • 光纤:分单模(传10公里,适合机房之间)和多模(传几百米,适合机房内),公司机房用多模,两地灾备用单模。

  • FC交换机:相当于“存储的路由器”,服务器和存储通过交换机连,能建“专用通道”,不会跟办公网络抢带宽。

FC SAN的“规矩”也多:比如**FC协议栈**,从物理层(FC-0,光纤)到应用层(FC-4,映射SCSI),确保数据传得又快又准;还有**WWN地址**,每个HBA卡和存储端口都有唯一的WWN(像设备的身份证),不会认错;**分区**功能更关键——把10台服务器分成“视频处理”和“数据分析”两个分区,互相不能访问,安全多了。

现在公司的核心数据库就跑在FC SAN上,10台服务器同时读数据也不卡。

第六章:FC SAN太贵?IP SAN和FCoE来凑(IP SAN和FCoE)

FC SAN虽好,但设备和光纤都贵,公司的分支机构(比如广州分公司)预算有限,小明又犯了难。李哥说:“有便宜的方案——IP SAN和FCoE。”

先学**IP SAN**:用普通以太网传存储数据,核心是iSCSI协议——把SCSI命令装在IP包里,比如广州分公司的服务器用普通网卡(加iSCSI软件),就能连总部的存储,不用买FC HBA卡,省了不少钱。如果觉得CPU太累,还能买iSCSI HBA卡,把iSCSI处理的活交给卡来做。

还有**FCIP**:比如总部和上海分公司都有FC SAN,用FCIP把FC帧装在IP包里,通过互联网连起来,实现两地数据同步,不用拉专用光纤。

后来公司新机房用了**FCoE**:把FC和以太网整合,服务器插一张CNA卡(又能连以太网,又能传FC数据),机房里不用拉两种线(FC线和网线),又省了布线成本。小明算过,新机房用FCoE后,布线成本降了40%。

第七章:要共享文件?NAS最方便(网络连接存储)

公司的运营团队经常要共享报表、策划案,用SAN的话只能存“数据块”,没法直接存文件。李哥搬来一台**NAS设备**:“这是‘专门存文件的服务器’,Windows和Linux用户都能访问。”

NAS的核心是**文件共享协议**:Windows用户用CIFS协议(比如访问“\\NAS\运营报表”),Linux用户用NFS协议(访问“/mnt/nas/策划案”),不用装复杂软件,双击就能打开。

小明还学了NAS的三种玩法:

  • 统一NAS:又能存文件(NAS),又能存数据块(SAN),比如公司的NAS同时给运营传文件、给APP存数据库数据,只用一个设备管理。

  • 网关NAS:用现有的SAN存储,加一个NAS机头,就能提供文件服务,不用再买新存储。

  • 横向扩展NAS:公司的视频素材越来越多,给NAS加几个节点(服务器),容量和性能一起涨,比如原来1个节点存10TB,加3个节点能存40TB,还能并行读写。

现在运营团队再也不用靠U盘传文件了,直接从NAS上取,方便多了。

第八章:海量非结构化数据?对象存储来搞定(基于对象的存储和统一存储)

公司的短视频素材、用户头像都是“非结构化数据”,加起来有500TB,用NAS管理的话,目录层级太多(比如“素材/2024/10/01/北京/景点/天安门.mp4”),找文件要半天。李哥说:“该用对象存储了,它是‘存非结构化数据的神器’。”

对象存储的逻辑很简单:把数据打包成“对象”,每个对象包含三部分——数据(比如视频文件)、元数据(比如拍摄时间、地点)、唯一对象ID(用哈希算法生成,比如“a3f7d2...”)。找文件时不用翻目录,直接用对象ID查,一秒就能找到。

公司用的**OSD(对象存储设备)** 是智能设备,自己有CPU、内存,能管理本地对象,还能组成集群——比如10个OSD节点,总容量500TB,坏了1个节点,数据还在其他节点上,不用担心丢。

还有**CAS(内容寻址存储)**,专门存“不能改的固定内容”,比如用户的实名认证照片、视频审核记录,存的时候生成唯一的“内容地址”(CA),只要内容不变,CA就不变,能确保数据没被篡改——这对合规很重要,比如监管查的时候,能证明照片没被改过。

最后公司上了**统一存储**:一个平台同时支持块存储(给APP存数据库)、文件存储(给运营传报表)、对象存储(存视频素材),小明只用一个管理界面就能管所有存储,再也不用切换多个系统了。

第九章:APP突然宕机——业务连续性怎么保?(业务连续性简介)

入职第五个月的一个周一,公司APP突然崩了——机房交换机故障,用户刷不到视频,后台数据也查不了。抢修了3小时才恢复,运营团队急得跳脚。李哥说:“这就是‘业务连续性(BC)’要解决的问题——得确保意外中断时,业务能尽快恢复。”

小明先学了**信息可用性指标**:

  • MTBF(平均无故障时间):比如公司的存储阵列MTBF是750000小时,100台阵列的MTBF就是750000/100=7500小时(约1年),代表平均1年才会集体出一次故障。

  • MTTR(平均修复时间):这次交换机故障修了3小时,MTTR就是3小时。

  • 可用性公式:可用性=MTBF/(MTBF+MTTR),算下来公司存储的可用性是7500/(7500+3)≈99.96%,但APP要的是99.99%(每年宕机不超过52分钟),还差得远。

李哥还教他两个关键目标:

  • RPO(恢复点目标):比如APP的RPO是1小时,意味着故障后最多丢1小时的数据(比如1-2点的数据丢了,从1点的备份恢复)。

  • RTO(恢复时间目标):RTO是30分钟,意味着故障后30分钟内必须恢复业务。

为了达标,他们做了两件事:

  1. 消除单点故障:比如交换机装两台(一主一备)、服务器的NIC卡分组(两个网卡连不同交换机,一个坏了另一个顶上)、存储阵列用冗余端口。

  2. 装多路径软件:服务器连存储时走两条路(比如一条FC线、一条iSCSI线),软件会自动选最优路径,一条断了自动切另一条,用户完全没感觉。

后来公司的可用性做到了99.99%,再没因为硬件故障长时间宕机。

第十章:数据丢了要恢复——备份和归档怎么搞?(备份和归档)

没过多久,又出了个小插曲:一个实习生误删了3天内的用户评论数据,小明慌了——还好李哥早让他做了备份。这章小明彻底吃透了“备份和归档”的门道。

首先是**备份粒度**,三种方式各有优劣:

  • 完整备份:比如每周日凌晨2点,把所有数据(500TB)全拷一份,优点是恢复快(直接用周日的备份),缺点是费时间(要拷8小时)、占空间(500TB)。

  • 增量备份:周一到周六,只拷“比前一天新增/修改”的数据,比如周一拷5TB(周日到周一的新数据),周二拷3TB(周一到周二的),优点是快、省空间,缺点是恢复慢(要先恢复周日的完整备份,再依次恢复周一到周六的增量备份)。

  • 累积备份(差异备份):周一到周六,拷“比周日完整备份新增/修改”的数据,比如周一拷5TB,周二拷8TB(周日到周二的),恢复时只要周日+最新的累积备份(比如周六的),比增量快,比完整省空间——公司最后选了“周日完整+周一到周六累积”,平衡了速度和空间。

然后是**备份方法**:

  • 热备份(在线备份):备份时APP正常运行(比如用户还能发评论),用“打开文件代理”备份正在用的文件(比如正在写的评论日志),适合核心业务(不能停)。

  • 冷备份(离线备份):备份时关APP(比如每周二凌晨4点关报表系统),优点是数据绝对一致,缺点是影响业务——公司只在备份旧数据库时用。

还有个神器叫**重复数据删除**:用户评论里有很多重复内容(比如“666”“好看”),备份时删了重复的,500TB数据能压缩到150TB,省了一大半存储成本。小明选的是“基于源的重复数据删除”——备份前先在服务器上删重复数据,再传去备份设备,省了网络带宽。

最后是**数据归档**:公司有很多2年前的旧视频(用户很少看,但不能删,要合规),小明用了**CAS(内容寻址存储)** 归档——把旧视频存成对象,生成唯一的“内容地址”(比如根据视频内容算的哈希值),既不能改,又能快速查,还省了主存储的空间。

第十一章:数据库逻辑损坏——本地复制快速救场(本地复制)

有次数据库因为SQL语句写错,导致部分用户数据逻辑损坏(数据还在,但变成乱码了),小明用备份恢复要2小时,李哥说:“太慢了,用本地复制,10分钟就能搞定。”这章小明学会了“本地复制”的精髓——在同一数据中心内快速创建数据副本,应急恢复超方便。

首先是**本地复制的核心要求**:

  • 一致性:副本必须和源数据一致,比如文件系统要“刷新主机缓冲区”(把内存里没写进磁盘的数据刷进去),数据库要“按事务顺序复制”(比如先写“用户点赞”,再写“点赞数+1”,不能反)。

  • 时间点(PIT)副本:比如创建上午10点的副本,恢复时就能回到10点的状态(正好避开10点半的逻辑损坏)。

然后是三种**本地复制技术**:

  1. 基于主机的复制:比如用LVM做镜像——把源卷的数据实时复制到目标卷,缺点是占主机CPU(比如复制时CPU使用率从30%涨到50%),适合小容量数据(比如100GB的日志)。

  2. 基于阵列的复制:公司用的存储阵列自带这个功能,比如“基于指针的虚拟复制”——不用拷贝全量数据,只存指向源数据的指针,比如500TB的数据,副本只要50TB(存指针和修改过的数据)。原理是**CoFW(第一次写入时拷贝)**:比如源数据“小明”要改成“大明”,先把“小明”拷到副本的“保存位置”,再改源数据,副本还能看到“小明”,恢复时直接用这个副本。

  3. 基于网络的复制(CDP):在主机和存储之间加个CDP应用装置,所有写操作都拷贝一份到日志卷,能恢复到“任意时间点”(比如恢复到10点23分05秒的状态),适合核心数据库(不能丢任何数据)。

小明还学了**虚拟化环境的复制**:比如给APP的虚拟机做“快照”——捕获10点的虚拟机状态(包括系统配置、数据),恢复时一点就能回到10点;做“克隆”——复制一个一模一样的虚拟机,给测试团队用(测试改数据不影响生产)。那次数据库损坏,小明用基于阵列的副本,10分钟就恢复了,比备份快多了。

第十二章:异地灾备——远程复制怎么玩?(远程复制)

公司规模扩大后,李哥说:“不能把鸡蛋放一个篮子里,得在上海搞个灾备中心,万一北京机房地震,上海能立刻接手。”这章小明主攻“远程复制”——把北京的数据传到上海,实现异地灾备。

首先是两种**远程复制模式**:

  1. 同步复制:北京的存储写数据时,必须等上海的存储也写完,才给主机“成功”确认。优点是RPO接近0(几乎不丢数据),缺点是受距离影响(比如北京到上海1300公里,光信号要4ms,加上网络延迟,写响应时间从10ms涨到20ms),适合距离近的(比如北京到天津,200公里内)。

  2. 异步复制:北京的存储写完就给主机确认,数据先存在本地缓冲区,再“慢慢”传到上海。优点是不受距离限制(北京到上海也能用),缺点是RPO有延迟(比如缓冲10分钟,万一北京机房炸了,会丢10分钟的数据)。公司选了“同步+异步”混合:北京到天津的备中心用同步(核心数据不丢),北京到上海的灾备中心用异步(省带宽,接受10分钟延迟)。

然后是**三站点复制**:为了更安全,他们搞了“北京(源)→天津(同步)→上海(异步)”的级联模式,万一北京和天津都出问题,上海还有副本;还能搞“三角形模式”——北京同时给天津和上海传数据,两个备中心能互相同步,更灵活。

小明还学了**数据迁移**:比如把旧存储的50TB数据迁到新存储,用“热推”技术——迁移时主机还能读写旧存储,新存储实时同步数据,同步完后切到新存储,用户完全没感觉(不用停机)。那次迁存储,小明用热推,零停机完成,得到了老板的表扬。

第十三章:成本太高?云计算来帮忙(云计算)

随着数据量增长,公司买存储、服务器的成本越来越高(每年硬件投入要200万),李哥提议:“把非核心数据放云上,能省不少钱。”这章小明搞懂了“云计算”怎么和存储结合。

首先是**云计算的本质特征**(NIST定义),小明记成“自助、共用、快扩、计量、广访问”:

  • 按需自助服务:比如需要100GB存储,自己在阿里云控制台点几下就能开通,不用找服务商人工处理。

  • 资源共用:阿里云的存储池给很多公司用,比如小明公司用的100GB,和其他公司的存储共用物理磁盘,成本低。

  • 快速灵活:用户增长时,从100GB扩到1TB,几分钟就能搞定,不用等买新硬件。

  • 可计量的服务:用多少付多少,比如100GB每月50元,不用预付全款。

  • 广泛的网络访问:在公司、家里、出差,用电脑、手机都能访问云上的存储。

然后是**云服务模式**,小明用“租房”比喻:

  • IaaS(基础设施即服务):租“毛坯房”(比如阿里云的ECS服务器+云磁盘),自己装OS、数据库、APP,适合技术能力强的团队(比如公司的核心数据库用IaaS,自己管更安全)。

  • PaaS(平台即服务):租“精装房”(比如阿里云的RDS数据库服务),不用装数据库,直接用,适合快速开发(比如市场部的临时报表系统用PaaS,省时间)。

  • SaaS(软件即服务):租“拎包入住的房”(比如钉钉、企业微信),直接用软件,不用管底层,适合非技术团队(比如行政部用SaaS的OA系统)。

公司最后选了**混合云部署**:核心数据(用户支付记录、身份证照片)放“私有云”(自己建的云,安全),非核心数据(用户日志、旧视频)放“公有云”(阿里云,便宜),两者用专线连,数据能互相传。小明算过,这样每年硬件成本从200万降到80万,省了60%。

小明的终极成长:从“管理员”到“架构师”

从应对单机故障到异地灾备,从手动管理到云化部署,小明跟着公司的需求,把9-13章的“业务连续性、备份归档、本地/远程复制、云计算”全吃透了。其实这些章节的逻辑很清晰——前八章是“怎么建存储”,后五章是“怎么保存储”(防丢、防坏、能恢复、降成本)。

现在小明再遇到问题,比如“怎么设计灾备方案”“要不要上云”,能立刻想到对应的技术:核心数据用同步复制+CDP,非核心用异步复制+公有云;备份用“完整+累积”,归档用CAS……这些知识不再是孤立的概念,而是能解决实际问题的“工具箱”。

后续复习时,你也可以像小明一样,把知识点和“解决什么问题”绑定——比如看到“远程复制”就想“异地灾备”,看到“重复数据删除”就想“省备份空间”,这样记起来又快又牢~

http://www.dtcms.com/a/605040.html

相关文章:

  • dify TTS部署 GPT-SoVITS
  • kotlin中SharedFlow的简单使用
  • Kotlin 中的 inline 和 reified 关键字
  • 开封府景点网站及移动端建设情况精品资源共享课网站建设 碧辉腾乐
  • 战场目标检测:Faster R-CNN与RegNetX-800MF融合实现建筑物人员坦克车辆识别_2
  • 易语言黑月编译器:提升编程效率与性能优化 | 深入解析易语言开发中的工具应用与技巧
  • Vibe Coding - 从Vibe Coding到Spec Coding_AI编码范式的进化之路
  • 宣化网站建设青岛网站制作推广平台
  • 【多模态大模型面经】 BERT 专题面经
  • Node.js 开发实战:从入门到精通
  • 草莓病害智能识别与分类_Cascade-RCNN_HRNetV2p-W18-20e_COCO实现
  • 改造多模块!!无法使用三方依赖的异常处理
  • JMeter 自动化实战:自动生成文件并传参接口的完整方案
  • AutoSAR实战:RTA-OS Counters操作系统计数器详解
  • FCAF3D: Fully Convolutional Anchor-Free 3D Object Detection论文精读
  • 北京市轨道交通建设管理有限公司网站企业网站建设合同书模板
  • 做图表的网站大连关键词
  • Vue 3中集成GIS(地理信息系统)
  • 进程基本概念
  • Java模拟算法题目练习
  • Mac远程控制新篇章:UU远程被控端深度测评
  • WordPress插件--菜单登录后可见的插件
  • 电商数据分析报告
  • Rust与主流编程语言客观对比:特性、场景与实践差异
  • C语言编译器有哪些 | 选择最适合的编译器提高开发效率
  • 网站频道规划网站个人备案模版
  • 昆明公司建设网站制作上海seo外包
  • MySQL: 存储引擎选择策略:基于事务支持、备份需求、崩溃恢复及特性兼容性的综合指南
  • 学生成绩管理系统 基于java+springboot+vue实现前后端分离项目并附带万字文档(源码+数据库+万字详设文档+软件包+安装教程)
  • ios-WebP