2018.8.11 第八次课及预习

扩展知识:RAID知识

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

        磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

        磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

优点

  •        提高传输速率。
  •        通过数据校验提供容错功能。

缺点

RAID0没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID1磁盘的利用率最高只能达到50%(使用两块盘的情况下),是所有RAID级别中最低的。

RAID0+1可以理解为是RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,但保障程度要比 Mirror低而磁盘空间利用率要比Mirror高。

RAID级别

1RAID 0

RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。

2018.8.11 第八次课及预习_第1张图片

RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。

2、RAID 1

2018.8.11 第八次课及预习_第2张图片

ID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。

RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

3RAID0+1

2018.8.11 第八次课及预习_第3张图片

ID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即

在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这

种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。

4RAID 2

将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(汉明码)”的编码技术来提供错误检查及恢复。

5RAID3

2018.8.11 第八次课及预习_第4张图片

它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

6、RAID4

RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。

7RAID5

2018.8.11 第八次课及预习_第5张图片

RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

7.1 安装软件包的三种方法

  • rpm工具
  • yum工具
  • 源码包

7.2 7.3 rpm包介绍及用法

  • 设置光驱并挂载
  • rpm包格式,包名、版本号、发布版本号、平台
  • rpm -ivh rpm包文件 //安装
  • rpm -Uvh rpm包文件 //升级
  • rpm -e 包名 //卸载
  • rpm -qa //查询安装的包
  • rpm -q 包名 //查询指定包是否安装
  • rpm -qi 包名 //查询指定包信息
  • rpm -ql 包名 //列出包安装的文件
  • rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的
  1. 设置光驱并挂载 1)点击--虚拟机—设置—CD/DVD(ide)--右边设置iso映像文件路径。

2018.8.11 第八次课及预习_第6张图片

2)挂载光驱

2018.8.11 第八次课及预习_第7张图片

Tips: 每个rpm包的名称都是由-和.分成若干部分,比如abrt-2.1.11-45.el7.centos.x86_64.rpm Abrt:包名

2.1.11-45:版本号;2为主版本号,1为次版本号,11为修正版本

45-el7.centos:发布版本号

x86_64.:运行平台,64位 cpu目前分32位和64位,i386、i586、i686是32位,X86_64是64位。

64位系统可以安装32位软件,但是32位系统不能安装64为软件。

安装rpm包

  • rpm -ivh rpm包文件 //安装
  • -i:表示安装
  • -v:表示可视化
  • -h:表示显示安装进度
  • --force:表示强制安装,即使覆盖属于其他包的文件也要安装
  • --nodeps:表示当要安装的rpm包依赖于其他包时,即使其他包没有安装,也要安装这个包

2018.8.11 第八次课及预习_第8张图片

升级rpm包

  • 命令:rpm -Uvh rpm 包文件
  • -U:表示升级

卸载rpm包

  • 命令:rpm –e 包名

2018.8.11 第八次课及预习_第9张图片

查询一个包是否已经安装

  • 命令:rpm –qa 包名

2018.8.11 第八次课及预习_第10张图片

查询指定包的信息

  • 命令:rpm –qi 包名

2018.8.11 第八次课及预习_第11张图片

列出一个rpm包的安装文件

  • 命令:rpm –ql 包名

2018.8.11 第八次课及预习_第12张图片

根据一个文件的绝对路径,查看这个文件是由哪个包安装的

  • 命令:rpm –qf 绝对路径

7.4 yum工具用法

Yum比rpm工具更方便,yum工具最大的优势在于可以联网去下载所需要的的rpm包,然后自动安装,安装所有相关的rpm包,解决依赖关系。

  • yum list //列出可用rpm包
  • ls /etc/yum.repos.d/
  • yum search vim //搜索包
  • yum install [-y]
  • yum grouplist
  • yum groupinstall [-y]
  • yum remove [-y]
  • yum update [-y]
  • yum provides “/*/vim”

列出所有可用的rpm包

  • 命令:yum list

2018.8.11 第八次课及预习_第13张图片

左边是包名,中间是版本信息,右边是仓库名,仓库这边显示@base、@anaconda表示已经安装。如果未安装这显示base或者anaconda,如果是updates表示已安装但是需要升级。

yum的配置文件:/etc/yum.repos.d/Centos-Base.repo 里面可以配置仓库名,yum源地址

[base] //仓库名 name=CentOS-$releasever – Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra //yum源地址。 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

搜索rpm包

  • 命令:yum search 包名

2018.8.11 第八次课及预习_第14张图片

  • 或者:yum list |grep vim

2018.8.11 第八次课及预习_第15张图片

安装rpm包

  • 命令:yum install –y 包名

2018.8.11 第八次课及预习_第16张图片

卸载rpm包

2018.8.11 第八次课及预习_第17张图片

列出套件

2018.8.11 第八次课及预习_第18张图片

  • LANG=en 切换英文

安装套件

  • 命令:yum groupinstall –y 套件名

升级rpm包

  • 命令:yum update –y 包名 注意:如果不加包名,会把系统所有的包包括系统本身升级。

搜索一个命令是那个包安装的

  • 命令:yum provides "/*/tree"
  • 或者:rpm -qf /usr/bin/tree

7.5 yum搭建本地仓库

  • 挂载镜像到/mnt目录

  • cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
  • rm -f /etc/yum.repos.d/*
  • vim /etc/yum.repos.d/dvd.repo //内容如下

[dvd] //仓库名字

name=install dvd

baseurl=file:///mnt //本地源地址

enable=1 //本地是否可用,1可用,0不可以

gpgcheck=0 //是否检测,1检测,0不检测

  • yum clean all //清除缓存
  • yum list

2018.8.11 第八次课及预习_第19张图片

7.6 yum更换国内源

  • cd /etc/yum.repos.d/
  • rm -f dvd.repo
  • wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 或者
  • curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
  • yum list

删除之前我们设置的本地源dvd.repo

将之前备份的文件拷贝到yum.repos下

2018.8.11 第八次课及预习_第20张图片

CentOS-Base.repo 这个配置文件就是我们要设置的网络源,先将它备份一下。

下载一个163的yum源,因为之前将CentOS-Base.repo重命名了,使用wget下载需要安装wget包,但是我们这个时候yum是没办法安装wget包的,所以可以curl –O 来下载:

2018.8.11 第八次课及预习_第21张图片

编辑看下配置文件

2018.8.11 第八次课及预习_第22张图片

清理之前本地yum缓存

2018.8.11 第八次课及预习_第23张图片

安装zsh包

2018.8.11 第八次课及预习_第24张图片

yum list //生成yum缓存

安装扩展源epel

  • yum install -y epel-release
  • yum list |grep epel

2018.8.11 第八次课及预习_第25张图片

7.7 yum下载rpm包

  • yum install -y 包名 --downloadonly
  • ls /var/cache/yum/x86_64/7/
  • yum install -y 包名 --downloadonly --downloaddir=路径
  • yum reinstall -y 包名 --downloadonly --downloaddir=路径

有时候我们需要下载rpm包,而仅仅是复制给其他机器使用,yum工具安装rpm包时,首先下载这个rpm包,然后再去安装,所以我们可以做到只下载而不安装。

1. 下载rpm包而不安装的命令如下:# yum install -y 2ping.noarch --downloadonly

2018.8.11 第八次课及预习_第26张图片

注:yum默认下载到/var/cache/yum/x86_64/7/XXX/packages/ 下面;这里的XXX指的是base,updates,epel等,它跟yum list最右侧的字符串一致。

2. 下载到指定的目录下:--downloaddir=目录

2018.8.11 第八次课及预习_第27张图片

2018.8.11 第八次课及预习_第28张图片

2018.8.11 第八次课及预习_第29张图片

3. 如果就是想下载已经安装过过的RPM包,使用命令reinstall

2018.8.11 第八次课及预习_第30张图片

7.8/7.9 源码包安装

  • cd /usr/local/src/
  • wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz
  • tar zxvf httpd-2.2.32.tar.gz
  • cd httpd-2.2.32
  • ./configure --prefix=/usr/local/apache2
  • make
  • make install
  • 卸载就是删除安装的文件

解包后,我们开始安装前要查看 INSTALL ;REDME 两个安装指导文件,查看怎么安装, 安装源码包通常有3个步骤:

./configure //这一步可以定制功能,./configure --prefix=/usr/local/apache2 定义安装目录

make //编译成电脑识别的二进制文件

make install //用于创建相关软件的存放目录和配置文件

下载源码包

2018.8.11 第八次课及预习_第31张图片

解包

2018.8.11 第八次课及预习_第32张图片

1 ./configure --prefix=/usr/local/apache2

2018.8.11 第八次课及预习_第33张图片

  • 验证是否成功命令:echo $?,返回值0,说明没有问题。

2 进行编译:make

  • 执行完后可以echo $? ,0表示正常

3 安装:make install

  • 执行完后可以echo $? ,0表示正常

扩展

1. 配置yum源优先级  http://ask.apelearn.com/question/7168

2. 把源码包打包成rpm包   http://www.linuxidc.com/Linux/2012-09/70096.htm

你可能感兴趣的:(2018.8.11 第八次课及预习)