操作场景
RAID,即独立冗余磁盘阵列(Redundant Array of Independent Disks),是将多块磁盘按照一定的方式组成一个磁盘阵列组的技术。相比单个磁盘,RAID能够提升存储性能和数据可靠性。
在开始构建云硬盘RAID阵列之前,首先需要先完成以下两个准备工作:
创建云主机。本文中云主机的操作系统为CentOS 7.4 64bit。
创建并挂载云硬盘。本文中假设用户创建并挂载了4块云硬盘。
操作步骤
步骤1:使用mdadm工具创建RAID阵列
使用root用户登录云主机。
执行命令fdisk -l | grep /dev/vd | grep -v vda,查看云硬盘并记录设备名称。回显如下:
[root@ecs-raid ~]# fdisk -l | grep /dev/vd | grep -v vda Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Disk /dev/vdc: 10.7 GB, 10737418240 bytes, 20971520 sectors Disk /dev/vdd: 10.7 GB, 10737418240 bytes, 20971520 sectors Disk /dev/vde: 10.7 GB, 10737418240 bytes, 20971520 sectors |
云主机上挂载了4块磁盘,设备名称分别为“/dev/vdb”、“/dev/vdc”、“/dev/vdd”和“/dev/vde”。
执行命令yum install mdadm -y,安装mdadm工具。回显如下:
[root@ecs-raid ~]# yum install mdadm -y Installed: mdadm.x86_64 0:4.0-13.el7 Dependency Installed: libreport-filesystem.x86_64 0:2.1.11-40.el7.centos Complete! |
当回显中出现“Complete!”时,表示mdadm工具安装完成。
执行命令mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdb /dev/vdc /dev/vdd /dev/vde,使用前述创建的4块云硬盘创建RAID阵列。
此命令格式为:
mdadm -Cv RAID阵列名 -a yes -n 磁盘数量 -l RAID级别 磁盘1 磁盘2 磁盘3...
参数说明如下:
RAID阵列名:用户自定义,此处以/dev/md0为例。
磁盘数量:组建RAID阵列的云硬盘数量,本例中为4块。
RAID级别:本例为RAID10。
磁盘设备名:使用此处填写的所有云硬盘组建RAID阵列,不同设备名之间以空格隔开。
回显如下:
[root@ecs-raid ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdb /dev/vdc /dev/vdd /dev/vde mdadm: layout defaults to n2 mdadm: layout defaults to n2 mdadm: chunk size defaults to 512K mdadm: size set to 10476544K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. |
执行命令mkfs.ext4 /dev/md0,格式化新创建的RAID阵列。其中,ext4为文件系统格式,/dev/md0为新创建的RAID阵列设备名。回显如下:
[root@ecs-raid ~]# mkfs.ext4 /dev/md0 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 1310720 inodes, 5238272 blocks 261913 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2153775104 160 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, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done |
执行命令mkdir /RAID10,创建挂载目录。
执行命令mount /dev/md0 /RAID10,挂载RAID阵列设备名。其中,/RAID10为挂载目录。
执行命令df -h,查看RAID阵列的挂载结果。回显如下:
[root@ecs-raid ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda2 39G 1.5G 35G 5% / devtmpfs 911M 0 911M 0% /dev tmpfs 920M 0 920M 0% /dev/shm tmpfs 920M 8.6M 911M 1% /run tmpfs 920M 0 920M 0% /sys/fs/cgroup /dev/vda1 976M 146M 764M 17% /boot tmpfs 184M 0 184M 0% /run/user/0 /dev/md0 20G 45M 19G 1% /RAID10 |
设置云主机系统启动时自动挂载RAID阵列。
执行命令vi /etc/fstab,打开“/etc/fstab”文件,输入“i”进入编辑模式。在文件的最后一行添加如下配置:
/dev/md0 /RAID10 ext4 defaults 0 0 |
敲击“Esc”,输入“:wq!”,并敲击“Enter”,保存设置并退出vi编辑器。
1执行命令mdadm -D /dev/md0,可查看磁盘RAID阵列的信息。
步骤2:配置RAID阵列开机自启动
使用root用户登录云服务器。
执行命令mdadm --detail --scan,查看RAID阵列的UUID等信息。回显如下:
[root@ecs-raid ~]# mdadm --detail --scan ARRAY /dev/md0 metadata=1.2 name=ecs-raid.novalocal:0 UUID=fxxxxx:xxxx:xxxx:xxxxx |
此处示例的“fxxxxx:xxxx:xxxx:xxxxx”即为RAID阵列的UUID。
在mdadm文件中添加新建RAID阵列的信息。
执行命令vi /etc/mdadm.conf,打开“mdadm.conf”文件,输入“i”进入编辑模式。在文件最后添加如下配置,填入上一步中查询到UUID。
DEVICE /dev/vdb /dev/vdc /dev/vdd /dev/vde ARRAY /dev/md0 metadata=1.2 name=ecs-raid.novalocal:0 UUID=fxxxxx:xxxx:xxxx:xxxxx |
敲击“Esc”键,输入“:wq!”,并按“Enter”,保存设置并退出vi编辑器。
执行命令more /etc/mdadm.conf,查看“mdadm.conf”文件是否修改成功。
可以看到上一步中添加的信息,表示修改成功。