硬盘存储

05:持久化

允我心安 提交于 2019-11-26 07:41:55
05:持久化 文章目录 05:持久化 1、本章知识 1.1 本章内容 1.2 重点 2、RDB 2.1 触发机制 2.2 流程说明 2.3 RDB文件处理 2.4 演示 2.5 RDB的优缺点 3、 AOF( append only file) 持久化 3.1 使用AOF 3 .2 AOF工作流程 3.3 AOF 命令写入 3.4 文件同步 3.5 重写机制(AOF rewrite) 3.6 重启加载 3.7 文件校验 Bad file format reading the append only file: make a backup of your AOF file,then use `edis-check-aof --fix ` 4 、RDB-AOF混合持久化 5 、三种持久化的优缺点 6 、问题定位与优化 6.1 fork操作 6.2 子进程开销监控和优化 1.CPU 2.内存 3.硬盘(IO) 6.3 AOF追加阻塞 7 、多实例部署问题 1、本章知识 1.1 本章内容 介绍RDB、 AOF的配置和运行流程, 以及控制持久化的相关命令, 如bgsave和bgrewriteaof。 其次对常见持久化问题进行分析定位和优化。 最后结合Redis常见的单机多实例部署场景进行优化 RDB和AOF 混合模式 1.2 重点 1) Redis提供了两种持久化方式: RDB和AOF。 2

2019 08 08 字符编码,文件操作

若如初见. 提交于 2019-11-26 07:29:51
字符编码 一、计算机基础 cpu: 控制程序的运行(从内存中取出文本编辑器的数据读入内存) 内存: 运行程序(经cpu操作后,内存中含有文本编辑器的数据) 硬盘: 存储数据(文本编辑器) 二、文本编辑器存取文件的原理 ​ 计算机只认识 0和1 ​ 文本编辑器的作用: 读写数据,保存数据 打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的内容也都是存放与内存中的,断电后数据丢失。 要想永久保存,需要点击保存按钮:编辑器把内存的数据刷到了硬盘上。 在我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。 三、Python解释器执行py文件的原理 ​ 具有文本编辑器的功能 ​ 010101011001010 --> a = 1 # 5个很普通的字符 ,python解释器没有运行的时 候提供的 # 字符编码 ​ 定义变量就要开辟内存空间存放变量,内存只认识 0和1 也就是说, a=1 --> 01010110101 需要一定的0和1表示他为字符串,python解释器运行的时候提供 的 # python2和3字符编码的区别 第一阶段:Python解释器启动,此时就相当于启动了一个文本编辑器 第二阶段:Python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中(小复习:pyhon的解释性

数码复印机数据安全检查技术介绍

荒凉一梦 提交于 2019-11-26 04:52:44
一、数码复印机介绍 自从上世纪五十年代美国施乐公司推出第一台商用复印机以来,复印机已走过了半个多世纪的历程,复印技术也日趋完善。复印机产品从手动到全自动,从单一功能到多功能,从模拟式到数码式,从单色到多色、全彩色的发展,复印技术随着信息时代的到来,走上更加完善、更加成熟的道路。 数码复合机是以复印功能为基础,标配或可选打印、扫描、传真功能,采用数码原理,以激光打印的方式进行文件输出,可以根据需要对图像、文字进行编辑操作,拥有较大容量纸盘,高内存、大硬盘、强大的网络支持和多任务并行处理能力,能够满足用户的大任务量lT作需要。并可以将大量数据保存下来,担当企业信息文档管理中心的角色的商用办公设备。 数码复合机也叫数码复印机,由于数码复印机采用了先进的数码技术,所有原稿经数码一次性扫描存入复印机存储器中,使其可以进行复杂的图文编辑,大大提高了复印机的工作效率和复印质量,降低了复印机的故障发生的机率。 数码复印机由于是利用激光扫描和数字化图像处理技术成像的,因此它不仅仅提供复印功能,还可以作为电脑的输入输出设备,以及成为网络的终端。现代化办公讲究的是高效率,数码复印机的出现,使现代化办公如鱼得水。而且随着数字化技术的普及,数码复印机将成为现代化办公环境中不可缺少的办公设备。 数码复合机就像一台完整的电脑,不仅具备文件存储功能,还具备邮件发送、传真发送等功能。配置有硬盘存储部件的数码复合机

如何冷静面对照片视频丢失误删除的种种现象?我有话要说....

可紊 提交于 2019-11-26 02:03:52
最近遇到很多用户的问题都是关于照片丢失及视频误删的情况,为了让更多的朋友避免在这方面踩雷,小编特收集诸多案例,在此为大家总结几条经验,希望朋友们读完这篇文章之后,会有所收获。 1、照片视频丢失的情况 数据丢失的情况有很多种: 硬盘无法识别,电脑重装系统,硬盘误格式化,存储卡格式化误删除等操作。 一般基于此类问题,用户的通常会说: 用户1:“我的硬盘里存储的都是孩子从小到大的照片,我也没做过备份...” 用户2:“这是我的结婚视频以及婚纱照,硬盘不小心摔了,结果数据也就没了...” 用户3:“里面存储的都是我们家人之前旅行拍的照片,在用相机查看时,不小心点错按钮...” 诸如此类的情况还有很多... 2、面对以上问题,我们该如何解决? 1>发现数据丢失的情况,切勿在存储数据的设备中再次存入新的数据(一丁点都不要有呦)。 2>如果是出现存储介质(硬盘、存储卡等)识别不到的情况,切勿对介质进行反复通电,以免造成二次损伤。看下图朋友们,硬盘盘片表面是洁净无痕的,工程师都是在无尘室才能对硬盘做操作的。反复通电会有可能造成盘片划伤,损坏一点点数据都没有办法进行找回。 3>另外现在有很多喜欢使用单反相机或录像机记录生活的朋友,那么在备份及删除的数据的时候,我们要注意要尽量避免在相机内直接清空删除的操作。可以将存储卡连接到电脑上做删除的操作。

一文学会为华为服务器配置raid1和raid5

时光怂恿深爱的人放手 提交于 2019-11-26 01:52:39
最近写的书中介绍到了在服务器上配置RAID卡,先发出来让大家参考一下。 一、RAID简介 RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)的基本思想就是把多个相对便宜的小磁盘组合起来,成为一个磁盘组, 使其性能达到甚至超过一个价格昂贵、容量巨大的磁盘。根据选择的冗余阵列模式不同,RAID比单盘有以下一个或多个方面的益处:增强数据整合度、增强容错功能、增加吞吐量或容量等特性。另外,磁盘组对于计算机来说, 看起来就像一个单独的磁盘或逻辑存储单元。常用的磁盘冗余阵列模式分为RAID-0、RAID-1、RAID-10、RAID-5、RAID-50。 RAID-0:这一技术有条带但是没有数据冗余。它提供了最好的性能但是不能容错。 RAID-1:这一个类型也称为磁盘镜像,至少由二个复制数据存储的驱动器组成。没有条带。因为任一驱动器能同时被读,读取性能被改良。写性能和单一磁盘存储相同。在多用户系统中,RAID-1 提供最好的性能和最好的容错。 RAID-5:数据以块为单位分布到各个硬盘上,RAID 5把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID

testdisk修复磁盘文件

狂风中的少年 提交于 2019-11-26 00:32:30
怎么使用chkdsk命令修复磁盘 fsck|xfs_repair 磁盘修复 fsck 使用权限 : 超级使用者      使用方式 : fsck [-sACVRP] [-t fstype] [--] [fsck-options] file sys [...]      说明 : 在Linux系统中,为了增加系统性能,通常系统默认一些数据写在内存中,并不会直接将数据写入硬盘,这是因为内存速度要比硬盘快若干倍。但是有个问题,万一由于“断电”或者其他未知原因,造成系统死机,怎么办?系统就崩溃了。所以,我们需要在特定的时候让数据直接回存到硬盘中。这里提供几个常用的命令,其中,fsck命令最重要. 当文件系统发生错误时,可用fsck命令尝试加以修复.直接采用分区编号(如/dev/had3),或使用挂载点(Mount Point,如/、/usr等)指定文件系统皆可。假设一次指定多个文件系统,而这些系统分别位于不同的物理磁盘上,则fsck将会尝试同步的方式去检查他们,以节省操作时间。        参数 :      filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)   -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数   -s : 依序一个一个地执行 fsck

数据持久化

孤者浪人 提交于 2019-11-25 23:56:09
数据持久化 一持久化定义   将数据从掉电易失的内存放到永久存储的设备上 二为什么需要持久化   因为所有的数据都在内存上,所以必须得持久化 一数据持久化分类之 - RDB模式(默认开启) (一)默认模式 1、保存真实的数据 2、将服务器包含的所有数据库数据以二进制文件的形式保存到硬盘里面 3、默认文件名 :/var/lib/redis/dump.rdb (二)创建rdb文件的两种方式 方式一: 服务器执行客户端发送的SAVE或者BGSAVE命令 127.0.0.1:6379> SAVE OK # 特点 1、执行SAVE命令过程中,redis服务器将被阻塞,无法处理客户端发送的命令请求,在SAVE命令执行完毕后,服务器才会重新开始处理客户端发送的命令请求 2、如果RDB文件已经存在,那么服务器将自动使用新的RDB文件代替旧的RDB文件 # 工作中定时持久化保存一个文件 127.0.0.1:6379> BGSAVE Background saving started # 执行过程如下 1、客户端 发送 BGSAVE 给服务器 2、服务器马上返回 Background saving started 给客户端 3、服务器 fork() 子进程做这件事情 4、服务器继续提供服务 5、子进程创建完RDB文件后再告知Redis服务器 # 配置文件相关操作 /etc/redis/redis

raid5磁盘阵列有3块硬盘掉线的解决方案-raid数据恢复案例

一世执手 提交于 2019-11-25 21:35:33
某公司使用了同友存储,采用raid5磁盘阵列,由于未知的原因导致存储忽然崩溃无法启动,raid5阵列中的虚拟机全部丢失,其中3台虚拟机为重要数据,需要主要针对该3台虚拟机进行数据恢复。 一、分析存储底层次结构,制定数据恢复方案。 通过与客户的沟通及对raid阵列的分析得出故障存储的底层结构为若干物理磁盘组成一个存储池,划分了多个lun,需要进行数据恢复的为lun1,其中包含重点恢复的3台虚拟机。如下图所示: 二、尝试重组raid恢复raid阵列数据。 在对阵列进行分析重组时发现用户原存储中的raid5阵列共缺失2块硬盘,热备盘已经启用。(还原故障过程为:第一块硬盘掉线后系统启动热备盘进行替换,第二块硬盘掉线时raid5处于降级状态,第三块硬盘掉线导致raid阵列崩溃。)这种情况下通常无法通过校验直接获取丢失盘的数据,所以只能使用磁盘同等大小的全0镜像进行重组(由于依赖空镜像组成的raid文件系统结构会被严重破坏,相当于每个条带都会缺失两个块的数据,所以除非常情况下不建议如此)。 三、通过重组的raid阵列提取LUN。 通过对存储结构的进一步分析我们可以获取到存储划分的MAP块,进而对各个LUN的数据块指针进行解析,通过编写数据提取程序(也可借助北亚数据恢复工具)提取LUN碎片。提取完成后进行碎片拼接,组成完整LUN。 四、导出LUN内所有虚拟机,尝试启动。

DiskLruCache硬盘缓存技术详解

喜欢而已 提交于 2019-11-25 21:33:26
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u010687392/article/details/47019505 上次讲了使用内存缓存LruCache去加载很多图片而不造成OOM,而这种缓存的特点是在应用程序运行时管理内存中的资源(图片)的存储和释放,如果LruCache中有一张图片被释放了,再次加载该图片时需要重新从网络上下载下来,这就显得废流量不说,而且费时,网络不好的状况下用户需要等待,而且在没有网络的情况下不会显示任何数据。 那么怎样才能解决这种情况呢?答案就是加入硬盘缓存DiskLruCache。 1、什么是硬盘缓存呢? 顾名思义,就是把从网络上加载的数据存储在本地硬盘上,当再次加载这些数据时候,通过一系列判断本地是否有该数据,就不会从先网络上加载,而是从本地硬盘缓存中拿取数据,这样即使在没有网络情况下,也可以把数据显示出来。举个例子:比如网易新闻app,我们打开客户端后开始浏览新闻,之后发现在手机没有联网的情况下,之前浏览的界面还是能正常的显示出来,这显然就是用到了硬盘缓存DiskLruCache技术,其实硬盘缓存技术在诸多app中运用了,比如一些视频类app、小说类app。。。然而,DiskLruCache并不是Google官方编写的

Raid磁盘阵列数系列问题答疑

血红的双手。 提交于 2019-11-25 20:23:30
[问题] —— 在断电情况下,把已经配置好的RAID中的硬盘盘位互换后,再次开机会不会影响原先存储数据的完整性,是否会导致数据灾难? [回答] —— 这个要取决于RAID控制器的固件设计,一个最重要的根本是,RAID信息(RAID元数据)记录在什么地方?可以记录RAID信息的地方只能有RAID控制器上的存储单元和硬盘上。 —— 如果RAID信息只记录在控制器上,那么配置好的RAID里硬盘盘位互换后,数据一定会受到影响。这种记录方式使用较少,目前只有部分低端控制器采用。 ——RAID信息只记录在硬盘上的情况也不多见,如果RAID信息只记录在硬盘上,控制器便不具备记录RAID配置的能力,完全依赖于硬盘,安全性也较低。如果是这种情况,更换RAID盘位并不会导致数据灾难。 ——目前大多数控制器的实现是将RAID信息同时记录在控制器与硬盘上,这样,当两者中有一出故障,可通过另一份COPY还原。同时,可对RAID信息的正确性进行校验,通过控制器上存储的RAID信息为主信息,当RAID里的信息与硬盘里的信息不相同时,需要手工进行判断处理(比如强制上线)。此类情况更换硬盘盘位后,要么自动调整过来,不影响数据,要么需要手工确认一下。只要正确操作,便不会有数据灾难。 ——但必须指出的是,更换RAID盘位的操作还是相当危险的,安全级别越高的RAID控制器越敏感