欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

马哥 10_01 _Raid及mdadm命令之一 有大用

image.png


64位 ,其实是兼容32位的

/lib             32位库目录

/lib64         64位库目录


RAID

级别:仅代表磁盘组织方式不同,没有上下之分

0:条带

    性能表现:  读,写提升

    冗余能力(容错能力):无

    空间利用率: nS

    至少2块盘   

    

1:镜像

    性能表现: 写性能下降,读性能提升(可以交替读,第一个盘读第一个数据 第二盘读第二个数据)

    冗余能力(容错能力):有

    空间利用率: 1/2  

    至少2块盘    


2:

3:

4: 检验码技术是 raid4


5: 轮流作为检验盘 

    性能表现:  读,写提升

    冗余能力(容错能力):有

    空间利用率: n-1/n    (n-1)S  

     至少3块盘  


6: 校验两次,两块校验盘,最多可以坏两块盘,不过很少用


10:镜像+条带            (0+1与 1+0,一般人家企业用1+0吧,因为出错影响范围小,修复速度快)

    性能表现:  读,写提升

    冗余能力(容错能力):有

    空间利用率: 1/2   

    至少4块盘

01:条带+镜像

    性能表现:  读,写提升

    冗余能力(容错能力):有

    空间利用率: 1/2   

    至少4块盘


50:

    性能表现:  读,写提升

    冗余能力(容错能力):有

    空间利用率: n-2/n    (n-2)S  

    至少6块盘


51:也没有人用

jbod:多个小盘组合成一个大盘 JBOD(Just a Bunch Of Disks,磁盘簇)是在一个底板上安装的带有多个磁盘驱动器的存储设备。

    性能表现:  无提升

    冗余能力(容错能力):无

    空间利用率: 100%

    至少2块盘


2,3,4 基本上没人使用

最多的是 0,1,5,1+0,0+1


速度

可用性




[root@ebs-22618 ~]# vim showdisk.sh

#!/bin/bash

#

cat << EOF

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*)quit.

EOF

~


[root@ebs-22618 ~]# chmod +x showdisk.sh

[root@ebs-22618 ~]# ./showdisk.sh

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.





[root@ebs-22618 ~]# vim showdisk.sh

#!/bin/bash

#

cat << EOF

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*)quit.

EOF


read -p "Your choice:" CHOICE

case $CHOICE in

d|D)

  echo "Disk usages:"

  df -Ph;;

m|M)

  echo "Memory usage:"

  free -m | grep "Mem";;

s|S)

  echo "Swap usage:"

  free -m | grep "Swap";;

*)

  echo "Unkown.."

  exit 9;;

esac



[root@ebs-22618 ~]# ./showdisk.sh

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*)quit.

Your choice:d

Disk usages:

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        30G  3.0G   25G  11% /

tmpfs           939M  7.4M  932M   1% /dev/shm

/dev/vdb1        20G   17G  2.4G  88% /home

[root@ebs-22618 ~]#




[root@ebs-22618 ~]# vim showdisk2.sh

#!/bin/bash

#

cat << EOF

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*)quit.

EOF


read -p "Your choice:" CHOICE

while [ $CHOICE !='quit' ]; do

  case $CHOICE in

  d|D)

    echo "Disk usages:"

    df -Ph;;

  m|M)

    echo "Memory usage:"

    free -m | grep "Mem";;

  s|S)

    echo "Swap usage:"

    free -m | grep "Swap";;

  *)

    echo "Unkown.."   (最后一个分支没有比分号也没关系的)

  esac


read -p "Again, your choice:" CHOICE


done






[root@ebs-22618 ~]# man echo

-e 转义符 逃逸符   (-e     enable interpretation of backslash escapes)

-n 下一行不是新行  echo默认是输新行的 (-n   do not output the trailing newline)

ctrl键 表示为 \003

image.png



[root@ebs-22618 ~]# echo -e "\033[1mHello\033[0m,world."    (\033[1m开头 \033[0m 结尾 1m表示粗体)

Hello,world.

image.png


[root@localhost ~]# echo -e "\033[1mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[2mHello]033[0m,world"

Hello]033[0m,world

[root@localhost ~]# echo -e "\033[2mHello033[0m,world"

Hello033[0m,world

[root@localhost ~]# echo -e "\033[2mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[1mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[2mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[3mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[4mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[5mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[6mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[7mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[8mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[9mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[31mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[32mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[33mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[34mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[35mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[36mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[37mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[38mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[39mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[40mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[42mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[43mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[44mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[45mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[46mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[47mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[48mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[48mHello\033[0m,world"

[root@localhost ~]# echo -e "\033[32;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[1;32;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[4;32;41mHello\033[0m,world"

Hello,world

image.png



[root@ebs-22618 ~]# echo -e "\033[31mHello\033[0m,world."  (\033[31m开头前景色红色 \033[0m 结尾 

31m表示为,3表示前景色,1表示红色) 颜色

image.png


[root@ebs-22618 ~]# echo -e "\033[41mHello\033[0m,world."

 (\033[41m开头背景色红色 \033[0m 结尾 

41m表示为,4表示背景色,1表示红色)

image.png



[root@ebs-22618 ~]# echo -e "\033[32;41mHello\033[0m,world."  (32;41m,前景色和背景色同时表示出来

32 表示 前景绿争,,,41 表示背景红色  )

image.png


image.png


image.png

前面有1表示还加粗显示





[root@ebs-22618 ~]# vim showdisk2.sh

#!/bin/bash

#

cat << EOF

d|D) show disk usages.

m|M) show memory usages.

s|S) show swap usages.

*)quit.

EOF


echo -n -e"\033[31mYour choice: \033[0m"

#read -p "Your choice:" CHOICE

read CHOICE

while [ $CHOICE != 'quit' ]; do

  case $CHOICE in

  d|D)

    echo "Disk usages:"

    df -Ph;;

  m|M)

    echo "Memory usage:"

    free -m | grep "Mem";;

  s|S)

    echo "Swap usage:"

    free -m | grep "Swap";;

  *)

    echo "Unkown.."

  esac


read -p "Again, your choice:" CHOICE


done



[root@ebs-22618 ~]# ./showdisk2.sh

image.png

[root@localhost ~]# echo -e "\033[1;37;41mHello\033[0m,world"   (以分号隔开)

Hello,world

[root@localhost ~]# echo -e "\033[2;37;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[3;37;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[4;37;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[5;37;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[6;37;41mHello\033[0m,world"

Hello,world

[root@localhost ~]# echo -e "\033[7;37;41mHello\033[0m,world"

Hello,world

[root@localhost ~]#

image.png

7是把前景和背景反过来显示了 反向显示




image.png


image.png

image.png



image.png


驱动程序一般是由硬件厂商提供的 (否则则是公版驱动,性能没有硬件厂商

自己提供的驱动能力强)

驱动程序是一个程序,也是在内核当中工作的


image.png


独立设备(非集成的)叫适配器,

在主板上(集成的 比如集成网卡)的叫控制器

image.png




image.png


ide是并行的

sata口是串行的

下图应该错了

IDE是并行的,SATA是串行的,在相同的时钟周期下,并行的传输速率要比串行的快的多。但是并行线之间信号容易相互干扰,所以时钟频率无法做到很高,但是串行时例如USB采用差分放大,减少干扰,可以将时钟频率做到很高,所以现在使用SATA可以达到更快的速度

image.png


MB,Mb

IDE:133Mbps 兆

SATA: 300Mbps(sata1),600Mbps(sata2),6Gbps(sata3)

USB:(2.0) ,480Mbps(3.0)

SCSI: Small Compouter System Interface 每秒钟完成的事务比上面的快一倍左右

image.png


SCSI 转速快 ,早期用在工业上

10000 转,15000转,大多数是 SCSI接口的.每秒钟完成的事务 比IDE,SATA,USB快一倍左右


image.png


image.png




image.png


image.png


image.png


image.png



image.png

image.png


image.png


image.png


image.png


image.png


image.png



image.png


image.png

image.png


image.png



image.png

先做条带 后做镜像

image.png

0+1时,假如一个磁盘坏了,涉及到所有磁盘的复制



image.png


image.png

1+0时,假如一个磁盘坏了,只涉及到它旁边磁盘的复制



0+1时,不同组的两个磁盘挂了,就全部挂了

image.png


1+0时,只有同一组磁盘挂了,才会全部挂掉

image.png



应用上来讲 1+0 是好于 0+1的




image.png


轮换作为检验码盘

image.png




image.png



image.png


image.png

image.png


普通的 JBOD 应该是 无备份的 (利用率100%)

但是 Hadoop 

            HDFS 是软件实现的,应该是有软件备份的,损坏了一块盘,是可以恢复的吧 (文件系统级别上提供数据冗余的)

            分布式文件系统,自身可以保存一块数据库副本的,不依赖于硬件,不需要用到 RAID ,对单个大文件处理性能好




























普通分类: