Linux下做软RAID

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,布布扣,bubuko.com

时间: 2024-12-29 12:03:29

Linux下做软RAID的相关文章

Linux下创建软Raid

1- Linux下创建软Raid 步骤1.创建磁盘,并转换为fd #fdisk /dev/sdb //这里使用新的磁盘sdb 然后输入n ,创建分区 使用默认的起始点 输入大小为+100M 然后重复刚才的操作4次,创建4个分区,创建完4个分区后 我们还要改变分区的ID 在分区的主菜单输入T 然后输入要改变ID的分区号,也就是最后4个分区 然后输入分区的ID:fd 四个分区都改成FD 完成后,在分区主菜单里面使用p 查看分区信息 是不是最后4个分区都是ID为fd 如果OK的话,就输入w 保存退出

CentOS 6.3下配置软RAID(Software RAID)

一.RAID 简介 RAID 是英文Redundant Array of IndependentDisks 的缩写,翻译成中文意思是"独立磁盘冗余阵列",有时也简称磁盘阵列(Disk Array). 简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份的技术. 组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常见的RAID Level 包括raid0, raid1, raid

CentOS 6下配置软RAID图文详解

一.RAID 简介 RAID 是英文Redundant Array of Independent Disks 的缩写,翻译成中文意思是"独立磁盘冗余阵列",有时也简称磁盘阵列(Disk Array). 简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份的技术. 组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常见的RAID Level 包括raid0, raid1, rai

在linux下做RAID1试验

RAID1试验 试验要求: 两块磁盘做raid1 破坏其中一个硬盘(做删除操作) 恢复破坏的磁盘及数据                             实现过程: 1.准备linux,配置IP,链接putty 2.查看系统信息 [[email protected]~]# uname -a Linuxlocalhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013x86_64 x86_64 x86

Linux下做磁盘阵列和各种热备份

磁盘阵列分为: 具有冗余功能的阵列:raid0 raid4 raid5 raid6 raid10 raid01.... 读写速度优势的阵列:raid1 raid4 raid5 raid6 raid10 raid01.... 怎么制作磁盘阵列呢,分别列举: 1.具有冗余功能的阵列raid0 1.1至少需要两块磁盘,sdb和sdc,从两个磁盘中分别划出一个分区分别为:sdb1和sdc1, 1.2在分区的时候需要改变分区号-fd,然后w退出. 1.3制作raid0,在制作该磁盘阵列之前,需要安装mda

在linux中实现软RAID

    前言  在生产环境中不推荐大家使用软RAID,写这篇文章的主要目的是希望大家更好的了解RAID的工作原理: 软RAID就是在系统层面实现RAID功能了,数据处理主要依赖cpu来完成,没有第三方控制处理器和I/O芯片 在linux中是使用内置的md模块,模拟RAID卡,实现软RAID.在内核中有md模块完成将多个物理设备组合成一个逻辑设备    实现方式: 因为linux支持将块设备制作成RAID,可以使用不同磁盘的不同分区组件RAID:但是分区大小必须一样: 一.首先创建几个大小相同的分

简述raid的种类、级别级Linux系统上软raid的实现

早期由于raid通常用来组合一些廉价的sata接口的硬盘设备来完成冗余. 故早期的全称是: Redundant Array of inexpensive Disks (廉价冗余磁盘阵列). 如今raid也被大部分企业用来组合scsi和sas接口的硬盘设备. 故现在的全称是:Redundant Array of independent  Disks (独立冗余磁盘阵列). raid的主要功能是把主板上的多块硬盘以某种特定的方式组合起来,组织成一个具有特定特性的一个逻辑整体,然后输出给操作系统或应用

在Linux上使用软RAID模拟磁盘损坏实验

软RAID是在操作系统层面进行的RAID配置,也能对数据进行保护,实际生产环境中使用存储中磁盘阵列和硬RAID实现冗余的情况比较多. 此实验在虚拟机中完成,在系统中添加5块磁盘,每块磁盘512MB,利用这5块磁盘做RAID5实验,模拟磁盘损坏及替换磁盘,模拟停止RAID阵列及启动阵列,阵列中的数据情况. 1.添加磁盘,每块磁盘512MB,共5块,如图1所示. 图1 2.启动系统并查看磁盘 ll /dev/sd* 出现/dev/sdb,/dev/sdc,-/dev/sdf,如图2所示,说明系统已识

linux中的软RAID实现,逻辑卷和btrfs文件系统

RAID: Redundant Arrays of Inexpensive Disks,廉价磁盘冗余阵列:             Redundant Arrays of Independent Disks,独立磁盘冗余阵列: 1988年,UC Berkeley提出的"A case for Redundant Arrays of Inexpensive Disks"旨在将多个相对廉价IDE接口的磁盘组合成一个"阵列",并不是将磁盘简单罗列在一起,而是根据特定规则进行