热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux下如何实现软件RAID

文章标题:Linux下如何实现软件RAID。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  数据在现今企业中占有重要的地位,数据存储的安全性有而是人们使用计算机要注意的重要问题之一。通常情况下人们在服务器端采用各种冗余磁盘阵列RAID技术来保护数据,中高档的服务器一般都提供了昂贵的硬件RAID控制器,但是很多中小企业没有足够的经费承受这笔开销。我们有没有方法可以通过软件来实现RAID呢?实际上在Linux下可以通过软件来实现硬件的RAID功能,这样既节省了投资,又能达到很好的效果。今天就由我为大家介绍如何在网络环境中实现带有一块Spare-disk的软RAID1(数据镜像)阵列。
  
  小提示:什么是RAID1(数据镜像)?RAID 1是比较可靠的数据存储方式,每一个磁盘都具有一个对应的镜像盘。对任何磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据,也就是说同一个数据会被重复写入两次,这样的磁盘镜像肯定会提高系统成本。因为我们所能使用的空间只是所有磁盘容量总和的一半。
  
  由于本文中会使用mdadm软件,而该软件一般情况下都会集成在Redhat linux中,所以可以直接使用。如果系统中没有安装可以到http://www.cse.unsw.edu.au/~neilb/source/mdadm来下载mdadm-1.8.1.tgz进行编译安装,也可以到http://www.cse.unsw.edu.au/~neilb/source/mdadm/rpm下载mdadm-1.8.1-1.i386.rpm直接安装。
  
  第一步:以root用户登录系统,对磁盘进行分区。
  
  #fdisk /dev/sdb
  
  将设备/dev/sdb上的全部磁盘空间划分给一个主分区,建立/dev/sdb1分区,并修改分区的类型标识为fd(linux raid auto),然后对剩余的磁盘做同样的操作。创/dev/sdb1,/dev/sdc1,/dev/sdd1三个分区。
  
  第二步:创建RAID阵列
  
  #madam -cv /dev/md0 -l1 -n2 -x1 /dev/sd{b,c,d}1
  
  小提示:-C参数为创建阵列模式。/dev/md0为阵列的设备名称。-l1为阵列模式,可以选择0,1,4,5等多种不同的阵列模式,分别对应RAID0,RAID1,RAID4,RAID5。-n2为阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目。-x1为阵列中备用磁盘的数目,因为我们是RAID1所以设置当前阵列中含有一块备用磁盘。/dev/sd{b,c,d}1为参与创建阵列的磁盘名称,阵列由三块磁盘组成,其中两块为镜象的活动磁盘,一块备用磁盘提供故障后的替换。
  
  第三步:查看RAID阵列情况
  
  创建RAID过程需要很长时间,因为磁盘要进行同步化操作,查看/proc/mdstat文件,该文件显示RAID的当前状态和同步完成所需要的时间。
  
  #cat /proc/mdstat
  
  系统会显示——
  
  personalities:[raid1]
  read_ahead 1024 sectors
  event:1
  md0:active raid1 sdb1[0] sdc1[1] sdd1[2]
  18432000 blocks [2/2] [UU]
  unused devices:
  
  出现上面的提示后就表示创建的RAID1已经可以使用了。
  
  第四步:编辑阵列的配置文件
  
  mdadm的配置文件主要提供人们日常管理,编辑这个文件可以让RAID更好的为我们工作,当然这个步骤不是必须的。不经过编辑配置文件也可以让RAID工作。
  
  首先扫描系统中的全部阵列
  
  #mdadm -detail -scan
  
  扫描结果将显示阵列的名称,模式和磁盘名称,并且列出阵列的UUID号,UUID也同时存在于阵列的每个磁盘中,缺少该号码的磁盘是不能够参与阵列的组成的。
  
  接下来编辑阵列的配置文件/etc/mdadm.conf文件,将扫描的显示结果按照文件规定的格式修改后添加到文件的末尾。
  
  #vi /etc/mdadm.conf
  
  添加以下内容到mdadm.conf文件中
  
  device /dev/sdb1 /dev/sdc1 /dev/sdd1
  array /dev/md0 level=raid1 num-devices=2 uuid=2ed2ba37:d952280c:a5a9c282:a51b48da spare-group=group1
  
  在配置文件中定义了阵列的名称和模式,还有阵列中活动磁盘的数目与名称,另外也定义了一个备用的磁盘组group1。
  
  第五步:启动停止RAID1阵列
  
  启动和停止RAID1阵列的命令非常简单。启动直接执行“mdadm -as /dev/md0”即可。执行mdadm -s /dev/md0将停止RAID1阵列。另外在rc.sysinit启动脚本文件中加入命令mdadm -as /dev/md0后将设置为阵列随系统启动而启动。
  
  总结:配置RAID1的步骤相对RAID5来说不是很烦琐,不过在使用mdadm时应该注意就是不要在一块硬盘上划分多个分区,再将多个分区组成阵列,这种方式不但不能提高硬盘的访问速度,反而会降低整体系统的性能。正确的方法是将一块硬盘分成一个或多个分区,然后将多块不同硬盘的分区组成阵列。另外系统目录如/usr最好不要放在阵列中,因为一旦阵列出现问题系统将无法正常运行。
推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文详细介绍了解决全栈跨域问题的方法及步骤,包括添加权限、设置Access-Control-Allow-Origin、白名单等。通过这些操作,可以实现在不同服务器上的数据访问,并解决后台报错问题。同时,还提供了解决second页面访问数据的方法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
author-avatar
PHPSM
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有