linux的软RAID基本命令

来源:互联网 发布:网络设计行业怎么样 编辑:程序博客网 时间:2024/06/17 08:05

RAID

 

在这篇博客中介绍一下linux的存储设备。

在一个服务器中,存储数据的主要设备是磁盘,磁盘的好坏,以及磁盘读取数据的速度对一个服务器有很大的影响,尤其是web服务器,文件服务器,这些经常需要读取数据,而且对数据的读取速度要求很高的服务器,磁盘的速度对其服务好坏的影响可能是决定性的,而且对一些重要的数据,其数据的安全性将是非常重要的甚至数据远重要于其服务器的本身。

对于硬盘的种类,常见的有IDESATA SCSI等几种,其中SCSI硬盘的寿命,速度都是很不错的,但是其价格是同容量IDE SATA硬盘的八倍,所有有些人就想通过组合IDE硬盘,而达到SCSI的水平,而常见组合硬盘的方法就是RAID

而对硬盘的使用内核需要识别,而可以通过dd命令向内核传递RAID设备的驱动。而由于RAID的使用性很高,在最新的内核中已经加载有了对RAID的驱动。RAID设备在linux中被识别成/dev/md[N] N是数字。mdadm命令能够对RAID设备配置。

RAID的几种方法有RAID0RAID1RAID4RAID5RAID6RAID10RAID01等几种,下面我将分别接受这几种方法:

1.    RAID0 主要是考虑到性能,磁盘数大于等于2。写数据的时候被RAID控制器把数据分成多个块儿,分别存到不同的设备上。但这样有一个缺点就是没用容错,如果有一块儿坏了,所有的数据都将坏了,而且硬盘的大小最好能够相同。

2.    RAID1       通常要求有2的整数倍个数,这种方法完整备份了数据,对数据的速度稍有降低,且磁盘的利用率很低。但是对数据的读取有很大的提高。对数据的容错很好。

3.    RAID4       需要至少3块儿以上的硬盘,假如3块儿硬盘,前两块儿分别存储数据,第三块儿存数对前两块儿的校验码,这样允许有一块儿损坏。但数据存储时需要校验,而其当磁盘有损坏时,速度将变慢,而且恢复时候很容易出错。

4.    RAID5       是对RAID4的改进,是将校验的数据循环存储,这样可以是数据更加安全。

5.    RAID6       是将RAID5中的校验码提供两块儿硬盘数据来存储校验码,这样提供了两块儿磁盘的冗余,即允许两块儿磁盘同时出错。但这样对数据的恢复也是很困难的。

6.    RAID10     对数据先进行RAID0,然后RAID1,这种方法即提供了冗余,而且也提升了速度。

7.    RAID01     对数据先进行RAID1,然后RAID0,这种方法有冗余,但对数据的存储并没有多大的提升。

 

同时linux的内核还支持linear的方法,即串连,将多个容量小的磁盘串在一起,总容量是其所有容量的和,没有容错,也没有速度的提升,

对于以上的方法,没有最好最坏,需要根据实际情况来选择不同的方法。

实现软RAID需要使用命令mdadm,使用方法:

    mdadm    [mode]   <raiddevice>  [options] <component-device>

[mode]可以省略默认是监控模式

<raiddevice> 指定设备/dev/md0 /dev/md1

[options]   对于不同的mode选项不同,同一个选项的不同mode作用也不同

component-device  子设备如/dev/sda1 /dev/sda2

[mode]常见有

        Assemble   装配 A主机上的RAID的放到B主机上,这个mode让内核自动扫描所有的RAID。或者重新组织以前本机上的RAID设备。

        create 创建

        follow monitor 监控模式(对145610

        grow 新增一块儿硬盘

        manage 管理模式 如:模拟一块儿硬盘坏掉,来检测RAID

 

[options]   -A 装配模式

                  -C 创建

                  -F 监控

                  -G 增加模式

                  默认的是管理模式

                  -v --verbose 显示详细信息

                  -s  --scan    扫描系统中/proc/mdstat中的信息

                  -S 停止RAID设备

        创建模式

                  -n 组建RAID设备包括的磁盘数

                  -x 指定空闲设备的个数

                  -l  RAID的级别

                  -c chunk的大小(一定是2的整数次方倍或是磁盘块儿大小的2的整数倍)默认是64k

                  -f 在管理模式中设置某块儿磁盘坏了,用来测试

        杂项:

                  -D 查看RAID详细信息

补充命令:

mke2fs -j -b 4096 -E stride=16 /dev/md0,意为将/dev/md0格式化为ext3每块儿大小为4k,在使用RAID读取数据时每次存取16个块儿。这样可以提高RAID的磁盘性能。

命令示例:

    注意磁盘的分区需要调整为fb,分区后执行partprobe让内核重新读取分区

 mdadm -C /dev/md0 -a yes -n 2 -l 0 /dev/sda5 /dev/sda6    表示将/dev/sda5/dev/sda6创建成/dev/md0RAID0设备其中-a yes指定如果/dev/md0不存在直接创建。

创建之后需要格式化mke2fs然后挂载,就能使用了。

查看RAID的状态:在系统中有个文件存储RAID的文件在/proc/mdstat中用命令cat/proc/mdstat 来查看。或者 mdadm -D /dev/md0查看RAID的信息。

在改变以前的分区时需要首先卸载分区

示例命令:

1. mdadm -A -s /dev/md0 需要/etc/mdadm.conf这个配置文件保存系统上正在使用的RAID的设备,可以用MAILADDR,指定将命令结果发到哪个邮箱中。其命令作用是:扫描当前系统上所有的RAID设备并把他们装配起来。

/etc/init.d/中有mdmonitor脚本,可以监控RAID将信息发送给/etc/mdadm.conf中定义的邮箱。

2. mdadm -C /dev/md1 -a yes -n 2-l 1 -c 32 /dev/sdb1 /dev/sdb2创建RAID1/dev/sdb1/dev/sdb2

3. mdadm /dev/md1 -f /dev/sdb2 模拟将、/dev/sdb2设置为坏的磁盘

4. mdadm /dev/md1 -r /dev/sdb2 移除磁盘/dev/sdb2

5. mdadm /dev/md1 -a /dev/sdb3 添加磁盘/dev/sdb3

6. mdadm -f RAID0没法标示成坏盘

7. umount /dev/md0 mdadm -S /dev/md0 先卸载/dev/md0,然后停止/dev/md0

8. rm -rf /dev/md0 彻底删除/dev/md0设备(必须先停止设备)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 win10笔记本玩lol卡怎么办 苹果笔记本密码忘了怎么办 苹果笔记本系统密码忘记了怎么办 qq加好友频繁了怎么办 淘宝买食品有问题怎么办 手机的设置图标没有了怎么办 国家创业贷款还不了会怎么办 手机mac显示:不好使.怎么办? 英雄联盟买皮肤重复怎么办 皮肤很油毛孔又粗怎么办 笔记本电脑玩英雄联盟卡怎么办 win10系统更新不动了怎么办 win7任务栏时间没了怎么办 win10桌面图标都没了怎么办 win10软件图标没了怎么办 电脑内存插板没用了怎么办 win10笔记本开不了机怎么办 cad复制东西变卡怎么办 企业网银证书过期怎么办 游戏更新网页无法正常打开怎么办 网页游戏打开说脚本错误怎么办 电脑玩游戏出现闪屏怎么办 玩游戏时出现窗口化怎么办 玩游戏时出现输入不支持怎么办 电脑玩游戏出现蓝屏怎么办 谷歌商店网页版进不去怎么办 谷歌商店为什么打不开怎么办 玩lol突然卡顿怎么办 手机上路由器管理页面打不开怎么办 苹果电脑开机页面密码打不开怎么办 逆战活动页面打不开怎么办 电脑玩lol网络卡怎么办 ios11.4qq闪退怎么办 ios11.3qq闪退怎么办 英雄联盟进入游戏界面黑屏怎么办 英雄联盟经常未响应怎么办 英雄联盟总是无响应怎么办 英雄联盟新客户端太卡怎么办 win10英雄联盟fps低怎么办 lol登游戏闪退怎么办 lol读取界面很慢怎么办