• 用虚拟机进行RAID的练习——【无冥冥之志者,无昭昭之明;无惛惛之事者,无赫赫之功。】


    内容:


    前提知识点:


    磁盘阵列的实现方式:

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

    外接式磁盘阵列:
        通过扩展卡提供适配能力。
        外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(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
    
    推荐阅读:
        https://www.cnblogs.com/yinzhengjie/p/12355151.html
        https://www.cnblogs.com/yinzhengjie/p/12359248.html
        https://www.cnblogs.com/yinzhengjie/p/12359770.html
    

    RAID常见级别与JBOD概述:

    https://www.cnblogs.com/yinzhengjie/p/12953680.html
    

    软件RAID的实现:

    https://www.cnblogs.com/yinzhengjie/p/12995834.html
    


    本地虚拟机测试【*】:

    目前只有1块磁盘设备sda

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

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


    假设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上同理


    如图,sdb,sdc上没有数据

    对sdb磁盘进行分区

    fdisk /dev/sdb
    ...

    同样,对sdc磁盘进行分区

    从而目前分区信息:



    创建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

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

    为RAID设备创建文件系统

    mkfs.xfs /dev/md1

    挂载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"命令使之立即生效,但生产环境务必要重启服务器进行测试哟)

  • 相关阅读:
    spark发现新词
    树的算法总结
    机器学习树的算法总结
    Spark Streaming实例
    ubuntu上通用解压方式
    论MYSQL数据库数据错误的处理
    macOS Sierra上Opencv的安装与使用
    phpstudy2016 redis扩展 windows
    细说PHP7
    正则表达式与.htaccess的配置
  • 原文地址:https://www.cnblogs.com/yachengmuCC/p/16413710.html
Copyright © 2020-2023  润新知