RAID
磁盘阵列
- RAID即为磁盘阵列,其可以由很多价格便宜的磁盘组成,利用磁盘提供的数据产生相应的加速效果提升整个磁盘系统的功能。
- RAID0 简单的、无数据校验的条带化技术,将所有的磁盘条带化组成大容量存储空间,将数据存储在磁盘中。读性能提升写性能下降,是单个磁盘的n倍,并且利用率达到100%,但是不允许有错,不提供数据的冗余保护。最少需要两块磁盘来创建RAID0。
- RAID1 采用镜像存储,它将数据完全一致的写到工作磁盘和镜像磁盘中,因此其利用率只有50%。磁盘的读性能提升,但是写性能下降,不过其保护的数据的安全性能,一旦工作磁盘发生故障,系统将会自动从镜像盘读取数据。至少需要两块盘来完成RAID1。
- RAID5 性价比最好的磁盘,具有RAID0和RAID1的共同性能,RAID5同时存储数据和校验数据,数据库和对应的校验信息保存在不同的磁盘上,当一块磁盘损坏后,系统可以根同一条带其他数据和对应的数据重新构建损坏数据。读写性能均提升,利用率是总磁盘数-1,至少需要3块磁盘构建。
- RAID6 双重保护数据,保护阵列中两个磁盘同时发生故障,数据仍能安全保存。但是此方法的代价高,需要至少4块磁盘构建。利用率为磁盘书-2,运行有两块错误磁盘。
- RAID01 先条带化,后镜像。数据同时写入到两个磁盘阵列中。至少需要4个磁盘创建,读写性能均提升,利用率为50%。
- RAID10 先镜像,后条带化。数据同时写入到两个磁盘阵列中。至少需要4个磁盘创建,读写性能均提升,利用率为50%。
软RAID
mdadm --create 创建一个新的RAID;
mdadm --detail指出RAID的详细信息;
mdadm --stop 停止指定RAID设备;
mdadm --level 设置RAID的级别;
mdadm --raid-devices 活动磁盘数据;
mdadm --spare-devices 备用磁盘。
`以磁盘法分区模拟磁盘`
[root@localhost ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001e99f
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 1332 10485760 83 Linux
/dev/sda3 1332 1593 2097152 82 Linux swap / Solaris
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6af65ca1
Device Boot Start End Blocks Id System
/dev/sdb1 1 132 1060258+ 83 Linux
/dev/sdb2 133 264 1060290 83 Linux
/dev/sdb3 265 396 1060290 83 Linux
/dev/sdb4 397 528 1060290 83 Linux
`创建RAID 指定创建类型、工作区间、活动块数、备份块数`
[root@localhost ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdb[1-4]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
`查看创建磁盘的详细信息`
[root@localhost ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Mar 31 22:02:31 2019
Raid Level : raid5
Array Size : 2117632 (2.02 GiB 2.17 GB)
Used Dev Size : 1058816 (1034.00 MiB 1084.23 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sun Mar 31 22:02:46 2019
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : localhost:0 (local to host localhost)
UUID : 8b6556f5:0b1b3164:341904dd:98cd6ea1
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
4 8 19 2 active sync /dev/sdb3
3 8 20 - spare /dev/sdb4
`修改配置信息`
[root@localhost ~]# vi /etc/mdadm.conf
`格式化,创建文件系统`
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
132464 inodes, 529408 blocks
26470 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=545259520
17 block groups
32768 blocks per group, 32768 fragments per group
7792 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
`挂载`
[root@localhost ~]