用于在shell中打印shell变量的值,或者直接输出指定的字符串
-e:激活转义字符。 使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同; \\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
用echo命令打印带有色彩的文字:
文字色
echo -e "\e[1;31mThis is red text\e[0m"
\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回,即颜色结束符
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
背景色
echo -e "\e[1;42mGreed Background\e[0m"
颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
文字闪动
echo -e "\033[37;31;5mMySQL Server Stop...\033[39;49;0m"
红色数字处还有其他数字参数:0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐
库
64位兼容32
/lib
/lib64
进程需要读写文件时,发起系统调用,将工作交给内核,内核在CPU上通过控制总线,
将文件读入内存,之后将工作归还给进程
驱动:将CPU发出的逻辑指令转换为对应设备自身的控制机制
例如连接硬盘的接口,就是一种控制器,也叫做转换器,将CPU的数据信号转换为连接设备的线路所识别的信号
一般集成到主板上
通常内置于可插入主板上插槽的卡中(也有外置的)...卡中的适配信息与处理器和适配器支持的设备间进行交换
双发都遵守的理解某种信号的的法则
IDE:并行 理论值 133Mbps
SATA:串行 理论值 SATA1 300Mbps SATA2 600Mbps SATA3 6Gbps
USB:USB3.0 480Mbps
SCSI:Small Computer System Interface 工业级 10000转,150000转
将一个控制器接口分为多个接口,每个接口都能连接一块硬盘,这些硬盘
逻辑的组合成一个设备供计算机使用
RAID 独立硬盘冗余阵列 redundant Array of Independent Disks
条带化:一种自动的将I/O 的负载均衡到多个物理磁盘上的技术,将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去
级别仅表示磁盘的组织方式不同,没有高低之分
0:条带
1:镜像
2
3
4:校验码
5
数据的可用性
磁盘镜像技术,mirror
校验码
速度
RAID0
性能提升:读写
冗余\(容错\)能力:无
空间利用率:nS
至少2块
RAID1
性能表现:写性能下降,读性能上升
冗余能力:有
空间利用率:1/2
至少2块
RAID01
性能表现:读写提升
冗余能力:有
空间利用率:1/2
至少4块
RAID10
性能表现:读写提升
冗余能力:有
空间利用率:1/2
至少4块
RAID2:
RAID3:
RAID4:校验码盘的访问比较频繁时,校验码盘很容易成为瓶颈
RAID5:所有的磁盘轮流分当作校验盘
性能表现:读写提升
冗余能力:有
空间利用率:\(n-1\)/n
至少3块
RAID50
性能表现:读写提升
冗余能力:有
空间利用率:\(n-2\)/n
至少6块
JBOD:just a bunch of disks 简单磁盘捆绑
为了实现将多个小盘逻辑成大盘,不着眼于速度与数据的安全
只是着眼于容量
性能表现:无提升
冗余能力:无
空间利用率:100%
至少2块
HDFS:分布式文件系统
Raid组合多块盘
SATA
SAS
SCSI
SCSI:8个接口 7个target(存储目标),1个被适配器占用
16接口 15个target 1个被适配器占用
被适配器占用的接口称为initator
工业级,每个target再接N块磁盘
每块磁盘都有LUN:Logical Unit Number(逻辑单元号码),用于确定存储数据的磁盘的位置
硬件Raid与软件Raid
简单来说就是全部通过用硬件来实现RAID功能的就是硬RAID,比如:各种RAID卡,还有主板集成能够做的RAID都是硬RAID。
所以硬 RAID 就是用专门的RAID控制器(RAID 卡)将硬盘和电脑连接起来,RAID控制器负责将所有的RAID成员磁盘配置成一个虚拟的RAID磁盘卷。
对于操作系统而言,他只能识别到由RAID控制器配置后的虚拟磁盘,而无法识别到组成RAID的各个成员盘
硬RAID全面具备了自己的RAID控制/处理与I/O处理芯片,甚至还有阵列缓冲(Array Buffer),对CPU的占用率以及整体性能中最有优势。
需要在BIOS中对Raid芯或者Raid卡条进行配置
/dev/md#
通过用操作系统来完成RAID功能的就是软RAID,比如:在Linux操作系统下,用3块硬盘做RAID5。
也就是不使用RAID控制器(业界称其为RAID 协处理器―RAID Co-Processor )与I/O芯片,直接通过软件层实现的RAID,
所有功能都是操作系统(OS)与CPU来完成,可想而知这是效率最低的一种RAID。
与硬RAID不同的是,软RAID的各个成员盘对于操作系统来说是可见的,但操作系统并不把各个成员盘呈现给用户,而只是把通
过软件层配置好的虚拟RAID卷呈现给用户,使用户可以像使用一个普通磁盘一样使用RAID卷。
内核中拥有md模块(多磁盘模块),模拟出Raid,以md命名,存储数据时,通过内核
将数据存储在多块磁盘上,实现Raid
将任何块设备做成Raid
模式化命令:
`创建模式
`
-C
专用选项
-l:级别
-n #:设备个数
-a (yes|no):是否自动为其创建设备文件
-c:置顶数据块大小,即CHUNK大小,2^n,默认64K
-x #:指定空闲盘个数
管理模式
--add,--remove,--fail(模拟损坏)
madm /devmd1 -f /dev/sda7 模拟损坏
监控模式
-F
增长模式
-G
装配模式
-A
查看Raid阵列的详细信息
mdadm -D /dev/md#
--detail
停止阵列
mdadm -S /dev/md#
--stop
例子
mdadm -C /dev/md1 -a yes -n 2 -l 1 /dev/sda7 /dev/sda8
周期性地执行指定的命令,并以全屏的方式显示结果
-n #:指定周期长度,单位s,默认为2
格式:
watch -n # 'COMMAND'
将当前RAID信息保存至配置文件,以便以后装配
mdadm -D --scan > /etc/mdadm.conf
STRIPE=CHUNK/BLOCK
软raid在运行时,会自动计算CHUNK的大小,在创建软RAID的时候,使用mke2fs -E stripe=# 来设置条带大小