1、查看有多少块硬盘可用
#fdisk -l
嗯,一般而言,留下系统盘不动,其它的盘如果大小相同的话,统统合起来做一个raid。

2、决定做什么类型的raid。
raid-0、raid-1、raid-5?
如果有三块一样大小的盘(或者更多),那么极力推荐raid-5。
否则请根据实际情况选择raid-0或者raid-1

3、卸载已挂载的数据盘
首先查看下,要做raid的几块盘是不是已经被挂载过了
#mount
如果有,那么挨个删除数据、然后用umount卸载。
然后,还有,打开/etc/fstab,注释掉那些刚卸载的分区。免得万一操作中失误,导致机器重起,然后它又起不来……

4、使用fdisk更改硬盘分区类型为Linux raid auto
以/dev/sdb为例:
#fdisk /dev/hde

The number of cylinders for this disk is set to 8924.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

嗯,如果不了解linux下的fdisk的用法,可以先输入m看看帮助。
(注意:freebsd和windows、dos下也有fdisk,但是只是名字相同,界面和用法都相差很大。windows xp及以后版本摒弃了fdisk)
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

我们要做的是更改硬盘分区类型,所以输入t
Command (m for help): t
Selected partition 1
Hex code (type L to list codes):
因为我的这个硬盘只有一个partition,所以它就自动选择partition 1了。
下面,就是应该输入分区类型的16进制代码了。可是,我怎么知道该输入什么呢?
没关系,先输入大写的L,看看有哪些类型
0 Empty 1e Hidden W95 FAT1 75 PC/IX be Solaris boot
1 FAT12 24 NEC DOS 80 Old Minix bf Solaris
2 XENIX root 39 Plan 9 81 Minix / old Lin c1 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 82 Linux swap c4 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 83 Linux c6 DRDOS/sec (FAT-
5 Extended 41 PPC PReP Boot 84 OS/2 hidden C: c7 Syrinx
6 FAT16 42 SFS 85 Linux extended da Non-FS data
7 HPFS/NTFS 4d QNX4.x 86 NTFS volume set db CP/M / CTOS / .
8 AIX 4e QNX4.x 2nd part 87 NTFS volume set de Dell Utility
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e4 SpeedStor
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ee EFI GPT
10 OPUS 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor a9 NetBSD f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid auto
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid ff BBT
1c Hidden W95 FAT3
找到了没?应该输入fd
Hex code (type L to list codes): fd
Changed system type of partition 1 to fd (Linux raid autodetect)

你确信你没有输入错误吗?输入p检查一下
Command (m for help): p

Disk /dev/sdb: 73.4 GB, 73407820800 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 8924 71681998+ fd Linux raid autodetect

好吧,没有错,那么,下一步就是把我们的更改写入硬盘
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

哈哈。wonderful!

下面……按照上面的步骤,把各个硬盘挨个干一遍吧。

5、最核心的一步:做RAID
我挑了4块一样大小的硬盘做RAID-5。
#mdadm –create –verbose /dev/md0 –level=5 –raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=71681996K mtime=Mon Jul 2 15:18:11 2007
mdadm: /dev/sdc1 appears to contain an ext2fs file system
size=71681996K mtime=Mon Jul 2 15:18:11 2007
mdadm: /dev/sdd1 appears to contain an ext2fs file system
size=71681996K mtime=Mon Jul 2 15:18:11 2007
mdadm: /dev/sde1 appears to contain an ext2fs file system
size=71681996K mtime=Mon Jul 2 15:18:11 2007
mdadm: size set to 71681920K
Continue creating array?
它会让我确认一下,输入y即可。
嗯,几个参数,简单的介绍下:
–level=5 : 代表作raid-5,如果你要做raid-1,那么就是–level=1
–raid-devices=4: 有多少块硬盘用来做raid? 嗯,我有4块。
后面几个就是用来做raid的分区啦。注意,后面的数字1哦。
如果不出什么意外,它会告诉你
mdadm: array /dev/md0 started.

6、查看raid状态。
#cat /proc/mdstat

Personalities : [raid5]
md0 : active raid5 sde1[4] sdd1[2] sdc1[1] sdb1[0]
215045760 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
[>………………..] recovery = 0.4% (299776/71681920) finish=35.7min speed=33308K/sec
unused devices: <none>
那个……需要等等。
一直到这样
# cat /proc/mdstat

Personalities : [raid5]
md0 : active raid5 sde1[3] sdd1[2] sdc1[1] sdb1[0]
215045760 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>

7、格盘
这个…就不多说了吧
#mkfs.ext3 /dev/md0
然后就刷拉刷拉看它格去了。

8、创建mdadm.conf
首先,用文本编辑器打开/etc/mdadm.conf(没有就创建一个),写入这样一行
DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
就是,在DEVICE后面把所有的raid盘都列出来。
然后运行
#mdadm –detail –scan
可以看到一些有趣的信息吧?
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=af563620:2568f63a:face1db6:9d9f34f1
devices=/dev/sdb1,/dev/sdc1,/dev/sdd1,/dev/sde1
这些是需要添加到/etc/mdadm.conf中的。
# mdadm –detail –scan >> mdadm.conf
嗯,最好是再检查一番
# more /etc/mdadm.conf

9、修改/etc/fstab并挂载
嗯,挂哪里呢?我一般是挂载在/data1下面
把这样的东西添加到/etc/fstab中
/dev/md0 /data1 ext3 defaults 1 2
然后挂载
#mount /data1

ok,大功告成!

Linux下做软RAID的更多相关文章

  1. Linux下创建软Raid

    1- Linux下创建软Raid   步骤1.创建磁盘,并转换为fd #fdisk /dev/sdb //这里使用新的磁盘sdb 然后输入n ,创建分区 使用默认的起始点 输入大小为+100M 然后重 ...

  2. CentOS 6.3下配置软RAID(Software RAID)

    一.RAID 简介 RAID 是英文Redundant Array of Independent Disks 的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array). ...

  3. (转)CentOS 6下配置软RAID图文详解

    CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...

  4. Linux下用户和raid练习题

    1. 公司一开发人员申请对服务器10天的oldboy普通用户权限,如何操作? useradd oldboy passwd oldboy usermod -e `date -d "10day& ...

  5. Linux中建立软raid

    Linux内核中有一个md(multiple devices)模块在底层管理RAID设备,它会在应用层给我们提供一个应用程序的工具mdadm. mdadm用于构建.管理和监视Linux MD设备(即R ...

  6. 每天一个linux命令21之ln: linux 下的软链和硬链

    首先理解一下一下inode:Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件. 表面上,用户通过文件名,打开文件.实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应 ...

  7. Linux下创建软、硬链接

    在linux系统中,内核为每一个新创建的文件分配一个Inode(索引节点),每个文件都有唯一的inode号.文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存,从而实现文件的快速访问. 链接 ...

  8. linux下创建软链--laravel软链

    ln -s /www/wwwroot/project_name/storage/app/public/ /www/wwwroot/project_name/public/storage

  9. Linux下查看Raid磁盘阵列信息的方法

    Linux下查看软.硬raid信息的方法. 软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装 ...

随机推荐

  1. ZOJ 1178 Booklet Printing

    原题链接 题目大意:书本印刷都是用大开的纸张对折.比如一个册子一共4页,为了方便装订,外侧印刷1.4页,内侧印刷2.3页,这样对折之后就可以按照正常阅读习惯翻页了.此题目的就是给出书的总页数,要求计算 ...

  2. html--整站制作

    1.样式初置 body,div,ul,ol,h1,h2,h3,h4,h5,p,form,input,textarea,select{margin:0;padding:0;} li{list-style ...

  3. springMVC访问静态资源的两种方式

    1<mvc:default-servlet-handler/> 2 <mvc:resources mapping="/images/**" location=&q ...

  4. GDB调试器

    /*this project used for gdb debug c programs*//*At first,using compile command turn out the executab ...

  5. PDO 查询mysql返回字段整型变为String型解决方法

    PDO 查询mysql返回字段整型变为String型解决方法 使用PDO查询mysql数据库时,执行prepare,execute后,返回的字段数据全都变为字符型. 例如id在数据库中是Int的,查询 ...

  6. I/O Completions port

    http://blogs.technet.com/b/winserverperformance/archive/2008/06/26/designing-applications-for-high-p ...

  7. JSBinding + SharpKit / JavaScript 加载流程

    首先,现在的方案是游戏启动就加载全部的 JavaScript 代码. 先看下 StreamingAssets/JavaScript/ 文件夹下的目录结构:

  8. 《Python自然语言处理》中文版-纠错【更新中。。。】

    最近在看<Python自然语言处理>中文版这本书,可能由于是从py2.x到py3.x,加上nltk的更新的原因,或者作者的一些笔误,在书中很多代码都运行不能通过,下面我就整理一下一点有问题 ...

  9. 从开发的角度比较 ASP.NET Web 服务与 WCF

    Windows Communication Foundation (WCF) 具有一个 ASP.NET 兼容模式选项,用户使用此选项可以对 WCF 应用程序进行编程和配置,使其像 ASP.NET We ...

  10. c# 获取 webbrowser 完整 cookie

    下面的代码实现的功能确实如标题所言,但要求是获取的是当前进程内的webbrowser,跨进程或引用的ShellWindows对象无效, 哎我本来两种情况都要用,只把前者代码先记下: internal ...