linux中raid 0-mdadm管理

1、mdadm介绍

管理软raid工具:mdadm

mdadm是linux下用于管理软件 raid 的工具

2、mdadm 命令的参数

-A, --assemble: 激活磁盘阵列 ,加入一个以前定义的阵列
-B, --build:Build a legacy array without superblocks. 
-C, --create:创建一个新的阵列 
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine: 打印阵列设备详细信息 ,打印 device 上的 md superblock 的内容 
-F, --follow, --monitor:选择 Monitor 模式 
-G, --grow:改变在用阵列的大小或形态 
-h, --help:帮助信息,用在以上选项后,则显示该选项信息 --help-options 
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分 
-V, --version
-a, --auto{=no,yes,md,mdp,part,p}{NN}: 添加设备到阵列 
-b, --brief:较少的细节。用于 --detail 和 --examine 选项 
-c, --config= :指定配置文件,缺省为 /etc/mdadm/mdadm.conf 
-c, --chunk=:Specify chunk size of kibibytes.  缺省为 64.
-v, --verbose: 显示详细信息 
-f, --force 
-f, --force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。 
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm/mdadm.conf create 或 build 使用的选项: 
--rounding=: Specify rounding factor for linear array (==chunk size)
-l, --level=:设定 raid level. 
--create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp. 
--build可用:linear, raid0, 0, stripe. 
-p, --parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric 
--layout=:类似于--parity 
-n, --raid-devices=: 指定磁盘阵列的成员(分区/磁盘的数量),阵列中可用  device 数目,这个数目只能由 --grow 修改
-x, --spare-devices=: 指定阵列中备用磁盘的数量 ,初始阵列的富余device 数目 
--assume-clean:目前仅用于 --build 选项 
-R, --run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-z, --size=:组建RAID1/4/5/6后从每个device获取的空间总数 

3、实验raid 0

1)新增两块硬盘

[root@ localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 2月  27 14:49 /dev/sda
brw-rw----. 1 root disk 8,  1 2月  27 14:49 /dev/sda1
brw-rw----. 1 root disk 8,  2 2月  27 14:49 /dev/sda2
brw-rw----. 1 root disk 8, 16 2月  27 14:49 /dev/sdb
brw-rw----. 1 root disk 8, 32 2月  27 14:49 /dev/sdc
[root@ localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

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

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

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

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@ localhost ~]# ll /dev/sd*
brw-rw----. 1 root disk 8,  0 2月  27 14:49 /dev/sda
brw-rw----. 1 root disk 8,  1 2月  27 14:49 /dev/sda1
brw-rw----. 1 root disk 8,  2 2月  27 14:49 /dev/sda2
brw-rw----. 1 root disk 8, 16 2月  27 14:49 /dev/sdb
brw-rw----. 1 root disk 8, 32 2月  27 14:51 /dev/sdc
brw-rw----. 1 root disk 8, 33 2月  27 14:51 /dev/sdc1
brw-rw----. 1 root disk 8, 34 2月  27 14:51 /dev/sdc2

raid基本思想:把好几块便宜的硬盘通过一定组合方式把它组合起来,成为一个新的硬盘阵列组,从而使它能够达到高性能硬盘的要求

raid有三个关键技术:
镜像:提供了数据的安全性;
条带(块大小也可以说是条带的粒度),它的存在的就是为了提高I/O性,提供了数据并发性
数据的校验:提供了数据的安全

2)创建raid 0

[root@ localhost bin]# rpm -qf `which mdadm`
mdadm-4.1-1.el7.x86_64
# 创建
[root@ localhost bin]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdc1 /dev/sdc2
mdadm: chunk size defaults to 512K
mdadm: Fail create md0 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
# 查看
[root@ localhost bin]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=fca69103:9cd2d015:56a7b4f5:c0977570
[root@ localhost bin]# mdadm -D /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Fri Feb 28 01:37:24 2020
        Raid Level : raid0
        Array Size : 10475520 (9.99 GiB 10.73 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Fri Feb 28 01:37:24 2020
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : unknown

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : fca69103:9cd2d015:56a7b4f5:c0977570
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2

备注:
chunk值:
条带大小 它分有很多“块”(Chunk),如果块尺寸(Chunksize)设置过小就一定会增加占用的块数

3)把配置信息保存起来

[root@ localhost bin]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=fca69103:9cd2d015:56a7b4f5:c0977570
[root@ localhost bin]# mdadm -Ds > /etc/mdadm.conf
[root@ localhost bin]# cat !$
cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=fca69103:9cd2d015:56a7b4f5:c0977570

4)对raid 0创建分区

[root@ localhost ~]# fdisk /dev/md0
欢迎使用 fdisk (util-linux 2.23.2)。

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

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

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

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

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@ localhost ~]# ll /dev/md*
brw-rw----. 1 root disk   9, 0 2月  27 15:17 /dev/md0
brw-rw----. 1 root disk 259, 1 2月  27 15:17 /dev/md0p1

5)格式化分区并挂载

[root@ localhost ~]# mkfs.xfs /dev/md0p1 
meta-data=/dev/md0p1             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 /raid0
[root@ localhost ~]# mount /dev/md0p1 /raid0/
[root@ localhost ~]# df -h | tail -1
/dev/md0p1           2.0G   33M  2.0G   2% /raid0

6)设置开机自动挂载

[root@ localhost ~]# umount /raid0/
[root@ localhost ~]# df -h | tail -1
tmpfs                199M     0  199M   0% /run/user/0
[root@ localhost ~]# mount -a
[root@ localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   17G  1.9G   16G  11% /
devtmpfs             982M     0  982M   0% /dev
tmpfs                993M     0  993M   0% /dev/shm
tmpfs                993M  8.6M  984M   1% /run
tmpfs                993M     0  993M   0% /sys/fs/cgroup
/dev/sda1           1014M  121M  894M  12% /boot
tmpfs                199M     0  199M   0% /run/user/0
[root@ localhost ~]# vim /etc/fstab 
/dev/md0p1   /raid0   xfs  defaults 0 0
[root@ localhost ~]# mount -a
[root@ localhost ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root   17G  1.9G   16G  11% /
devtmpfs             982M     0  982M   0% /dev
tmpfs                993M     0  993M   0% /dev/shm
tmpfs                993M  8.6M  984M   1% /run
tmpfs                993M     0  993M   0% /sys/fs/cgroup
/dev/sda1           1014M  121M  894M  12% /boot
tmpfs                199M     0  199M   0% /run/user/0
发布了41 篇原创文章 · 获赞 35 · 访问量 3628

猜你喜欢

转载自blog.csdn.net/chen_jimo_c/article/details/104542390