共计 3480 个字符,预计需要花费 9 分钟才能阅读完成。
什么是 RAID
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称硬盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID 比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为 RAID 0,RAID 1,RAID 1E,RAID 5,RAID 6,RAID 7,RAID 10,RAID 50,RAID 60。
简单来说,RAID 把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID 常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与 RAID 功能更加有效地与主板集成,它也成为了玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。
最初的 RAID 分成了不同的等级,每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。这些年来,出现了对于 RAID 观念不同的应用。
如何创建软 RAID
想要创建 RAID,肯定少不了磁盘阵列卡,现在绝大多数服务器都带有这种硬件,创建起来也很简单,傻瓜式操作,只是不同厂商之间肯定会有些不同,不过都是大同小异。但是今天我们要讨论的是在没有磁盘阵列卡的情况下,如何来创建软 RAID,现在就来看看吧。
准备
- yum install –y parted mdadm
查看磁盘使用情况
- fdisk –cul
- Disk/dev/sdb:2147 MB,2147483648 bytes
- 255 heads,63 sectors/track,261 cylinders, total 4194304 sectors
- Units= sectors of 1*512=512 bytes
- Sector size (logical/physical):512 bytes /512 bytes
- I/O size (minimum/optimal):512 bytes /512 bytes
- Disk identifier:0x00000000
- Disk/dev/sdc:2147 MB,2147483648 bytes
- 255 heads,63 sectors/track,261 cylinders, total 4194304 sectors
- Units= sectors of 1*512=512 bytes
- Sector size (logical/physical):512 bytes /512 bytes
- I/O size (minimum/optimal):512 bytes /512 bytes
- Disk identifier:0x00000000
开始
为了演示,我在虚拟机里创建了 2 块 2G 的硬盘,可以看出分别是 sdb 和 sdc,把这两块硬盘组建成一个软 RAID1,操作如下:
- fdisk /dev/sdb
- Command(m for help): n # 输入 n,回车
- Command action
- e extended
- p primary partition (1–4)
- p # 输入 p,回车
- Partition number (1–4):1# 输入 1,回车
- First cylinder (1–261,default1):# 回车
- Usingdefault value 1
- Last cylinder,+cylinders or+size{K,M,G}(1–261,default261):# 回车
- Usingdefault value 261
- Command(m for help): t # 输入 t,回车
- Selected partition 1
- Hex code (type L to list codes): fd # 输入 fd,回车
- Changed system type of partition 1 to fd (Linux raid autodetect)
- Command(m for help): w # 输入 w,保存并推出
- The partition table has been altered!
- Calling ioctl() to re–read partition table.
- Syncing disks.
现在 sdb 就变成 raid 类型的硬盘了,可以通过 fdisk -cul 查看,sdc 的操作同上,不再重复演示。
- fdisk –cul
- DeviceBootStartEndBlocksIdSystem
- /dev/sdb1 12612096451 fd Linux raid autodetect
- /dev/sdc1 12612096451 fd Linux raid autodetect
- # 如果你是在服务器上直接添加硬盘,还需要执行一条命令
- partprobe –a
- # 这样就不需要重启服务器而让新硬盘加入到战斗当中去了
创建 RAID
接下来要做的事情就简单了,只需要把这两块硬盘通过 mdadm 命令组建成 raid1 并格式化,再挂载到特定目录即可,操作如下:
- # 在操作之前先来看看这个命令的参数
- –C # 创建软件 RAID
- –l # 指定 RAID 级别
- –n # 指定磁盘个数
- –x # 指定备用设备个数
- mdadm –C /dev/md1 –l 1–n 2/dev/sdb1 /dev/sdc1
- mdadm: array /dev/md1 started.# 提示你创建成功
- # 查看刚才创建的 md1 设备详情
- mdadm —detail /dev/md1
- /dev/md1:
- Version:1.2
- CreationTime:WedNov1216:19:532014# 创建时间
- RaidLevel: raid1 #RAID 级别
- ArraySize:2095360(2046.59MiB2145.65 MB)#RAID 磁盘空间有多大
- UsedDevSize:2095360(2046.59MiB2145.65 MB)
- RaidDevices:2# 磁盘的个数
- TotalDevices:2
- Persistence:Superblockis persistent
- UpdateTime:WedNov1217:19:042014
- State: clean
- ActiveDevices:2# 正在活动的磁盘个数
- WorkingDevices:2# 正在工作的磁盘个数
- FailedDevices:0# 有错误的磁盘个数
- SpareDevices:0# 备用的磁盘个数
- Name: server1:1(local to host server1)
- UUID : ae9a70dd:dc2917a7:de515e04:f82950a7
- Events:21
- NumberMajorMinorRaidDeviceState
- 08170 active sync /dev/sdb1
- 18331 active sync /dev/sdc1
格式化与挂载
- mkfs.ext4 /dev/md1 # 格式化为 ext4 格式
- mkdir /raid1 # 创建需要挂载的目录
- mount /dev/md1 /raid1 # 挂载
- # 然后将磁盘阵列的设备设置为开机自动挂载
- echo “DEVICE /dev/sdb1 /dev/sdc1”>/etc/mdadm.conf
- mdadm –Evs>>/etc/mdadm.conf
- echo “/dev/md1 /raid1 ext4 defaults 0 0”>>/etc/fstab
到此,全部工作就完成了,搞定,收工!
如何在 Linux 上构建 RAID 10 阵列 http://www.linuxidc.com/Linux/2014-12/110318.htm
Debian 软 RAID 安装笔记 – 使用 mdadm 安装 RAID1 http://www.linuxidc.com/Linux/2013-06/86487.htm
常用 RAID 技术介绍以及示例演示 (多图) http://www.linuxidc.com/Linux/2013-03/81481.htm
Linux 实现最常用的磁盘阵列 – RAID5 http://www.linuxidc.com/Linux/2013-01/77880.htm
RAID0+ 1 和 RAID5 的性能测试结果 http://www.linuxidc.com/Linux/2012-07/65567.htm
Linux 入门教程:磁盘阵列(RAID)http://www.linuxidc.com/Linux/2014-07/104444.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-06/132355.htm