内容:


前提知识点:


磁盘阵列的实现方式:

磁盘阵列的常见实现方式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。

外接式磁盘阵列:
    通过扩展卡提供适配能力。
    外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。

内接式磁盘阵列:
    主板集成RAID控制器,安装OS前在BIOS里配置。
    内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。
    硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。
    它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。

软件RAID:
    通过操作系统实现。
    利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。
    软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。
    因此会拖累机器的速度,不适合大数据流量的服务器。
BIOS+MBR与UEFI+GPT:
UEFI(统一扩展固件接口)硬件支持GPT,使得操作系统启动。因此采用传统的BIOS方式仅支持MBR分区方式。
我们现在新购买的机器基本上都是基于UEFI方式启动的。  
我们基于BIOS启动的操作系统它通常是MBR分区的系统,虽然BIOS无法识别GPT的分区,但我们基于BIOS启动的操作系统是可以识别你新接入的GPT分区的磁盘。

BIOS只是字符界面,它只能使用键盘操作,而UEFI是支持鼠标操作的哟。  BIOS和UEFI运行流程如下所示。
    传统BIOS运行流程:
        (1)开机
        (2)BIOS初始化
        (3)BIOS自建
        (4)引导操作系统
        (5)进入系统

    UEFI运行流程:
        (1)开机
        (2)UEFI初始化
        (3)引导操作系统
        (4)进入系统
管理分区:
列出块设备
    lsblk

创建分区使用:
    创建MBR分区:
        fdisk
    创建GPT分区:
        gdisk

高级分区操作:
    parted

重新设置内存中的内核分区表版本
    partprobe
RAID常见级别与JBOD概述:
软件RAID的实现:


本地虚拟机测试【*】:

目前只有1块磁盘设备sda

aliya 磁盘 虚拟化 虚拟磁盘阵列_html

加2块磁盘设备(sdb和sdc)

aliya 磁盘 虚拟化 虚拟磁盘阵列_磁盘阵列_02

用 fdisk -l 查看磁盘类型
用 hexdump -C /dev/sdb -n 512 -v 查看是否活动分区
80表示活动分区,00表示非活动分区

aliya 磁盘 虚拟化 虚拟磁盘阵列_磁盘阵列_03

aliya 磁盘 虚拟化 虚拟磁盘阵列_html_04


假设sdb上有数据

***dd if=/dev/sdb of=dpt bs=1 count=64 skip=446

备份分区表(备份的数据建议大家放在别的服务器上,因为一旦当前服务器的分区表被破坏就意味着备份的数据拿不出来啦!***


***dd if=/dev/zero of=/dev/sdb bs=1 count=64 seek=446

破坏分区表信息(请谨慎操作,该步骤操作后将意味着下次重启后你的分区信息全没了)***


***dd if=dpt of=/dev/sdb bs=1 count=64 seek=446

恢复分区表(实际生产环境中可能需要你通过光盘或者U盘引导进入到救援模式操作哟~)***

sdc上同理


aliya 磁盘 虚拟化 虚拟磁盘阵列_服务器_05

如图,sdb,sdc上没有数据

对sdb磁盘进行分区

fdisk /dev/sdb
...

aliya 磁盘 虚拟化 虚拟磁盘阵列_html_06

同样,对sdc磁盘进行分区

aliya 磁盘 虚拟化 虚拟磁盘阵列_aliya 磁盘 虚拟化_07

从而目前分区信息:

aliya 磁盘 虚拟化 虚拟磁盘阵列_服务器_08



创建RAID 0块设备实战案例

安装mdadm工具(用于创建RAID磁盘)

yum -y install mdadm

使用mdadm工具创建一个RAID0的块设备

mdadm -C -a yes /dev/md001 -l 0 -n 2 /dev/sd{b,c}1

aliya 磁盘 虚拟化 虚拟磁盘阵列_服务器_09

使用mdadm命令查看RAID设备的详细信息

aliya 磁盘 虚拟化 虚拟磁盘阵列_磁盘阵列_10

为RAID设备创建文件系统

mkfs.xfs /dev/md1

aliya 磁盘 虚拟化 虚拟磁盘阵列_磁盘阵列_11

挂载RAID设备

mkdir -pv /test/raid
UUID=ae588116-8630-489f-8d1e-94909f958b7a /test/raid xfs defaults,noatime,nodiratime 0 0 >> /etc/fstab
mount -a
df -h

测试RAID 0设备的写入速度

dd if=/dev/zero of=/test/raid/test.log bs=1M count=1024
dd if=/dev/zero of=/test/test2.log bs=1M count=1024

测试RAID 0设备的读取速度

dd if=/test/test2.log of=/dev/null

free -h
sync; echo 1 > /proc/sys/vm/drop_caches
sync; echo 2 > /proc/sys/vm/drop_caches
sync; echo 3 > /proc/sys/vm/drop_caches
free -h

dd if=/test/raid/test.log of=/dev/null

重启服务器后再次查看挂载情况(编辑"/etc/fstab"文件后,虽说可以使用"mount -a"命令使之立即生效,但生产环境务必要重启服务器进行测试哟)