zoukankan      html  css  js  c++  java
  • Linux 磁盘

     磁盘如何正常使用,要经过如下的演变

    存储

    从个人电脑到互联网时代的数据存储是如何演进的,原理是怎样的,了解了这些,有利于程序员更好的优化性能,系统架构,本文意在讨论这个话题。

              一般情况下的电脑,主要存储设备是内存和硬盘,内存是带电存储,硬盘是持久化存储,内存的访问速度比硬盘快。应用软件或者信息化项目,在运行期间,所用到的数据有一部分运行在内存中,访问速度快;有一部分存储在硬盘上,用到的时候,才去访问,访问的效率由硬盘的性能决定。

              当然,CPU和硬盘也带有缓存。但这些缓存的访问速度都比硬盘速度快,所以应用软件或者信息化项目,不考虑其他因素,其运行效率瓶颈在于硬盘的性能。在过去10年里,CPU、内存、显卡等PC配件一直在高速发展,性能早已翻了几倍甚至几十倍。但硬盘是例外的,除了容量的大幅度提升外,传输速度没有质的飞跃,无论接口怎么变,从当初ATA 66/100/133,到SATA 1.5Gb/s还是目前的SATA 3.0Gb/s,硬盘速度提升并不是很明显,因此硬盘早已成为PC系统的性能瓶颈。  

               当然,硬盘发展缓慢的原因与客观因素有关,目前大多数硬盘还是采用机械结构,转速是影响硬盘速度的重要因素,由于成本限制,目前只有服务器上用15000RPM的硬盘,民用级的还是10年前推出的7200RPM,这样注定硬盘速度不能有革命性的提升。后来又发展出了固态硬盘

              硬盘按照接口划分为下面几种,下面是几种常见的硬盘性能对比及介绍

                   

             1、IDE 硬盘

              IDE的英文全称为“IntegratedDrive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。

              IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、UltraATA、DMA、Ultra DMA等接口都属于IDE硬盘。              

             2、SATA 接口硬盘

              SATA是SerialATA的缩写,即串行ATA。这是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。   

             3、SCSI 接口硬盘

              SCSI的英文全称为“SmallComputer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

      

             4、光纤通道

              光纤通道的英文拼写是Fibre Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等,但价格昂贵,一般用于高端服务器。

             

             5、SAS接口硬盘

              SAS(Serial Attached SCSI)是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ATA(Serial ATA,缩写为SATA)硬盘的兼容性. SAS的接口技术可以向下兼容SATA.

             

             6、固态硬盘

              SSD(Solid State Disk) 固态硬盘,和传统机械硬盘采用的磁盘体、磁头、马达等机械零件不同,固态硬盘是由控制芯片和存储芯片(FLASH芯片或DRAM芯片)组成,简单来说,固态硬盘和我们熟悉的闪存盘、闪存卡较为相似。相比于传统的机械硬盘,固态硬盘有很多优点,如速度快、防震、体积小、零噪音等。

             

    磁盘阵列 raid

             当一块硬盘的容量和安全、备份等不能满足要求时,就需要有更新的技术出现。如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效的利用磁盘空间,而大容量磁盘的价格非常昂贵。磁盘阵列技术的产生一举解决了这些问题。

             

              RAID: (Redundant Array of Inexpensive Disk廉价冗余磁盘阵列)

          是一种磁盘集群技术, 很早以前就开始使用在大型系统之中.用户可以自由定义数据的保存方式, 可以采用数据镜像(在不同磁盘上保存数据拷贝), 条带集(数据交叉保存在多个磁盘上), 还有奇偶校验保护(记录额外的数据以识别错误), 这些技术可以根据用户对性能和可靠性的要求单独或联合使用.

             

             1、架构

              基于不同的架构,RAID 又可以分为:        软件RAID (软件 RAID)        硬件RAID (硬件 RAID)        外置RAID (External RAID)  

            ·软件RAID

              很多情况下已经包含在系统之中,并成为其中一个功能,如微软的Windows NT/2000 Server/Server 2003和NetVoll的NetWare两种操作系统都可以提供软件阵列功能,其中Windows NT/2000 Server/Server 2003可以提供RAID 0、RAID 1、RAID 5;NetWare操作系统可以实现RAID 1功能。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降代还比较大,达30%左右。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统——主要是中央处理器的功能——提供所有现成的资源。 

            ·硬件RAID

              通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。 

            ·外置式RAID

              也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力。

             2、RAID0(带区集)

                      

              RAID0是Data Striping(数据分割)技术的实现,它将所有硬盘构成一个磁盘阵列,可以同时对多个硬盘做读写动作,但是不具        备备份及容错能力,它价格便宜,硬盘使用效率最佳,但是可靠度是最差的。 

              以一个由三个硬盘组成的RAID0磁盘阵列为例,它把数据的第1和2位写入第一个硬盘,第三和第四位写入第二个硬盘……以此类推,所以叫“数据分割",因为各盘数据的写入动作是同时做的,所以它的存储速度可以比单个硬盘快几倍。 

              但是,这样一来,万一磁盘阵列上有一个硬盘坏了,由于它把数据拆开分别存到了不同的硬盘上,坏了一颗等于中断了数据的完整性,如果没有整个磁盘阵列的备份磁带的话,所有的数据是无法挽回的。因此,尽管它的效率很高,但是很少有人冒着数据丢失的危险采用这项技术。

              一般用在对数据安全要求不高,但对速度要求很高的场合,如:大型游戏、图形图像编辑等。此种RAID模式至少需要2个磁盘,而更多的磁盘则能提供更高效的数据传输。

             3、RAID1(镜像)

             

              RAID1使用的是Disk Mirror(磁盘映射)技术,就是把一个硬盘的内容同步备份复制到另一个硬盘里,所以具备了备份和容错能力,这样做的使用效率不高,但是可靠性高。每一个磁盘都有一个镜像磁盘,镜像磁盘随时保持与原磁盘的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。此种RAID模式每组仅需要2个磁盘。

             4、RAID3(带专用校验驱动器的带区集)

             

              RAID 3采用Byte-interleaving(数据交错存储)技术,硬盘在SCSI控制卡下同时动作,并将用于奇偶校验的数据储存到特定硬盘机中,它具备了容错能力,它的可靠度较佳。

             5、RAID5(带分布校验位的带区集)

                     

             RAID 5使用的是Disk Striping(硬盘分割)技术,与RAID 3的不同之处在于它把奇偶校验数据存放到各个硬盘里,各个硬盘在SCSI控制卡的控制下平行动作,有容错能力。

             6、RAID10

             

              RAID0+1(也称RAID10)阵列中一半的驱动器采取RAID0的结构,可以并行传送来提高数据传输率。另一半则是前面提到的镜象磁盘,即是RAID1。这样可以有很高的可靠性。

    raid对比

    分区

    如图你可以看到,分区表最多只有四个分区,三个主分区和一个扩展分区,这是最多的,而扩展分区上必须有逻辑分区才能存储数据

    fdisk -l
    fdisk /dev/sdb
    
    m 帮助
    n 添加
    p 查看分区
    2 分区号
    +10M 大小
    
    d 删除
    q 退出
    w 保存
    
    lvm的标识是8e,标号从5开始

    格式化分区

    检查磁盘
    fsck -t ext4 /dev/sda
    -a:自动修复文件系统,不询问任何问题;
    -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统;
    -N:不执行指令,仅列出实际执行会进行的动作;
    -P:当搭配"-A"参数使用时,则会同时检查所有的文件系统;
    -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式;
    -R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查;
    -s:依序执行检查作业,而非同时执行;
    -t<文件系统类型>:指定要检查的文件系统类型;
    -T:执行fsck指令时,不显示标题信息;
    -V:显示指令执行过程。
    
    格式化磁盘
    mkfs.ext4 /dev/sdb1
    mkfs -t ext4 /dev/sdb1

    挂载磁盘

    mount -t ext4 /dev/sda1 /mnt
    umount -lF /mnt 强制

    交换分区

    要有一个swap交换分区,它的作用相当于windows理的虚拟内存,swap分区的小大一般为物理内存容量的1.5倍(内存<8g)。但当系统物理内存大于8g时,则swap分区配置8-16g即可。swap分区不是必须的,但是大多数情况应该设置
    fdisk /dev/sdb
    创建一个分区出来
    swapon /dev/sdb1
    swapoff /dev/sdb1
  • 相关阅读:
    创建Variant数组
    ASP与存储过程(Stored Procedures)
    FileSystemObject对象成员概要
    Kotlin 朱涛9 委托 代理 懒加载 Delegate
    Kotlin 朱涛 思维4 空安全思维 平台类型 非空断言
    Kotlin 朱涛7 高阶函数 函数类型 Lambda SAM
    Kotlin 朱涛16 协程 生命周期 Job 结构化并发
    Proxy 代理模式 动态代理 cglib MD
    RxJava 设计理念 观察者模式 Observable lambdas MD
    动态图片 Movie androidgifdrawable GifView
  • 原文地址:https://www.cnblogs.com/jokerbj/p/9225556.html
Copyright © 2011-2022 走看看