RAID0和RAID1读写性能测试

RAID0测试

测试环境:CentOS 7图形化
添加磁盘后重启虚拟机

磁盘个数 空间利用率 读性能 写性能 有无安全性 数据保护方法
RAID0 大于等于2 100%
RAID1 2n (偶数) 50% 较优 较差 备份
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0  204M  0 disk 
sdc               8:32   0  204M  0 disk 
sdd               8:48   0  204M  0 disk 
sr0              11:0    1  4.3G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xb1e34736 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-417791,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-417791,默认为 417791):
将使用默认值 417791
分区 1 已设置为 Linux 类型,大小设为 203 MiB

命令(输入 m 获取帮助):l

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
1e  隐藏的 W95 FAT1 80  旧 Minix       

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x7ff08953 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-417791,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-417791,默认为 417791):
将使用默认值 417791
分区 1 已设置为 Linux 类型,大小设为 203 MiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x6a15f7b5 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-417791,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-417791,默认为 417791):
将使用默认值 417791
分区 1 已设置为 Linux 类型,大小设为 203 MiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@localhost ~]# mdadm -C /dev/md0 -l 0 -n 3 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Mar 31 15:00:14 2022
        Raid Level : raid0
        Array Size : 617472 (603.00 MiB 632.29 MB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Thu Mar 31 15:00:14 2022
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 3f04e7b5:f80eb1c9:2ebf6836:f2b0bbfa
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=384 blocks
38640 inodes, 154368 blocks
7718 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=159383552
5 block groups
32768 blocks per group, 32768 fragments per group
7728 inodes per group
Superblock backups stored on blocks: 
	32768, 98304

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost ~]# mkdir wangzhigang
[root@localhost ~]# mount /dev/md0 wangzhigang/
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0   20G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   19G  0 part  
  ├─centos-root 253:0    0   17G  0 lvm   /
  └─centos-swap 253:1    0    2G  0 lvm   [SWAP]
sdb               8:16   0  204M  0 disk  
└─sdb1            8:17   0  203M  0 part  
  └─md0           9:0    0  603M  0 raid0 /root/wangzhigang
sdc               8:32   0  204M  0 disk  
└─sdc1            8:33   0  203M  0 part  
  └─md0           9:0    0  603M  0 raid0 /root/wangzhigang
sdd               8:48   0  204M  0 disk  
└─sdd1            8:49   0  203M  0 part  
  └─md0           9:0    0  603M  0 raid0 /root/wangzhigang
sr0              11:0    1  4.3G  0 rom   /run/media/root/CentOS 7 x86_64
[root@localhost ~]# time dd if=/dev/md0 of=txt bs=1M count=1000
[root@localhost ~]# time dd if=/dev/sda1 of=txt bs=1M count=1000

RAID1测试

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0  512M  0 disk 
sdc               8:32   0  512M  0 disk 
sr0              11:0    1  4.3G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x9521ce59 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-1048575,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-1048575,默认为 1048575):
将使用默认值 1048575
分区 1 已设置为 Linux 类型,大小设为 511 MiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x289c3b2e 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-1048575,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-1048575,默认为 1048575):
将使用默认值 1048575
分区 1 已设置为 Linux 类型,大小设为 511 MiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   19G  0 part 
  ├─centos-root 253:0    0   17G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0  512M  0 disk 
└─sdb1            8:17   0  511M  0 part 
sdc               8:32   0  512M  0 disk 
└─sdc1            8:33   0  511M  0 part 
sr0              11:0    1  4.3G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@localhost ~]# mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb1 /dev/sdc1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Thu Mar 31 16:25:27 2022
        Raid Level : raid1
        Array Size : 522240 (510.00 MiB 534.77 MB)
     Used Dev Size : 522240 (510.00 MiB 534.77 MB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Mar 31 16:25:29 2022
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : localhost.localdomain:1  (local to host localhost.localdomain)
              UUID : 953c5841:06914eea:3260154f:17ac9feb
            Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
[root@localhost ~]# mkfs.ext4 /dev/md1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
130560 inodes, 522240 blocks
26112 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=34078720
64 block groups
8192 blocks per group, 8192 fragments per group
2040 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0   20G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   19G  0 part  
  ├─centos-root 253:0    0   17G  0 lvm   /
  └─centos-swap 253:1    0    2G  0 lvm   [SWAP]
sdb               8:16   0  512M  0 disk  
└─sdb1            8:17   0  511M  0 part  
  └─md1           9:1    0  510M  0 raid1 
sdc               8:32   0  512M  0 disk  
└─sdc1            8:33   0  511M  0 part  
  └─md1           9:1    0  510M  0 raid1 
sr0              11:0    1  4.3G  0 rom   /run/media/root/CentOS 7 x86_64
[root@localhost ~]# mkdir wangzhigang
[root@localhost ~]# mount /dev/md1 wangzhigang
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
sda               8:0    0   20G  0 disk  
├─sda1            8:1    0    1G  0 part  /boot
└─sda2            8:2    0   19G  0 part  
  ├─centos-root 253:0    0   17G  0 lvm   /
  └─centos-swap 253:1    0    2G  0 lvm   [SWAP]
sdb               8:16   0  512M  0 disk  
└─sdb1            8:17   0  511M  0 part  
  └─md1           9:1    0  510M  0 raid1 /root/wangzhigang
sdc               8:32   0  512M  0 disk  
└─sdc1            8:33   0  511M  0 part  
  └─md1           9:1    0  510M  0 raid1 /root/wangzhigang
sr0              11:0    1  4.3G  0 rom   /run/media/root/CentOS 7 x86_64
[root@localhost ~]# time dd if=/dev/md1 of=txt bs=1M count=1000
记录了510+0 的读入
记录了510+0 的写出
534773760字节(535 MB)已复制,3.73106 秒,143 MB/秒

real	0m3.733s
user	0m0.000s
sys	0m3.728s
[root@localhost ~]# time dd if=/dev/sda1 of=txt bs=1M count=1000
记录了1000+0 的读入
记录了1000+0 的写出
1048576000字节(1.0 GB)已复制,5.98091 秒,175 MB/秒

real	0m6.025s
user	0m0.000s
sys	0m5.999s
[root@localhost ~]# 
[root@localhost ~]# cp -r /boot/* wangzhigang/
[root@localhost ~]# ls wangzhigang/
config-3.10.0-957.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-3c52c542b2854c92a2841e4baaa744f7.img
initramfs-3.10.0-957.el7.x86_64.img
lost+found
symvers-3.10.0-957.el7.x86_64.gz
System.map-3.10.0-957.el7.x86_64
vmlinuz-0-rescue-3c52c542b2854c92a2841e4baaa744f7
vmlinuz-3.10.0-957.el7.x86_64
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md1
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sdc1[1](F) sdb1[0]
      522240 blocks super 1.2 [2/1] [U_]
      
unused devices: <none>
[root@localhost ~]# 

重启虚拟机

[root@localhost ~]# mount /dev/md1 wangzhigang/
[root@localhost ~]# cd wangzhigang/
[root@localhost wangzhigang]# ls
config-3.10.0-957.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-3c52c542b2854c92a2841e4baaa744f7.img
initramfs-3.10.0-957.el7.x86_64.img
lost+found
symvers-3.10.0-957.el7.x86_64.gz
System.map-3.10.0-957.el7.x86_64
vmlinuz-0-rescue-3c52c542b2854c92a2841e4baaa744f7
vmlinuz-3.10.0-957.el7.x86_64
[root@localhost wangzhigang]# cd
[root@localhost ~]# mdadm /dev/md1 -a /dev/sdc1
mdadm: added /dev/sdc1
[root@localhost ~]# 

说明:
mdadm命令是RAID管理工具
-l 磁盘级别 -n 磁盘数 -a 添加 -f 删除

声明:未经许可,不得转载

posted @ 2022-03-31 16:48  王智刚  阅读(640)  评论(0编辑  收藏  举报