如何在Linux上组建磁盘阵列

磁盘阵列可以将多个硬盘组成一个虚拟的硬盘。在操作上,用户会觉得跟使用单一硬盘没有什么不同。但是在实际存储数据过程中,磁盘阵列是将数据分别保存在不同的硬盘上,以提高数据的安全性。笔者今天将跟大家说说如何在Linux环境下组建磁盘阵列。

一、使用磁盘阵列可以带来哪些好处?

在具体如何配置磁盘阵列之前,笔者要先给大家介绍一下利用磁盘阵列的好处。先给大家一点动力,让大家能够继续看下面的内容。

第一个好处是磁盘阵列可以提高数据存取的效率。硬盘其实就好像是一个盒子,其内部空间很大,但是出入的口子很小。当要把大量数据保存在这个盒子的时候,只有通过这个小小的盒子来保存数据。其存取的效率明显不是很高。但是,如果采用磁盘阵列的话,当系统向硬盘中写入数据的时候,会先把大块的数据分割成多个小区快,并同时写到不同的硬盘中。这就好像在一个盒子中开了多个出入孔,同时往这个孔中加入数据一样,可以提高硬盘的写入速度。同理,在读取的时候,也可以同时从不同的硬盘中读取,提高数据读取的速度。所以磁盘阵列可以提高数据的存储效率。为此,在一些服务器上部署磁盘阵列,可以提高服务器的应用性能。

第二个好处是可以整合多块硬盘。多数的Linux系统管理员也许都遇到过这种问题。一块硬盘用着用着,突然空间不够了。此时该如何处理呢?其实,管理员不需要更换硬盘。而是可以把多个小容量的硬盘整合起来,组合成一个容量比较大的虚拟硬盘。因为磁盘阵列操作起来,就好像跟一块硬盘一样,所以不会给用户的工作带来不利的影响。所以把多块闲置的硬盘利用磁盘阵列组合成一块虚拟硬盘,是解决磁盘容量不足的一个不错的方法。

第三个好处是可以提供比较高的安全性。当硬盘中的数据存储发生错误时,磁盘阵列技术能够利用现有的信息对损坏的数据进行自动修复。磁盘阵列会产生一个校验码。这个校验码会存放在不同的磁盘上。当某块磁盘突然出现损坏时,磁盘阵列技术就可以利用这个校验码来恢复损坏磁盘的数据。故磁盘阵列技术也经常被用在Linux服务器,以提高服务器数据的安全性。

二、Linux磁盘阵列与其它操作系统的差异。

从磁盘阵列的概念中,我们知道磁盘阵列是由一个个不同的硬盘组合而成的一个虚拟硬盘。其他操作系统,如微软操作系统,若要采用磁盘阵列的话,也有这方面的限制。但是,Linux与其他操作系统不同。它可以在同一块硬盘中实现磁盘阵列。也就是说,Linux操作系统不是以硬盘为单位来组成磁盘阵列的,而是以分区为单位。既可以通过把一个硬盘分割成不同的分区,然后再把它们组合成一个磁盘阵列。

不过在同一块硬盘上分割成多块分区,并重新组合成一个磁盘阵列的话,就不能够享受磁盘阵列所带来的好处。如上面所讲的提高硬盘数据存取效率、提高数据安全性等等,都将不在有。也就是说,其已经失去了将数据存放在不同磁盘、以降低数据损坏风险、提高数据存储效率的目的。磁盘阵列的使用价值将无法体现。

故系统管理员之所以把一块硬盘分割成不同的分区,并实现磁盘阵列,主要是出于实验、学习的目的。在实际部署中,笔者建议企业还是采用至少三块硬盘来实现磁盘阵列,让磁盘阵列真真发挥其应有的效益。

三、Linux系统下如何设置磁盘阵列?

在Linux系统中,磁盘阵列主要通过/etc/raidtab配置文件来控制的。若系统管理员需要实现磁盘阵列的话,就需要手工创建这个配置文件。或者从其他地方复制这个文件,并进行相应的修改。默认情况下,在Linux系统中不会有这个文件。下面笔者就对这个文件中的主要参数进行讲解,帮助大家建立一个正确的磁盘阵列配置文件。

参数一:raid-level 指定磁盘阵列的类型。

磁盘阵列到目前为止,有不下于十种的类型。而Linux系统则只支持其中的五种类型。系统管理员需要了解这五种磁盘阵列类型的特点,并根据企业的实际应用场景选择合适的磁盘类型。笔者平时比较喜欢采用Linear或者RAID-5这两种磁盘阵列类型。为此就给大家分析一下这两个磁盘类型的特点。

Linear磁盘阵列模式比较简单,它只是起到一个磁盘的整和作用。如果采用这种磁盘阵列模式,Linux系统会先将数据存放在第一块硬盘中。只有当这个硬盘空间已经使用完了,操作系统才会将数据存储到第二块硬盘中。以此类推。在这种模式下,由于没有把数据分块同时存入到多个硬盘中,所以不能够提高数据存取效率。同时,也不存在校验码,故也没有数据自我修复的功能。也就是说,这种模式的磁盘阵列,只起到了把小容量的硬盘整和中一块大硬盘的作用。所以这种模式实际应用的不多。但是因为其配置简单,所以是用来理解磁盘阵列这种技术的好渠道。

RAID-5磁盘阵列模式是现在主流的磁盘阵列模式。在这种模式下,Linux操作系统会将数据切割成固定大小的小区块,并同时分别保存到不同的硬盘中。而且这种磁盘阵列模式,会产生校验码,并且把校验码存放在不同的硬盘中。由于其并没有保留固定的一块硬盘来存放同为校验码,所以当任何一块硬盘损坏时,损坏的数据都可以被修复。若采用这种模式,可以提高数据的存储效率、增强数据的安全性、把不同硬盘整和成一块虚拟硬盘。而且,其没有把同位校验码存放在同一块硬盘中,所以不会造成整体系统性能的瓶颈。笔者现在企业中的服务器,就是采用了这种磁盘阵列模式。

参数二:chunk-size 指定分块的大小。

采用磁盘阵列后,数据会被分割成许多小块,然后写入到硬盘中。那么这个块的大小是多少呢?在磁盘阵列配置文件中,需要指定每个写入区块的大小。其最小单位是2KB。用户指定的区块大小,必须都是2的整数次方。如可以设置为4、8、16等等。不过这个参数配置对于Liner模式下没有实际意义。因为在Liner模式下实际上不会对数据进行分块。因为其先把数据存储在第一块硬盘上。当第一块硬盘满后在存储在第二块上,以此类推。故不会对数据进行分块。所以这个参数对Liner这种磁盘阵列模式不起作用。

参数三:persistent-superblock:设置是否要写入超级块。

在微软的操作系统下部署磁盘阵列的话,就不需要设置这个内容。但是在Linux下,必须对此进行设置。因为Linux系统采用的是Ext2/3文件系统。对于这个文件系统来说,硬盘分区首先被划分为一个个Block。同一个ext2文件系统上的每个block大小都是一样的。但是对于不同的ext2文件系统,block的大小可以有区别。典型的block大小是1024 bytes或者4096 bytes。这个大小在创建ext2文件系统的时候被决定,它可以由系统管理员指定,也可以由文件系统的创建程序根据硬盘分区的大小,自动选择一个较合理的值。一个硬盘分区上的block计数是从0开始的,并且这个计数对于这个硬盘分区来说是全局性质的。

Superblock有一个比较时髦的中文名称,叫做超级块。超级块是硬盘分区开头(开头的第一个byte是byte 0)从 byte 1024开始往后的一部分数据。由于 block size最小是 1024 bytes,所以super block可能是在block 1中(可能此时block 的大小正好是 1024 bytes),也可能是在block 0中(可能此时block 的大小超过 1024 bytes)。超级块中的数据其实就是文件卷的控制信息部分,也可以说它是卷资源表,有关文件卷的大部分信息都保存在这里。所以这个超级块中的信息就好像是FAT32文件系统下的分区格式,非常的重要。

这个参数就是用来控制是否需要写入硬盘的这个块。如果要写入的话,就设置为1;不写入的话,就设置为0。

linux挂载磁盘阵列

在许多项目中,都会把数据存放于磁盘阵列,以确保数据安全或者实现负载均衡。在初始安装数据库系统和数据恢复时,都需要先挂载磁盘阵列到系统中。本文记录一次在linux系统中挂载磁盘的操作步骤,以及注意事项。

此处所用操作系统为Asianux,磁盘阵列设备名为emcpowera,使用的分区为emcpowera1。

1.  使用命令fdisk –l /dev/emcpowera查看磁盘阵列的分区情况:

2.  正常情况下,磁盘阵列分区信息如上图所示(只有一个分区/dev/emcpowera1)。如果显示结果为空,说明磁盘阵列与服务器之间的物理连接有问题,请与服务器管理员联系;

3.  在/opt目录下新建一个空文件夹作为磁盘阵列的挂载点(此处示例中命名为GISData):

#mkdir /opt/GISData

4.  修改系统配置文件/etc/fstab(该文件控制系统磁盘加载),依照文件格式在最后一列添加如下信息:

/dev/emcpowera1         /opt/GISData           ext3    defaults        0  0

添加后的fstab文件内容类似如下图:

5.  重启机器后登录系统,使用命令df –lhT –B G查看当前的文件系统:

6.  正常情况下,显示的文件系统信息如上图所示,则挂载磁盘阵列成功;若显示的结果中不包含磁盘阵列分区信息,则磁盘阵列挂载失败,请与服务器管理员联系。

注意事项:挂载好磁盘阵列,在数据库服务器运行过程中,如果发生断电后自动重启,则会发现数据库无法加载数据,也找不到磁盘阵列。这时可以再手动启动服务器一次,便能顺利加载磁盘阵列。个人推测可能是在来电后磁盘阵列和服务器同时自动启动,但因为磁盘阵列的启动速度不如服务器,所以服务器加载磁盘阵列失败。

如何在Linux操作系统上玩转磁盘阵列

大部分用户都会担心,万一硬盘发生故障,数据丢失咱们办呢?其实现在不少用户由于硬盘容量等方面的限制,都会在主机上挂有不止一块的硬盘。此时若把这些硬盘组成一个磁盘阵列,那么用户就可以高枕无忧了。磁盘阵列可以将多个硬盘组成一个虚拟的硬盘。在操作上,用户会觉得跟使用单一硬盘没有什么不同。但是在实际 存储 数据过程中,磁盘阵列是将数据分别保存在不同的硬盘上,以提高数据的 安全 性。笔者今天将跟大家说说如何在Linux环境下玩转磁盘阵列。

  一、使用磁盘阵列可以带来哪些好处?

  在具体如何配置磁盘阵列之前,笔者要先给大家介绍一下利用磁盘阵列的好处。先给大家一点动力,让大家能够继续看下面的内容。

  第一个好处是磁盘阵列可以提高数据存取的效率。硬盘其实就好像是一个盒子,其内部空间很大,但是出入的口子很小。当要把大量数据保存在这个盒子的时候,只有通过这个小小的盒子来保存数据。其存取的效率明显不是很高。但是,如果采用磁盘阵列的话,当系统向硬盘中写入数据的时候,会先把大块的数据分割成多个小区快,并同时写到不同的硬盘中。这就好像在一个盒子中开了多个出入孔,同时往这个孔中加入数据一样,可以提高硬盘的写入速度。同理,在读取的时候,也可以同时从不同的硬盘中读取,提高数据读取的速度。所以磁盘阵列可以提高数据的存储效率。为此,在一些服务器上部署磁盘阵列,可以提高服务器的应用性能。

  第二个好处是可以整合多块硬盘。多数的Linux系统管理员也许都遇到过这种问题。一块硬盘用着用着,突然空间不够了。此时该如何处理呢?其实,管理员不需要更换硬盘。而是可以把多个小容量的硬盘整合起来,组合成一个容量比较大的虚拟硬盘。因为磁盘阵列操作起来,就好像跟一块硬盘一样,所以不会给用户的工作带来不利的影响。所以把多块闲置的硬盘利用磁盘阵列组合成一块虚拟硬盘,是解决磁盘容量不足的一个不错的方法。

  第三个好处是可以提供比较高的安全性。当硬盘中的数据存储发生错误时,磁盘阵列技术能够利用现有的信息对损坏的数据进行自动修复。磁盘阵列会产生一个校验码。这个校验码会存放在不同的磁盘上。当某块磁盘突然出现损坏时,磁盘阵列技术就可以利用这个校验码来恢复损坏磁盘的数据。故磁盘阵列技术也经常被用在Linux服务器,以提高服务器数据的安全性。

  二、Linux磁盘阵列与其它操作系统的差异。

  从磁盘阵列的概念中,我们知道磁盘阵列是由一个个不同的硬盘组合而成的一个虚拟硬盘。其他操作系统,如微软操作系统,若要采用磁盘阵列的话,也有这方面的限制。但是,Linux与其他操作系统不同。它可以在同一块硬盘中实现磁盘阵列。也就是说,Linux操作系统不是以硬盘为单位来组成磁盘阵列的,而是以分区为单位。既可以通过把一个硬盘分割成不同的分区,然后再把它们组合成一个磁盘阵列。

  不过在同一块硬盘上分割成多块分区,并重新组合成一个磁盘阵列的话,就不能够享受磁盘阵列所带来的好处。如上面所讲的提高硬盘数据存取效率、提高数据安全性等等,都将不在有。也就是说,其已经失去了将数据存放在不同磁盘、以降低数据损坏风险、提高数据存储效率的目的。磁盘阵列的使用价值将无法体现。

  故系统管理员之所以把一块硬盘分割成不同的分区,并实现磁盘阵列,主要是出于实验、学习的目的。在实际部署中,笔者建议企业还是采用至少三块硬盘来实现磁盘阵列,让磁盘阵列真真发挥其应有的效益。

  三、Linux系统下如何设置磁盘阵列?

  在Linux系统中,磁盘阵列主要通过/etc/raidtab配置文件来控制的。若系统管理员需要实现磁盘阵列的话,就需要手工创建这个配置文件。或者从其他地方复制这个文件,并进行相应的修改。默认情况下,在Linux系统中不会有这个文件。下面笔者就对这个文件中的主要参数进行讲解,帮助大家建立一个正确的磁盘阵列配置文件。

  参数一:raid-level 指定磁盘阵列的类型。

  磁盘阵列到目前为止,有不下于十种的类型。而Linux系统则只支持其中的不种类型。系统管理员需要了解这五种磁盘阵列类型的特点,并根据企业的实际应用场景选择合适的磁盘类型。笔者平时比较喜欢采用Linear或者RAID-5这两种磁盘阵列类型。为此就给大家分析一下这两个磁盘类型的特点。

  Linear磁盘阵列模式比较简单,它只是起到一个磁盘的整和作用。如果采用这种磁盘阵列模式,Linux系统会先将数据存放在第一块硬盘中。只有当这个硬盘空间已经使用完了,操作系统才会将数据存储到第二块硬盘中。以此类推。在这种模式下,由于没有把数据分块同时存入到多个硬盘中,所以不能够提高数据存取效率。同时,也不存在校验码,故也没有数据自我修复的功能。也就是说,这种模式的磁盘阵列,只起到了把小容量的硬盘整和中一块大硬盘的作用。所以这种模式实际应用的不多。但是因为其配置简单,所以是用来理解磁盘阵列这种技术的好渠道。

  RAID-5磁盘阵列模式是现在主流的磁盘阵列模式。在这种模式下,Linux操作系统会将数据切割成固定大小的小区块,并同时分别保存到不同的硬盘中。而且这种磁盘阵列模式,会产生校验码,并且把校验码存放在不同的硬盘中。由于其并没有保留固定的一块硬盘来存放同为校验码,所以当任何一块硬盘损坏时,损坏的数据都可以被修复。若采用这种模式,可以提高数据的存储效率、增强数据的安全性、把不同硬盘整和成一块虚拟硬盘。而且,其没有把同位校验码存放在同一块硬盘中,所以不会造成整体系统性能的瓶颈。笔者现在企业中的服务器,就是采用了这种磁盘阵列模式。

配置参考资料:

http://www.doc88.com/p-997294317452.html

http://www.sudu.cn/info/html/edu/20070102/292738.html

linux上组建和挂载磁盘阵列相关推荐

  1. linux 挂载光盘映像,在 Windows Mac和Linux上,如何挂载iso和其他光盘映像

    Windows Windows 10允许你直接挂载.ISO和.IMG光盘映像文件,而无需任何第三方软件.只需双击.ISO或.IMG光盘镜像. 要卸载该光盘,请右键单击该虚拟磁盘驱动器,然后选择&quo ...

  2. linux上创建RAID(磁盘阵列)与LVM(逻辑盘)

    一.RAID raid:磁盘阵列(多个磁盘可以并行读写) 1.提高IO 2.保证容错 磁盘类型:b,c b-->bclock--块设备--经过缓冲区(一次输入的不是一个字符) c-->ch ...

  3. 在linux上用cifs挂载nas盘

    首先了解下cifs CIFS - Common Internet File System,通用internet文件系统. CIFS 是微软提出的协议,它使程序可以访问远程Internet计算机上的文件 ...

  4. 如何在 Linux 上永久挂载一个 Windows 共享

    导读 如果你已经厌倦了每次重启 Linux 就得重新挂载 Windows 共享,读读这个让共享永久挂载的简单方法. 在 Linux 上和一个 Windows 网络进行交互从来就不是件轻松的事情.想想多 ...

  5. 将 Mac OS X 上的目录挂载到 Linux 的方法

    打开mac文件共享功能 开启共享服务 进入系统偏好设置中的共享选项. 勾中文件共享(如下图),之后右边的文件共享的绿灯会点亮,并显示"文件共享:打开". 添加共享目录 点击在文件共 ...

  6. linux挂载磁盘阵列

    linux挂载磁盘阵列 在许多项目中,都会把数据存放于磁盘阵列,以确保数据安全或者实现负载均衡.在初始安装数据库系统和数据恢复时,都需要先挂载磁盘阵列到系统中.本文记录一次在linux系统中挂载磁盘的 ...

  7. linux上传挂载镜像文件,linux系统中挂载img镜像文件

    在网上下载了一个sentos的镜像文件: 2016-05-12-centos-lite-preview-bpi-m2p.img.我想在linux下把这个镜像挂载上,然后看看里面有那些文件. 我们可以把 ...

  8. 在linux上挂载ntfs分区

    因为一般windows上的分区格式都是NTFS格式的,而在linux系统上是识别不了的,所以在这里我们可以用ntfs-3g这个软件包实现centos可以挂载ntfs分区 首先安装gcc编译器(如果有的 ...

  9. linux挂载ntfs格式分区,Linux上挂载NTFS分区(Mount)

    本文的目的是提供读者在Linux操作系统上如何mount NTFS分区的文件系统的step-by-step指南. 本文包括两个部分: ? 以只读方式mount NTFS文件系统: ?以读写方式moun ...

最新文章

  1. 【组合数学】指数生成函数 ( 指数生成函数求解多重集排列示例 2 )
  2. 实现自己的.NET Core配置Provider之EF
  3. 面试题(C++09:Autodesk)
  4. 怎么在Windows 11中为音频输出选择扬声器
  5. python语言的缺点-python优缺点分析及python种类
  6. Linux学习笔记---使用BusyBox创建根文件系统(一)
  7. 2019年企业数据生产力调研报告,90%的人都没看过
  8. oraccle 索引管理
  9. 软件设计方案说明书的编写
  10. 综合项目之闪讯破解(六)之 如何解决程序/C++Dll的兼容性问题
  11. 360无法打开html,360浏览器打开网页显示不正常怎么办
  12. etf基金代码大全_ETF赚钱丨什么是ETF?知道这三点就入门了!
  13. 电子竞技作为一项全新的竞技体育项目,近年来发展迅猛,未来发展趋势
  14. 计算机如何与机顶盒连接网络连接网络连接,如何将机顶盒连接到计算机
  15. Ubutnu18.04解决:Starting Wait until snapd is fully seeded...
  16. 2021-09-10 网安实验-漏洞扫描与利用之Nmap网络扫描脚本使用
  17. vue admin template开启顶部导航
  18. 全志A20 ap6210 wifi模块移植
  19. 高中计算机阅卷要求,给考生:了解中考电脑阅卷规则,读完多拿20分!
  20. 【NOI2018】归程(kruskal重构树)

热门文章

  1. 部署Consul建立Docker集群
  2. android vlayout 吸附图片,全解析布局神器vlayout
  3. DC-3靶场搭建及渗透实战详细过程(DC靶场系列)
  4. 差分晶振LVDS、LVPECL、HCSL、CML不同信号模式介绍
  5. python虚拟机详解_Python 虚拟机实现(一)
  6. 什么是通用计算机控制,通用控制系统
  7. 商业经营的税费有哪些?
  8. 使用VUE3.0版本搭建H5模板
  9. 第02章 Python语法基础,IPython和Jupyter Notebooks
  10. Trafodion CQD控制查询执行