磁盘阵列 raidp配置

本文详细介绍了如何在Linux中配置软RAID,包括RAID0和RAID1的创建、格式化及挂载。通过mdadm工具,演示了从扫描新磁盘、创建分区到建立RAID阵列的步骤,并提供了相关命令和参数解释。创建的RAID0和RAID1阵列均进行了格式化为XFS文件系统并挂载到指定目录,实现了性能提升和数据冗余。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软raid

  • 计算机核心部件:CPU、内存 IDE: 133Mbps SATA: 300Mbps,600Mbps,6Gbps USB 3.0: 480Mbps SCSI: Small Computer System Interface 早期,硬盘容量很小,还没有现在的U盘空间大,性能并不稳定,这是大多数,当然也有相对比较好 的,但价格非常的昂贵,所以人们就在想办法,我能不能有多个硬盘绑定成一块,让系统认为只是一块 硬盘,1987年Raid技术兴起。美国的一个大学开发出的,当时叫做廉价冗余磁盘阵列,后来改名叫做独 立冗余磁盘阵列。 Raid 发展到现在,已经不是简单的条带化了,还生出了其他的类型,那么这里叫做Raid level(级 别),这个级别仅代表磁盘组织方式不同,没有上下之分。不仅有速度,还要考虑数据可用性。
  • Raid 0(条带): 读写速度得到提升,但不具备数据冗余,不推荐 最少2块硬盘
  • Raid 1(镜像): 写性能下降,读性能提升,相反冗余能力提升。但磁盘利用率是1/2,最少2块硬盘
  • Raid 1+0: 同组不能都坏掉,目前主流的方案。最少4块
  • Raid 0+1: 同组都可以坏,不能是不同组的相同标号。最少4块硬盘 Raid 0+1 和Raid1+0的空间利用率都是1/2
  • Raid 5(校验码机制):读写都提升,冗余有,空间利用率(n-1)/n 只能坏一块。最少3块硬盘
  • Raid 6 可以看做是raid5的升级版,它支持同时损坏2块磁盘。最少是4块盘
  • Raid 7 可以看做是raid5的升级版,它支持同时损坏3块磁盘。最少是5块盘
  • Raid 50 拓展 那么到底怎么实现软raid? md: 内核模块。 mdadm:将任何块设备做成RAID,意味着分区也可以做,但没有意义,为什么那?做实验而已。
  • 模式化的命令:

       创建模式: -C

       管理模式:--add,--del mdadm /dev/* --fail /dev/sd*

       监控模式: -F

       增长模式: -G

       装配模式: -A

  • 题目:环境要求: 新添加一块磁盘,大小为10G。并且分区,先分2个分区,每个分区大小为1G.
[root@localhost ~]# echo "- - -" >> /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo "- - -" >> /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo "- - -" >> /sys/class/scsi_host/host2/scan
[root@localhost ~]# fdisk -l
...
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
...
[root@bash ~]# gdisk /dev/sdb
...
Number Start (sector) End (sector) Size Code Name
1 2048 2099199 1024.0 MiB FD00 Linux RAID
2 2099200 4196351 1024.0 MiB FD00 Linux RAID
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# cat /proc/partitions
major minor #blocks name
...
8 17 1048576 sdb1
8 18 1048576 sdb2

      扫描用echo "- - -" >> /sys/class/scsi_host/host0/scan  命令有几个扫描几次

      partprobe /dev/sdb  这个命令是同步刚创建好的磁盘,可以多用几次,不会出错

  • Raid0

     创建一个2G的Raid 0

专用选项:

-l: 指定级别

-n: 设备个数

-a: {yes|no} 自动为其创建设备文件

-c: chunk大小,默 认为64k,(数据块) 2的N次方

-x: 指定空闲盘的个数

[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

使用 cat /proc/mdstat 命令查看当前系统上所有启动了Raid的设备

[root@localhost ~]# cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 sdb2[1] sdb1[0]
     2093056 blocks super 1.2 512k chunks 
      
unused devices: <none>

格式化raid硬盘

[root@localhost  ~]# mkfs.xfs /dev/md0 
meta-data=/dev/md0               isize=512    agcount=8, agsize=65408 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523264, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

这里可以查看到我们刚才创建的硬盘信息,我们也格式化过了,然后就可以直接挂在使用了

[root@localhost~]# mkdir /mnt/Raid0
[root@localhost~]# mount /dev/md0 /mnt/Raid0/ 
[root@localhost~]# mount | tail -1
/dev/md0 on /mnt/Raid0 type xfs (rw,relatime,seclabel,attr2,inode64,sunit=1024,swidth=2048,noquota)
[root@localhost~]# df -hT /mnt/Raid0/ 
Filesystem     Type  Size  Used Avail Use% Mounted on 
/dev/md0       xfs   2.0G   33M  2.0G   2% /mnt/Raid0

 当然这个是临时挂载,也可以加入开机自动挂载,编辑/etc/fstab文件即可,这里不再赘述。 

Raid1

创建一个2G的Raid1(有效存储空间)
思路:想要创建2个一个2G的Raid1,那么假设说用两块硬盘来实现,那么每一块大小应该是多大的那? 对了,就是2G,而且它实际空间使用率只有2G。那么就再创建2个2G的分区。
 

[root@localhost~]# gdisk /dev/sdb
... 
Number  Start (sector)    End (sector)  Size       Code  Name
  1            2048         2099199   1024.0 MiB  FD00  Linux RAID
  2         2099200         4196351   1024.0 MiB  FD00  Linux RAID 
  3         4196352         8390655   2.0 GiB     FD00  Linux RAID 
  4         8390656        12584959   2.0 GiB     FD00  Linux RAID
[root@bash ~]# partprobe /dev/sdb 
[root@bash ~]# partprobe /dev/sdb 
[root@bash ~]# partprobe /dev/sdb 
[root@bash ~]# cat /proc/partitions 
...   
   8       17    1048576 sdb1   
   8       18    1048576 sdb2   
   8       19    2097152 sdb3   
   8       20    2097152 sdb4 

直接用命令创建

[root@localhost~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb{3,4} 
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~]# cat /proc/mdstat 
Personalities : [raid0] [raid1] 
md1 : active raid1 sdb4[1] sdb3[0]
      2094080 blocks super 1.2 [2/2] [UU] 
      [==>..................]  resync = 14.5% (305536/2094080) finish=0.2min speed=101845K/sec 
md0 : active raid0 sdb2[1] sdb1[0]
      2093056 blocks super 1.2 512k chunks 
unused devices: <none>
[root@localhost~]# mkdir /mnt/Raid1 
[root@localhost~]# mkfs.xfs /dev/md1 
meta-data=/dev/md1               isize=512    agcount=4, agsize=130880 blks
         =                       sectsz=512   attr=2, projid32bit=1 
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=523520, imaxpct=25 
....
[root@localhost~]# mount /dev/md1  /mnt/Raid1/ 
[root@localhost~]# mount | tail -1
/dev/md1 on /mnt/Raid1 type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost~]# df -hT /mnt/Raid1/
Filesystem     Type  Size  Used Avail Use% Mounted on 
/dev/md1       xfs   2.0G   33M  2.0G   2% /mnt/Raid1

到这里都好了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值