Linux基础-磁盘列(如何创建raid10)

 

 

 

磁盘阵

高效的数据组织和条带化的并行访问  

独立硬盘冗余阵列

RAID   redundant   array   of  independent   disks

RAID数据组织的形式

条带: 硬盘中单个或多个连续的扇区,是一块硬盘进行一次数据读写的最小单元

分条: 同一个硬盘的阵列中,有多个硬盘驱动器上相同位置编号的条带

 

raid分为软件raid   和硬件raid  

硬件raid需要raid卡

 

RAID数据保护方式:

  • 在另外一块冗余的硬盘上保存副本
  • 奇偶校验算法      
  • RAID常用级别                  特性   
  • RAID  0                用在UI数据安全要求不高   但是要求廉价 高利用率的情况下
  • RAID  1           主要通过二次读写,实现镜像磁盘     在数据安全很重要的场所使用
  • RAID  3           比RAID0 多了个奇偶校验   多一块磁盘 但是数据冗余性好

RAID  5  *每个磁盘都能存校验 ,有几个盘就能产生几个读写盘  比raid3  减少一个校验盘

RAID  6  RAID6  P+Q   RAID6  DP      两种校验算法  至少需要N+2  个磁盘来构成阵列,一般用在数据可靠性极高,可用性极高的场所

RAID  10     将镜像raid  和条带进行组合  先进性raid1  镜像  然后再做raid0

RAID  50  *    使用了raid5和raid0来混合使用  第一级是raid5  第二级是raid0 

 

 

RAID  的两种备份方法        

1 热备   

2 重构

 

RAID状态:  

  • 创建raid
  • 创建成功  raid正常工作  
  • 发生故障   raid降级等待   
  • 假设重构成功  则回到2状态
  • 如果失败则raid直接失效
  • RAID实验:通过linux服务器 添加四块新硬盘   完成raid 10的部署

 

  • [root@rhel8-server ~]# lsblk       查看目前系统的硬盘情况
  • NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  • sr0            11:0    1  6.6G  0 rom  /run/media/root/RHEL-8-0-0-BaseOS-x86_64
  • nvme0n1       259:0    0   20G  0 disk 
  • ├─nvme0n1p1   259:1    0    1G  0 part /boot
  • └─nvme0n1p2   259:2    0   19G  0 part 
  •   ├─rhel-root 253:0    0   17G  0 lvm  /
  •   └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
  • nvme0n2       259:3    0   20G  0 disk 
  • nvme0n3       259:4    0   20G  0 disk 
  • nvme0n4       259:5    0   20G  0 disk 
  • nvme0n5       259:6    0   20G  0 disk 
  • mdadm命令的常用参数以及作用

参数

作用

-a

检测设备名称

-n

指定设备数量

-l

指定RAID级别

-C

创建

-v

显示过程

-f

模拟设备损坏

-r

移除设备

-Q

查看摘要信息

-D

查看详细信息

-S

停止RAID磁盘阵列

  • [root@rhel8-server ~]# mdadm -Cv  /dev/md0  -a  yes    -n  4    -l   10   /dev/nvme0n2 /dev/nvme0n3  /dev/nvme0n4 /dev/nvme0n5 
  • mdadm: layout defaults to n2
  • mdadm: layout defaults to n2
  • mdadm: chunk size defaults to 512K
  • mdadm: size set to 20954112K
  • mdadm: Defaulting to version 1.2 metadata
  • mdadm: array /dev/md0 started.
  • [root@rhel8-server ~]# lsblk      查看四块硬盘raid等级
  • NAME          MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT
  • sr0            11:0    1  6.6G  0 rom    /run/media/root/RHEL-8-0-0-BaseOS-x86_64
  • nvme0n1       259:0    0   20G  0 disk   
  • ─nvme0n1p1   259:1    0    1G  0 part   /boot
  • └─nvme0n1p2   259:2    0   19G  0 part   
  •   ─rhel-root 253:0    0   17G  0 lvm    /
  •   └─rhel-swap 253:1    0    2G  0 lvm    [SWAP]
  • nvme0n2       259:3    0   20G  0 disk   
  • └─md0           9:0    0   40G  0 raid10 
  • nvme0n3       259:4    0   20G  0 disk   
  • └─md0           9:0    0   40G  0 raid10 
  • nvme0n4       259:5    0   20G  0 disk   
  • └─md0           9:0    0   40G  0 raid10 
  • nvme0n5       259:6    0   20G  0 disk   
  • └─md0           9:0    0   40G  0 raid10
  • [root@rhel8-server ~]# mkfs.ext4     /dev/md0      dev/md0 格式化成了ext4文件系统
  • mke2fs 1.44.3 (10-July-2018)
  • Creating filesystem with 10477056 4k blocks and 2621440 inodes
  • Filesystem UUID: e8aef858-ace4-43c6-9949-917eea035134
  • Superblock backups stored on blocks: 
  • 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
  • 4096000, 7962624
  • Allocating group tables: done                            
  • Writing inode tables: done                            
  • Creating journal (65536 blocks): done
  • Writing superblocks and filesystem accounting information: done  
  • [root@rhel8-server ~]# mkdir  /RAID        创建挂载点
  • [root@rhel8-server ~]# mount  /dev/md0    /RAID      把硬盘设备挂载到挂载点
  • [root@rhel8-server ~]# df -h
  • Filesystem             Size  Used Avail Use% Mounted on
  • devtmpfs               1.9G     0  1.9G   0% /dev
  • tmpfs                  1.9G     0  1.9G   0% /dev/shm
  • tmpfs                  1.9G   10M  1.9G   1% /run
  • tmpfs                  1.9G     0  1.9G   0% /sys/fs/cgroup
  • /dev/mapper/rhel-root   17G  4.0G   14G  24% /
  • /dev/nvme0n1p1        1014M  169M  846M  17% /boot
  • tmpfs                  376M   16K  376M   1% /run/user/42
  • tmpfs                  376M  2.3M  374M   1% /run/user/0
  • /dev/sr0               6.7G  6.7G     0 100% /run/media/root/RHEL-8-0-0-BaseOS-x86_64
  • /dev/md0                40G   49M   38G   1% /RAID
  • [root@rhel8-server RAID]# mdadm   -D   /dev/md0   通过-D来查看磁盘阵列详细信息确认无误
  • /dev/md0:
  •            Version : 1.2
  •      Creation Time : Sat Jan 15 22:41:06 2022
  •         Raid Level : raid10
  •         Array Size : 41908224 (39.97 GiB 42.91 GB)
  •      Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
  •       Raid Devices : 4
  •      Total Devices : 4
  •        Persistence : Superblock is persistent
  •        Update Time : Sat Jan 15 22:46:53 2022
  •              State : clean 
  •     Active Devices : 4
  •    Working Devices : 4
  •     Failed Devices : 0
  •      Spare Devices : 0
  •             Layout : near=2
  •         Chunk Size : 512K
  • Consistency Policy : resync
  •               Name : rhel8-server:0  (local to host rhel8-server)
  •               UUID : 9fd06c28:af2e0d36:eb1a09bb:9fc11b9b
  •             Events : 19
  •     Number   Major   Minor   RaidDevice State
  •        0     259        3        0      active sync set-A   /dev/nvme0n2
  •        1     259        4        1      active sync set-B   /dev/nvme0n3
  •        2     259        5        2      active sync set-A   /dev/nvme0n4
  •        3     259        6        3      active sync set-B   /dev/nvme0n5
  • 当确认无误后,我们需要来对系统做永久挂载  永久挂载配置文件 /etc/fstab
  • [root@rhel8-server RAID]# vim /etc/fstab 
  • [root@rhel8-server RAID]# 
  • [root@rhel8-server RAID]# 
  • [root@rhel8-server RAID]# cat /etc/fstab 
  • #
  • # /etc/fstab
  • # Created by anaconda on Fri Jan  7 22:26:04 2022
  • #
  • # Accessible filesystems, by reference, are maintained under '/dev/disk/'.
  • # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
  • #
  • # After editing this file, run 'systemctl daemon-reload' to update systemd
  • # units generated from this file.
  • #
  • /dev/mapper/rhel-root   /                       xfs     defaults        0 0
  • UUID=7002282d-fea0-4380-9a2b-6495aba65ee6 /boot                   xfs     defaults        0 0
  • /dev/mapper/rhel-swap   swap                    swap    defaults        0 0
  • /dev/md0               /RAID             ext4           defaults        0 0   
  • 最后一行加入以上信息
  • 完成后务必 mount  -a   保证配置文件没有问题   如果报错必须回去修改配置文件
上一篇:Go语言学习之Go协程:WaitGroup


下一篇:codeforces 1428G1 分组背包版本