软 RAID0 创建和管理

RAID 分为硬件 RAID 和软件 RAID, 硬件 RAID 是通过 RAID 卡来实现的,软件RAID是通过软件实现的,企业级应用一般用硬件RAID, 今天只是学习下软件 RAID 的创建,管理等。

环境准备

虚拟机环境,添加两块 1GB IDE 盘,计划做 RAID0。

查看硬盘信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@pgb ~]# fdisk -l
Disk /dev/hda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 1827 14675346 83 Linux
/dev/hda2 1828 1958 1052257+ 82 Linux swap / Solaris
Disk /dev/hdb: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk /dev/hdb doesn't contain a valid partition table
Disk /dev/hdd: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk /dev/hdd doesn't contain a valid partition table

备注: 虚拟计添加硬盘步骤略。

RAID 设备创建和管理

1.1 创建软件 RAID 0

1
2
3
4
5
6
7
8
9
10
11
12
[root@pgb ~]# mdadm -C -v /dev/md1 -l0 -n2 /dev/hdb /dev/hdd  
mdadm: chunk size defaults to 64K
mdadm: /dev/hdb appears to contain an ext2fs file system
size=1048576K mtime=Thu Jan 1 08:00:00 1970
mdadm: /dev/hdd appears to contain an ext2fs file system
size=1048576K mtime=Thu Jan 1 08:00:00 1970
Continue creating array? y
mdadm: array /dev/md1 started.

[root@pgb ~]# ll /dev/md*
brw-r----- 1 root disk 9, 0 Feb 14 22:14 /dev/md0
brw-r----- 1 root disk 9, 1 Feb 14 23:21 /dev/md1

1.2 扫描 RAID 信息

1
2
[root@pgb ~]# mdadm -Ds  
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 UUID=4140c28c:ace28b95:93c51a55:8451fbc3

1.3 停 /dev/md1

1
2
[root@pgb ~]# mdadm -Ss  
mdadm: stopped /dev/md1

1.4 启动 RAID /dev/md1

1
[root@pgb ~]# mdadm -A /dev/md1 /dev/hdb /dev/hddmdadm: /dev/md1 has been started with 2 drives.

1.5 查看硬盘 RAID 信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[root@pgb ~]# mdadm --examine /dev/hdb  
/dev/hdb:
Magic : a92b4efc
Version : 0.90.00
UUID : 4140c28c:ace28b95:93c51a55:8451fbc3
Creation Time : Sat Feb 14 23:22:06 2015
Raid Level : raid0
Used Dev Size : 0
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Update Time : Sat Feb 14 23:22:06 2015
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 592584c8 - correct
Events : 1
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 3 64 0 active sync /dev/hdb
0 0 3 64 0 active sync /dev/hdb
1 1 22 64 1 active sync /dev/hdd

[root@pgb ~]# mdadm --examine /dev/hdd
/dev/hdd:
Magic : a92b4efc
Version : 0.90.00
UUID : 4140c28c:ace28b95:93c51a55:8451fbc3
Creation Time : Sat Feb 14 23:22:06 2015
Raid Level : raid0
Used Dev Size : 0
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Update Time : Sat Feb 14 23:22:06 2015
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 592584dd - correct
Events : 1
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 22 64 1 active sync /dev/hdd
0 0 3 64 0 active sync /dev/hdb
1 1 22 64 1 active sync /dev/hdd

1.6 查看阵列 /dev/md1 信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@pgb ~]# mdadm -D /dev/md1  
/dev/md1:
Version : 0.90
Creation Time : Sat Feb 14 23:22:06 2015
Raid Level : raid0
Array Size : 2097024 (2048.22 MiB 2147.35 MB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent
Update Time : Sat Feb 14 23:22:06 2015
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 64K
UUID : 4140c28c:ace28b95:93c51a55:8451fbc3
Events : 0.1
Number Major Minor RaidDevice State
0 3 64 0 active sync /dev/hdb
1 22 64 1 active sync /dev/hdd

备注:从上面看出阵列 /dev/md1 由 /dev/hdb , /dev/hdd 两个成员组成,UUID 为 4140c28c:ace28b95:93c51a55:8451fbc3

1.7 创建 RAID 配置文件 /etc/mdadm.conf
配置文件 /etc/mdadm.conf 本不存在,需要手工创建,创建这个文件便于 RAID 设备的维护。

1
2
3
[root@pgb ~]# mdadm -Ds  
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 UUID=4140c28c:ace28b95:93c51a55:8451fbc3
[root@pgb ~]# mdadm -Ds >> /etc/mdadm.conf

修改文件 /etc/mdadm.conf, 增加 device 内容,修改后内容如下

1
2
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 
UUID=4140c28c:ace28b95:93c51a55:8451fbc3 devices=/dev/hdb,/dev/hdd

备注:通过创建 /etc/mdadm.conf 文件后,那么启动RAID 时不需要指定 RAID设备和 RAID 成员。

1.8 重启阵列 /dev/md1 测试

1
2
3
4
5
[root@pgb ~]# mdadm -Ssmdadm: stopped /dev/md1
[root@pgb ~]# mdadm -As
mdadm: /dev/md1 has been started with 2 drives.
[root@pgb ~]# mdadm -Ds
ARRAY /dev/md1 level=raid0 num-devices=2 metadata=0.90 UUID=4140c28c:ace28b95:93c51a55:8451fbc3

1.9 mdadm 常用参数

1
2
3
4
5
6
7
8
-A, --assemble  
激活RAID
-C, --create
创建RAID
-s, --scan
扫描RAID设备
-S, --stop
停止正在运行的RAID 设备

RAID 设备使用

接着介绍 RAID 设备分区,文件系统格式化,目录挂载。

2.1检查 RAID 设备是否存在

1
2
3
4
5
[root@pgb ~]# fdisk -l /dev/md1
Disk /dev/md1: 2147 MB, 2147352576 bytes
2 heads, 4 sectors/track, 524256 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md1 doesn't contain a valid partition table

备注:这里看出 /dev/md1 设备容量为 2147MB。

2.2 RAID 文件系统格式化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@pgb ~]# mkfs -t 'ext3' -c /dev/md1  
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
262144 inodes, 524256 blocks
26212 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Checking for bad blocks (read-only test): done
Writing inode tables: done
Creating journal (8192 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.

2.3 目录挂载

1
2
3
4
5
6
7
8
9
[root@pgb ~]# mkdir -p /database/pgdata1
[root@pgb ~]# mount -t 'ext3' /dev/md1 /database/pgdata1
[root@pgb ~]# df -hv
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 14G 5.0G 8.0G 39% /
tmpfs 217M 0 217M 0% /dev/shm
none 217M 104K 217M 1% /var/lib/xenstored
/dev/md1 2.0G 36M 1.9G 2% /database/pgdata1
[root@pgb ~]# chown -R postgres:postgres /database

备注: 设备 /dev/md1 成功挂载,挂载点为 /database/pgdata1,容量 2 个 GB。

2.4 设置开机自动挂载

1
/dev/md1 /database/pgdata1 ext3 defaults 0 0

总结

  1. 今天只是学习下软件 RAID0 的创建与管理,纯属学习,RAID1,RAID10 有空时也练习下。
  2. 与硬件RAID相比,软件RAID 有很多不足,例如系统资源占用高,不支持硬盘执插拨,
    不支持远程阵列管理等。
  3. 企业级应用硬件 RAID 用得较多。

最后推荐和张文升共同编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级特性、并行查询、分区表、物理复制、逻辑复制、备份恢复、高可用、性能优化、PostGIS等,涵盖大量实战用例!

购买链接:https://item.jd.com/12405774.html

PostgreSQL实战
感谢支持!
0%