RAID磁盘阵列的搭建(以raid0、raid1、raid5、raid10为例)
mdadm工具的使用
|
-C或--creat |
建立一个新阵列 |
-r |
移除设备 |
|
-A |
激活磁盘阵列 |
-l 或--level= |
设定磁盘阵列的级别 |
|
-D或--detail |
打印阵列设备的详细信息 |
-n或--raid-devices= |
指定阵列成员(分区/磁盘)的数量 |
|
-s或--scan |
扫描配置文件或/proc/mdstat得到阵列缺失信息 |
-x或--spare-devicds= |
指定阵列中备用盘的数量 |
|
-f |
将设备状态定为故障 |
-c或--chunk= |
设定阵列的块chunk大小 ,单位为KB |
|
-a或--add |
添加设备到阵列 |
-G或--grow |
改变阵列大小或形态 |
|
-v |
--verbose 显示详细信息 |
|
|
a. RAID0 的搭建步骤:RAID0就是条带化。
1. 添加两块硬盘 并查看。
ls /dec/sd*
2 检测是否配置raid:
mdadm -E /dev/sd[b-c]
3. 给两块磁盘进行分区。 fdisk /dev/sdb fdisk /dev/sdc 注意这个地方-t ,fd, 将分区类型设置为fd。
4. 创建raid0 : mdadm -C -v /dev/md0 -l 0 -n /dev/sdb1 /dev/sdc1
5. 检查raid0是否搭建成功:
cat /proc/mdstat.
md0 : active raid0 sdc1[1] sdb1[0]
41908224 blocks super 1.2 512k chunks
unused devices: <none>
6. 生成配置文件。 mdadm -Dsv > /etc/mdadm.conf.
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=xiaolyu:0 UUID=b024dbae:1dc6321e:c9bbd987:c687bcc2
devices=/dev/sdb1,/dev/sdc1
7. 对创建的raid0进行分区, 并且给分区所有的空间。
fdisk /dev/md0
8. 对分区进行格式化 并挂载。
格式化: mkfs -t xfs /dev/md0p1
创建挂载点: mkdir /raid0
挂载: mount /dev/md0p1 /raid0.
9 设置开机自动挂载。
umount /raid0
vim /etc/fstab
tail -1 /etc/fstab
/dev/md0p1 /raid0 xfs defaults 0 0
10 . 使用raid0 .
cp -rf /mnt/Packages /raid0 .
du -sh /mnt/Packages
du -sh /raid0/Packages
-------------------------------------------------------------------------------------------------------------------
b. RAID1的搭建方法: RAID1 就是镜像化。
1. 添加两块硬盘 并查看。
ls /dec/sd*
2 检测是否配置raid:
mdadm -E /dev/sd[b-c]
3. 给两块磁盘进行分区。 fdisk /dev/sdb fdisk /dev/sdc 中间切换成fd。
4. 创建raid1 : mdadm -C -v /dev/md1 -l 1 -n /dev/sd[b-c]1
5. 检查raid1是否搭建成功:
cat /proc/mdstat.
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 512k chunks
unused devices: <none>
6. 生成配置文件。 mdadm -Dsv > /etc/mdadm.conf.
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=1.2 name=xiaolyu:1 UUID=7a4491ed:905f9a8c:c3b428ce:6259a532
devices=/dev/sdb1,/dev/sdc1
7. 对创建的raid0进行分区, 并且给分区所有的空间。
fdisk /dev/md1
8. 对分区进行格式化 并挂载。
格式化: mkfs -t xfs /dev/md1p1
创建挂载点: mkdir /raid1
挂载: mount /dev/md1p1 /raid1.
9 设置开机自动挂载。
umount /raid1
vim /etc/fstab
tail -1 /etc/fstab
/dev/md1p1 /raid1 xfs defaults 0 0
10 . df -h 验证
11 . 使用raid1 .
touch /raid1/test.txt
echo "hello world" >> /raid1/test.ttxt
cat /raid1/test.txt 。
--------------------------------------------------------------------------------------------------------------------------
C. raid5 的创建过程:
1. 添加5块硬盘并查看。
ls /dev/sd*
/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
2. 查看磁盘是否已经配置raid了。
mdadm -E /dev/sd[b-f]
如果没有检测到如何超级块,意味着没有配置raid。
3. 对新添加的5块硬盘进行分区,并将分区类型设置为fd.
fdisk /dev/sdb -t fd w
fdisk /dev/sdc -t fd w
fdisk /dev/sdd -t fd w
fdisk /dev/sde -t fd w
fdisk /dev/sdf -t fd w
4. 创建raid5 .
mdadm -C -v /dev/md5 -l 5 -n 4 -x 1 /dev/sd[b-f]
5. 查看阵列信息。
mdadm -D /de/md5.
mdadm -Dsv /dev/md5.
6. 格式化并挂载。
mkfs -t xfs -f /dev/md5
创建挂载点: mkdir /raid5.
挂载md5 : mount /dev/md5 /raid5
查看是否挂载成功: df -h | tail -l 或者 df -h .
查看md5文件系统的类型。blkid /dev/md5.
7. 创建测试文件。
touch /raid5/test.txt .
echo "hello world " >> /raid5/test.txt.
8 . 生成配置文件。
mdadm -Dsv > /etc/mdadm.conf.
9. 设置开机自动挂载:
umount /raid5.
echo " /dev/md5 /raid5 / xfs defaults 0 0 " >> /etc/fstab
mount -av
df-h 查看是否挂载成功。
10 . 查看raid5的状态。
cat /proc/mdstat
-----------------------------------------------------------------------------------------------------------------------
说明raid5,我有一块热备盘,所以当有一块磁盘损坏后,数据的读写也不受影响,而且还可以将这块坏的硬盘恢复。
模拟/dev/sdb1磁盘损坏。
cat /raid5/test.txt
hello world .
mdadm /dev/md5 -f /dev/sdb1
cat /raid5/test.txt
hello world
说明:坏一块磁盘时,读写数据不受影响。
2 . 修复并添加/dev/sdb1 .
mdadm --zero-superblock --force /dev/sdb1
umount /raid5
mdadm -S /dev/md5
mdadm -As
mdadm: /dev/md5 has been started with 3 drives (out of 4) and 1 rebuilding.
[root@xiaolyu ~]# mdadm /dev/md5 --add /dev/sdb1
mdadm: added /dev/sdb1
mdadm -D /dev/md5查看一下:ok成功了。
---------------------------------------------------------------------------------------------------------------
D:raid10的创建过程:
RAID 10 可以被称为1 + 0或0 +1。它将做镜像+条带两个工作。在 RAID 10 中首先做镜像然后做条带。
在 RAID 01 上首先做条带,然后做镜像。RAID 10 比 01 好。
1. 先做两个raid1 . 分别为md1 和md11.
2. 再用这两个raid1,做成开一个raid0. 即OK!
因为前面的raid0 和raid1 的创建过程比较详细,这里仅简要给出步骤:
1. 添加4块一样大小的硬盘并查看。 ls /dev/sd* | grep sd[b-e]
/dev/sdb /dev/sdc /dev/sdd /dev/sde.
2. 给四块硬盘分区,每一块都给出全部的空间。
fdisk /dev/sdb -t fd w
fdisk /dev/sdc -t fd w
fdisk /dev/sdd -t fd w
fdisk /dev/sde -t fd w
3. 创建两个raid1。
mdadm -C -v /dev/md1 -l 1 -n 2 /dev/sd[b-c]1
mdadm -C -v /dev/md11 -l 1 -n 2 /dev/sd[d-e]1
4. 创建raid0
mdadm -C -v /dev/md10 -l 0 -n 2 /dev/md1 /dev/md11
5. 查看raid0的状态。
cat /proc/mdstat .
6. 格式化 挂载
mkfs -t xfs -f /dev/md10
创建挂载点: /raid10
挂载: /dev/md10 /raid10
检测挂载是否成功。 df -h | grep /raid10
7, 设置开机自动挂载:
umount /raid10
在/etc/fstab 最后添加这样一行:
/dev/md10 /raid10 xfs defaults 0 0
mount -av
8. 生成配置文件。
mdadm -Dsv >/etc/mdadm.conf
RAID磁盘阵列的搭建(以raid0、raid1、raid5、raid10为例)的更多相关文章
- 转 关于Raid0,Raid1,Raid5,Raid10的总结
关于Raid0,Raid1,Raid5,Raid10的总结 RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能 ...
- 关于Raid0,Raid1,Raid5,Raid10的总结
RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就 ...
- 简述raid0,raid1,raid5,raid10 的工作原理及特点
RAID 0 支持1块盘到多块盘,容量是所有盘之和 RAID1 只支持2块盘,容量损失一块盘 RAID 5最少三块盘,不管硬盘数量多少,只损失一块容量 RAID 10最少4块盘,必须偶数硬盘,不管硬盘 ...
- raid0 raid1 raid5
关于Raid0,Raid1,Raid5,Raid10的总结 RAID0 定义: RAID 0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能.RAID 0提高存储性能 ...
- RAID详解[RAID0/RAID1/RAID5]
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...
- IBM MR10i阵列卡配置Raid0/Raid1/Raid5(转)
RAID5配置: 其实RAID0/RAID1都基本一致,只是选择的类型不同. 1. 开机看到ctrl+h的提示按下相应的键,等ServerRaid 10-i卡初始化完成则进入WebBIOS 配置界面: ...
- 1-15-2-RAID10 企业级RAID磁盘阵列的搭建(RAID1、RAID5、RAID10)
RAID10的搭建: 有两种方法, 第一种:直接使用四块磁盘,创建级别为10的磁盘阵列 第二种:使用四块磁盘先创建两个RAID1,然后在用RAID1创建RAID0 第一步:添加五个磁盘到虚拟机 开机后 ...
- 1-15-2-RAID5 企业级RAID磁盘阵列的搭建(RAID1、RAID5、RAID10)
RAID5的搭建 第一步:添加四个磁盘,开机并检查(略过) 第二步:使用fdisk命令分别对四个磁盘进行分区,效果如下图: 第三步:使用mdadm命令创建RAID5磁盘阵列 [root@localho ...
- 1-15-2-RAID1 企业级RAID磁盘阵列的搭建(RAID1、RAID5、RAID10)
大纲: 1.创建RAID1 2.创建RAID5 3.创建RAID10 =============================== 1.创建RAID1 RAID1原理:需要两块或以上磁盘,可添加热备 ...
随机推荐
- 【腾讯Bugly干货分享】浅谈Android自定义锁屏页的发车姿势
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57875330c9da73584b025873 一.为什么需要自定义锁屏页 锁屏 ...
- objective-c(接口&实现)
objective-c在xcode6下的例子: 定义接口 #import <Foundation/Foundation.h> //基础库,类似C中的stdlib typedef ,type ...
- 两种include方式及filter中的dispatcher解析
两种include方式 我自己写了一个original.jsp,另外有一个includedPage.jsp,我想在original.jsp中把includedPage.jsp引进来有两种方式: 1.& ...
- WIX 安装部署教程(六) 为你收集的七个知识点
前段时间整理5篇WIX(Windows Installer XML)的安装教程,但还不够完善,这里继续整理了七个知识点分享给大家.WIX最新版本3.8,点击下载 WIX安装部署(一)同MSBuild自 ...
- [.net 面向对象程序设计进阶] (9) 序列化(Serialization) (一) 二进制流序列化
[.net 面向对象程序设计进阶] (9) 序列化(Serialization) (一) 二进制流序列化 本节导读: 在.NET编程中,经常面向对象处理完以后要转换成另一种格式传输或存储,这种将对 ...
- InputStream与InputStreamReader的区别
InputStream是字节流,多用于读取二进制数据 InputStreamReader是字符流,多用于读取文本文件.有不同的编码方式,如utf8等.可以在构造的时候指定编码方式. 例如,两者都有一个 ...
- 《OOC》笔记(4)——自动化地将C#代码转化为C代码(结构版)
<OOC>笔记(4)——自动化地将C#代码转化为C代码(结构版) 我在<C表达面向对象语言的机制——C#版>中已经说明了从C#到C的转换方法.这次看<OOC>也是想 ...
- Google 新推出Background sync API
Background sync是Google新推出的Web API,可延迟用户行为,直到用户网络连接稳定.这样有助于保证用户想要发送的数据就是实际发送的数据. 目前存在的问题 网络是消磨用户时间最多的 ...
- AngularJS快速入门指南12:模块
AngularJS模块定义了一个application. 模块是一个application中不同部分的容器. application中的所有控制器都应该属于一个模块. 带有一个控制器的模块 下面这个a ...
- Redis集群~StackExchange.Redis(10月6号版1.1.608.0)连接Twemproxy支持Auth指令了
回到目录 对于StackExchange.Redis这个驱动来说,之前的版本在使用Proxy为Twemproxy代理时,它是不支持Password属性的,即不支持原始的Auth指令,而我也修改过源代码 ...