欢迎各位兄弟 发布技术文章
这里的技术是共享的
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
[root@ebs-22618 ~]# echo -e "\033[1mHello\033[0m,world." (\033[1m开头 \033[0m 结尾 1m表示粗体)
Hello,world.
[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
[root@ebs-22618 ~]# echo -e "\033[31mHello\033[0m,world." (\033[31m开头前景色红色 \033[0m 结尾
31m表示为,3表示前景色,1表示红色) 颜色
[root@ebs-22618 ~]# echo -e "\033[41mHello\033[0m,world."
(\033[41m开头背景色红色 \033[0m 结尾
41m表示为,4表示背景色,1表示红色)
[root@ebs-22618 ~]# echo -e "\033[32;41mHello\033[0m,world." (32;41m,前景色和背景色同时表示出来
32 表示 前景绿争,,,41 表示背景红色 )
前面有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
[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 ~]#
7是把前景和背景反过来显示了 反向显示
驱动程序一般是由硬件厂商提供的 (否则则是公版驱动,性能没有硬件厂商
自己提供的驱动能力强)
驱动程序是一个程序,也是在内核当中工作的
独立设备(非集成的)叫适配器,
在主板上(集成的 比如集成网卡)的叫控制器
ide是并行的
sata口是串行的
下图应该错了
IDE是并行的,SATA是串行的,在相同的时钟周期下,并行的传输速率要比串行的快的多。但是并行线之间信号容易相互干扰,所以时钟频率无法做到很高,但是串行时例如USB采用差分放大,减少干扰,可以将时钟频率做到很高,所以现在使用SATA可以达到更快的速度
MB,Mb
IDE:133Mbps 兆
SATA: 300Mbps(sata1),600Mbps(sata2),6Gbps(sata3)
USB:(2.0) ,480Mbps(3.0)
SCSI: Small Compouter System Interface 每秒钟完成的事务比上面的快一倍左右
SCSI 转速快 ,早期用在工业上
10000 转,15000转,大多数是 SCSI接口的.每秒钟完成的事务 比IDE,SATA,USB快一倍左右
先做条带 后做镜像
0+1时,假如一个磁盘坏了,涉及到所有磁盘的复制
1+0时,假如一个磁盘坏了,只涉及到它旁边磁盘的复制
0+1时,不同组的两个磁盘挂了,就全部挂了
1+0时,只有同一组磁盘挂了,才会全部挂掉
应用上来讲 1+0 是好于 0+1的
轮换作为检验码盘
普通的 JBOD 应该是 无备份的 (利用率100%)
但是 Hadoop
HDFS 是软件实现的,应该是有软件备份的,损坏了一块盘,是可以恢复的吧 (文件系统级别上提供数据冗余的)
分布式文件系统,自身可以保存一块数据库副本的,不依赖于硬件,不需要用到 RAID ,对单个大文件处理性能好