测试在线编辑

第3章 Linux系统与服务构建运维

实验1 服务器制作RAID磁盘阵列并管理

【案例目标】

(1)掌握RAID的构建,挂载和使用。
(2)掌握RAID的基础运维。

【案例分析】

1. 规划节点

主机规划,见表1
在这里插入图片描述
表1 规划节点

2. 基础准备

线上平台提供的系统为CentOS 7.2操作系统,配置为2VCPU/4G内存/40G硬盘,外加20 GB扩展硬盘/dev/vdb。本实验为Raid磁盘阵列实验,使用/dev/vdb进行分区,使用分区模拟硬盘进行实操。YUM源使用project3.tar.gz压缩包内提供的mdadm_yum文件夹。
(1)使用wget命令下载对应资源包到线上平台虚机中,用于后续实验,命令及地址如下,下载后的压缩包会在当前路径即/root目录:
在这里插入图片描述

[root@bcc-onlinestu02-553554-5hiap~]# wget http://192.168.16.10:8080/download/project3.tar.gz
[root@bcc-onlinestu02-553554-5hiap ~]# ls
project3.tar.gz

(2)利用tar -zxvf命令对下载好的资源包进行解压,解压后为一个project3的目录,进入目录后可看到里面所包含的资源。
[root@bcc-onlinestu02-553554-5hiap ~]# tar -zxvf project3.tar.gz
[root@bcc-onlinestu02-553554-5hiap ~]# ls
project3 project3.tar.gz
[root@bcc-onlinestu02-553554-5hiap ~]# cd project3
[root@bcc-onlinestu02-553554-5hiap project3]# ls
CentOS-7-x86_64-DVD-1511.iso cirros-0.3.3-x86_64-disk.img gpmall_single kvm_package mdadm_yum
基础环境的介绍、软件包的下载与解压,均已介绍完毕。若觉得线上虚拟机的主机名过长(bcc-onlinestu02-553554-5hiap),影响使用,可以自行修改主机名,使用命令hostnamectl set-hostname xxx(xxx为主机名),修改完主机名并刷新页面即可。

【案例实施】

1. 创建raid

(1)创建raid 0
首先使用lsblk命令查看当前虚拟机的硬盘情况,命令如下:

[root@bcc-onlinestu02-553554-5hiap ~]# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  40G  0 disk 
└─vda1 253:1    0  40G  0 part /
vdb    253:16   0  20G  0 disk 

可以看见,当前存在一个硬盘vdb,大小为20 GB,接下来使用这个硬盘完成实验。
利用fdisk磁盘分区命令,对vdb这块磁盘进行分区操作,新建2个磁盘分区,每个大小为5 GB。用这2个5 GB的分区来模拟1个10 GB的硬盘。

[root@bcc-onlinestu02-553554-5hiap ~]# fdisk  /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x04dc8119.

Command (m for help): n      //输入n为新建一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p     //设置分区类型,p代表创建主分区,e代表扩展分区
Partition number (1-4, default 1): 1     //设置分区号,可默认直接按Enter键
First sector (2048-41943039, default 2048): 2048   //设置起始字节数,可默认直接按Enter键
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G    //设置分区大小
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 2
First sector (10487808-41943039, default 10487808): 10487808
Last sector, +sectors or +size{K,M,G} (10487808-41943039, default 41943039): +5G
Partition 2 of type Linux and of size 5 GiB is set

Command (m for help): p     //此处为查看创建后的分区

Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x04dc8119

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    10487807     5242880   83  Linux
/dev/vdb2        10487808    20973567     5242880   83  Linux

Command (m for help): w     //对创建后的分区进行保存
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

使用project3文件内提供的mdadm_yum文件夹配置本地YUM安装源,示例代码如下:

[root@bcc-onlinestu02-553554-5hiap ~]# mv /etc/yum.repos.d/*   /media/
[root@bcc-onlinestu02-553554-5hiap ~]# vi /etc/yum.repos.d/local.repo
[mdadm]
name=mdadm
baseurl=file:///root/project3/mdadm_yum/
gpgcheck=0
enabled=1

安装工具mdadm,使用已有YUM源进行安装,命令如下:

[root@bcc-onlinestu02-553554-5hiap ~]# yum install -y mdadm  

创建一个RAID 0设备:这里使用/dev/vdb1和/dev/vdb2做实验。
将/dev/vdb1和/dev/vdb2建立RAID等级为RAID 0的md0(设备名)。

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/vdb1  /dev/vdb2
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.

命令解析:
 -C v:创建设备,并显示信息。
 -l 0:RAID的等级为RAID 0。
 -n 2:创建RAID的设备为2块。
查看系统上的RAID,命令及返回结果如下。

[root@bcc-onlinestu02-553554-5hiap ~]# cat /proc/mdstat
Personalities : [raid0] 
md0 : active raid0 vdb2[1] vdb1[0]
      10475520 blocks super 1.2 512k chunks
      
unused devices: <none>

查看RAID详细信息,命令及返回结果如下。

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=bcc-onlinestu02-553554-5hiap:0 UUID=f4f9af83:15a773a4:6f0c9727:09d145ce
[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Mon Mar  9 10:43:06 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 : Mon Mar  9 10:43:06 2020
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : unknown

              Name : bcc-onlinestu02-553554-5hiap:0  (local to host bcc-onlinestu02-553554-5hiap)
              UUID : f4f9af83:15a773a4:6f0c9727:09d145ce
            Events : 0

    Number   Major   Minor   RaidDevice State
       0     253       17        0      active sync   /dev/vdb1
       1     253       18        1      active sync   /dev/vdb2

生成配置文件mdadm.conf,命令如下。

[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf 

对创建的RAID进行文件系统创建并挂载,命令如下。

[root@bcc-onlinestu02-553554-5hiap ~]# mkfs.xfs /dev/md0
log stripe unit (524288 bytes) is too large (maximum is 256KiB)
log stripe unit adjusted to 32KiB
meta-data=/dev/md0               isize=256    agcount=16, agsize=163712 blks
         =                      sectsz=512   attr=2, projid32bit=1
         =                      crc=0        finobt=0
data      =                      bsize=4096   blocks=2618880, imaxpct=25
         =                      sunit=128    swidth=256 blks
naming   =version 2               bsize=4096   ascii-ci=0 ftype=0
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@bcc-onlinestu02-553554-5hiap ~]# mkdir /raid0/
[root@bcc-onlinestu02-553554-5hiap ~]# mount /dev/md0  /raid0/
[root@bcc-onlinestu02-553554-5hiap ~]# df -Th  /raid0/
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/md0       xfs    10G   33M   10G   1% /raid0

设置成开机自动挂载,命令如下。

[root@bcc-onlinestu02-553554-5hiap ~]# blkid /dev/md0 
/dev/md0: UUID="577644eb-8974-4e85-bb5d-29e502a8ee66" TYPE="xfs" 
[root@bcc-onlinestu02-553554-5hiap~]# echo "UUID="577644eb-8974-4e85-bb5d-29e502a8ee66 /raid0 xfs defaults 0 0"  >> /etc/fstab 

删除RAID操作,命令如下:

[root@bcc-onlinestu02-553554-5hiap ~]# umount /raid0/
[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@bcc-onlinestu02-553554-5hiap ~]# rm -rf /etc/mdadm.conf
[root@bcc-onlinestu02-553554-5hiap ~]# rm -rf /raid0/
[root@bcc-onlinestu02-553554-5hiap ~]# mdadm --zero-superblock /dev/vdb1
[root@bcc-onlinestu02-553554-5hiap ~]# mdadm --zero-superblock /dev/vdb2
[root@bcc-onlinestu02-553554-5hiap ~]# vi /etc/fstab
UUID="577644eb-8974-4e85-bb5d-29e502a8ee66 /raid0 xfs defaults 0 0   //删除此行
删除完成后进行查看,命令如下:
[root@bcc-onlinestu02-553554-5hiap ~]# lsblk 
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    253:0    0  40G  0 disk 
└─vda1 253:1    0  40G  0 part /
vdb    253:16   0  20G  0 disk 
├─vdb1 253:17   0   5G  0 part     //vdb1、vdb2分区以还原成制作raid前状态
└─vdb2 253:18   0   5G  0 part

2. 运维操作

(1)raid 5运维操作
利用fdisk磁盘分区命令,继续对vdb这块磁盘剩余空间进行分区操作,新建2个磁盘主分区,每个大小为5 GB。用3个5 GB的分区来模拟raid 5,加一个热备盘。

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -Cv /dev/md5 -l5 -n3 /dev/vdb1 /dev/vdb2 /dev/vdb3 --spare-devices=1 /dev/vdb4 
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5236736K
mdadm: Fail create md5 when using /sys/module/md_mod/parameters/new_array
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

查看RAID的详细信息,命令如下。

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Mar  9 11:08:14 2020
        Raid Level : raid5
        Array Size : 10473472 (9.99 GiB 10.72 GB)
     Used Dev Size : 5236736 (4.99 GiB 5.36 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Mar  9 11:09:07 2020
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 2

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : unknown

    Rebuild Status : 31% complete

              Name : bcc-onlinestu02-553554-5hiap:5  (local to host bcc-onlinestu02-553554-5hiap)
              UUID : 6a66ae76:ba5f0310:615e8829:2bcc7fdc
            Events : 6

    Number   Major   Minor   RaidDevice State
       0     253       17        0      active sync   /dev/vdb1
       1     253       18        1      active sync   /dev/vdb2
       4     253       19        2      spare rebuilding   /dev/vdb3

       3     253       20        -      spare   /dev/vdb4

(2)模拟硬盘故障

 [root@bcc-onlinestu02-553554-5hiap ~]#  mdadm -f /dev/md5 /dev/vdb1
mdadm: set /dev/vdb1 faulty in /dev/md5

查看RAID的详细信息,命令如下。

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Mar  9 11:08:14 2020
        Raid Level : raid5
        Array Size : 10473472 (9.99 GiB 10.72 GB)
     Used Dev Size : 5236736 (4.99 GiB 5.36 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Mon Mar  9 11:12:20 2020
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : unknown

    Rebuild Status : 23% complete

              Name : bcc-onlinestu02-553554-5hiap:5  (local to host bcc-onlinestu02-553554-5hiap)
              UUID : 6a66ae76:ba5f0310:615e8829:2bcc7fdc
            Events : 23

    Number   Major   Minor   RaidDevice State
       3     253       20        0      spare rebuilding   /dev/vdb4
       1     253       18        1      active sync   /dev/vdb2
       4     253       19        2      active sync   /dev/vdb3

       0     253       17        -      faulty   /dev/vdb1

从以上结果可以发现原来的热备盘/dev/vdb4正在参与RAID 5的重建,而原来的/dev/vdb1变成了坏盘。
热移除故障盘,命令如下:

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -r /dev/md5 /dev/vdb1
mdadm: hot removed /dev/vdb1 from /dev/md5

查看RAID的详细信息,命令如下:

[root@bcc-onlinestu02-553554-5hiap ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon Mar  9 11:08:14 2020
        Raid Level : raid5
        Array Size : 10473472 (9.99 GiB 10.72 GB)
     Used Dev Size : 5236736 (4.99 GiB 5.36 GB)
      Raid Devices : 3
     Total Devices : 3
       Persistence : Superblock is persistent

       Update Time : Mon Mar  9 11:14:44 2020
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : unknown

              Name : bcc-onlinestu02-553554-5hiap:5  (local to host bcc-onlinestu02-553554-5hiap)
              UUID : 6a66ae76:ba5f0310:615e8829:2bcc7fdc
            Events : 38

    Number   Major   Minor   RaidDevice State
       3     253       20        0      active sync   /dev/vdb4
       1     253       18        1      active sync   /dev/vdb2
       4     253       19        2      active sync   /dev/vdb3

格式化RAID并进行挂载,命令如下:

[root@bcc-onlinestu02-553554-5hiap ~]# mkfs.ext4  /dev/md5 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2618368 blocks
130918 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@bcc-onlinestu02-553554-5hiap ~]# mount /dev/md5 /mnt/
[root@bcc-onlinestu02-553554-5hiap ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G   11G   30G  26% /
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           2.0G   17M  2.0G   1% /run
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/md5        9.8G   37M  9.2G   1% /mnt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值