Linux创建RAID10

生产环境中用到的服务器一般都配备RAID阵列卡,尽管服务器的价格越来越便宜,但是我们没有必要为了做一个实验而去单独购买一台服务器,而是可以学会使用mdadm命令Linux系统中创建和管理软件RAID磁盘阵列,而且它涉及的理论知识和操作过程与生产环境中的完全一致。mdadm命令用于创建、调整、监控和管理RAID设备,英文全称为“multiple devices admin”,语法格式为“mdadm参数 硬盘名称”。

mdadm命令的常用参数和作用

一、RAID10必须四块硬盘组成,先给虚拟机添加四块硬盘。

二、接下来,使用mdadm命令创建RAID 10,名称为“/dev/md10”

此时,就需要使用mdadm中的参数了。其中,-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID磁盘阵列的名称;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数则代表RAID 10方案;最后再加上4块硬盘设备的名称就搞定了。

备注:/dev/sd[a-d] 使用了通配符,也可以分开/dev/sda    /dev/sdb/    /dev/sdc     /dev/sdd

mdadm -Cv /dev/md10 -n 4 -l 10 /dev/sd[a-d]      创建RAID10

初始化过程大约需要1分钟左右,期间可以用-D参数进行查看。也可以用-Q参数查看简要信息:

mdadm -D /dev/md10                               查看同步具体状态
mdadm -Q /dev/md10 查看

RAID 10技术的原理。它通过两两一组硬盘组成的RAID 1磁盘阵列保证了数据的可靠性,其中每一份数据都会被保存两次,因此导致硬盘存在50%的使用率和50%的冗余率。这样一来,80GB的硬盘容量也就只有一半了。

三、当同步完成后,把制作好的RAID磁盘阵列格式化,也可以创建分区使用,也可以直接使用。

 mkfs.xfs /dev/md10                            将/dev/xfs格式化为xfs格式

四、创建文件进行挂载

mkdir  /media/raid10                          创建raid10文件夹
mount /dev/md10 /media/raid10 挂载

  vim /etc/fstab                                编辑配置文件永久挂载

五、模拟硬盘损坏及修复

可以通过虚拟机爆力移动四块中的其中一块硬盘,也可以通过使用mdadm命令将其移除,然后查看RAID磁盘阵列的状态,

mdadm /dev/md10 -f /dev/sdc            从md10中移除/dev/sdb块硬盘

现使用使用爆力将/dev/sdc硬盘移除掉了,通过mdadm -D /dev/md10 查看具体的信息,发现已经sdc不存在

六、修复RAID

先给虚拟机添加一块原来大小的硬盘,由于虚拟机不支持热插拨,所以必须重启一下,然后fdisk - 或都跟ls -l /dev/sd* 再查看新添加的序号是多少,目前我们看到我们新加的硬盘还是来原/dev/sdc。更换硬盘后再次使用-a参数进行添加操作,系统默认会自动开始数据的同步工作。使用-D参数即可看到整个过程和进度(用百分比表示)

mdadm /dev/dm10 -a /dev/sdc             自动同步

使用mdadm -D /dev/dm10 查看同步状态:正在同步中,已完成44%,直接完成100%即可。

linux创建磁盘阵例10的更多相关文章

  1. 10种linux下磁盘快照方式恢复系统

    导读 大家都知道windows系统有一个磁盘快照的功能,在windows2003中系统恢复开始依赖于一个叫做硬盘快照服务(Volume Snapshot Service)的服务,他能够自动创建系统快照 ...

  2. 给VMware下的Linux扩容磁盘空间到根分区(以centos7.0为例)

    一.扩展VMWare硬盘空间 关闭Vmware 的 Linux系统,这样,才能在VMWare菜单中设置: VM -> Settings... -> Hardware -> Hard ...

  3. linux下磁盘进行分区、文件系统创建、挂载和卸载

    任务的原因:由于,刚购买来的服务器需要将磁盘挂载到操作系统上,为了挂载磁盘首先要对磁盘进行分区,然后进行文件系统的创建,最后将磁盘挂载到操作系统上的某个目录. MBR(Master Boot Reco ...

  4. 文件系统管理 之 Linux 创建文件系统及挂载文件系统流程详解

    阅读此文,必须具备知识点:<Linux 查看磁盘分区.文件系统.使用情况的命令和相关工具介绍><实例解说 fdisk 使用方法><合理规划您的硬盘分区><Fe ...

  5. linux创建用户和用户组

    Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

  6. Linux之磁盘与文件系统管理

    磁盘及文件系统管理详解 [参考文献:马哥视频] 原文:http://blog.csdn.net/u013008795/article/details/51150075 目前市场上主流的磁盘是机械式硬盘 ...

  7. linux 大容量磁盘分区工具parted

    1. Msdos和Gpt的区别 fdisk  :只能分msdos分区parted :可以分msdos和gpt分区 2. MSDOS特点最大支持2TB卷大小.每个磁盘最多只能有4个主分区(或3个主分区, ...

  8. Linux 创建文件系统及挂载文件系统流程详解(转)

    作者:北南南北 来自: LinuxSir.Org 摘要:本文对新增硬盘,切割硬盘,创建硬盘分区,为硬盘分区创建文件系统,以及加载文件系统的流程做总结性论述:主要是为初学者弄清楚这一操作过程:本文涉及f ...

  9. Linux系统磁盘管理

    1 Linux磁盘管理体系简介 Linux磁盘管理分为五个步骤:首先在服务器上添加相应的硬盘(如/dev/sda.sdb.sdc等),对全新的服务器(即没有操作系统)做硬RAID0.RAID1.RAI ...

随机推荐

  1. Dubbo 支持服务降级吗?

    以通过 dubbo:reference 中设置 mock="return null".mock 的值也可以修改 为 true,然后再跟接口同一个路径下实现一个 Mock 类,命名规 ...

  2. struts2学习二:Tomcat的部署目录和访问路径问题

    1:idea中配置tomcat后,那么最终的web工程发布到哪里去了?为什么在访问路径中不加工程名就可以访问? 1.1:因为tomcat有段时间没接触了,先回顾下tomcat的目录结构吧? 如图所示: ...

  3. Centos最小化安装

    1.选择最小安装: 2.选择相应的安装包 老男孩提示: 1.根据经验,选择安装包时应该按最小化原则,即不需要的或者不确定是否需要的就不安装,这样可以最大程度上确保系统安全. 2.如果安装过程落了部分包 ...

  4. C++中类所占的内存大小以及成员函数的存储位置

    类所占内存的大小是由成员变量(静态变量除外)决定的,虚函数指针和虚基类指针也属于数据部分,成员函数是不计算在内的.因为在编译器处理后,成员变量和成员函数是分离的.成员函数还是以一般的函数一样的存在.a ...

  5. 寄存器、特殊功能寄存器和ram之间的区别联系

    存储器在CPU外,一般指硬盘,U盘等可以在切断电源后保存资料的设备,容量一般比较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般是50MB/S左右. 内存和寄存器就是为了解决存储器读写速度慢而产生 ...

  6. c、c++中-int型以float或者float型以int输出问题

    1.将浮点型以整形的类型输出问题 用VC6.0,会把以整形输出形式的浮点数输出为0: 1 #include"stdio.h" 2 int main() 3 { 4 float x= ...

  7. 学习如何运用GitHub网站+出现的问题+Git基本操作总结

    首先介绍一下GitHub网站: github是一个基于git的代码托管平台. GitHub 拥有一个非常鼓励合作的社区氛围.这一方面源于 GitHub 的付费模式:私有项目需要付费,而公共项目完全免费 ...

  8. window10解决需要管理员删除文件的权限问题

    1.快捷键:"win+R",输入:gpedit.msc  回车 2.依次点击:计算机配置-windows配置-安全设置-本地策略-安全选项 3.将两个管理员批准模式和管理员状态三者 ...

  9. linux-RHEL7.0 —— 《Linux就该这么学》阅读笔记

    目录 linux-RHEL7.0 安装部署 修改root密码 RPM(红帽软件包管理器) YUM(软件仓库) Systemd初始化进程 总结 linux命令 帮助命令 man 系统工作命令 echo ...

  10. 利用es6解构赋值快速提取JSON数据;

    直接上代码 { let JSONData = { title:'abc', test:[ { nums:5, name:'jobs' }, { nums:11, name:'bill' } ] } l ...