鸟哥的 Linux 私房菜 -- 浅谈备份策略

Linux学习:

Linux 学习_虚拟化

第一部分:Linux的规划与安装

计算机概论:

CPU为一个具有特定功能的芯片;CPU内又可分为两个主要的单元:算数逻辑单元与控制单元。

输入单元把数据传输到主内存,CPU读取主内存的数据,处理完放回主内存,再到输出单元。

计算机五大组成部分:输入单元、输出单元、CPU内部的控制单元、算数逻辑单元与主内存。

目前常见的CPU种类:精简指令集与复杂指令集;

  • 精简指令集:ARM等;
  • 复杂指令集:AMD、Intel、VIA等的x86架构的CPU;

Linux简介:

linux可以在x86的架构下运作,也可以被移植到其他的大型主机上面。 由于开发的相关理念与兼容的问题,因此,我们也可以称Linux为Unix Like操作系统的一种。

优点:稳定、安全、免费、多使用者、使用者与群组的规划;

缺点:没有特定支持厂商、游戏支持度不足、专业软件支持度不足(一些绘图软件)。

主机规划与磁盘分区:

分割;保护磁盘数据

man page:

例如:man date

可以查看系统对于date的解释;

在man page、还有vim中的文本查找的一些指令:

Linux 学习_Shell_02

文本编辑器:nano

第二部分:Linux文件、目录与磁盘格式

第三部分:学习Shell与Shell Scripts

认识BASH这个Shell:

当输入一个命令之后,硬件才会透过你下达的命令来工作,硬件通过kernel(内核)的控制工作,我们需要shell将我们输入的命令与Kernel沟通,好让kernel可以控制硬件来准确无误的工作。

一些功能都是通过shell完成的,比如tab补齐功能;关于指令也可以两次tab,看以这个指令开头其他指令。

Shell的变量功能:

命名别名与命名历史:

  1. alias指令:可以看指令的其他别名
  1. 查询我们曾经下达过的命令: history
  2. histsory 要输入的字符太多太麻烦,可以使用命令别名来配置

Linux 学习_服务器_03

这样就可以用h指令来代替

  1. 上一条指令除了向上箭头还可以用!!

认识与学习BASH:

Bash Shell操作环境

第四部分:Linux使用者管理

第五部分:Linux系统管理员

认识服务系统(daemon)

系统为了某些功能必须要提供一些服务 (不论是系统本身还是网络方面),这个服务就称为 service 。 但是 service 的提供总是需要程序的运行吧!所以达成这个 service 的程序我们就称呼他为 daemon。

daemon分类

根据daemon的启动与管理方式来分:

  • 可以独立启动的stand alone;优点:相应速度快
  • 透过一支super daemon来统一管理的服务;优点:减少资源的浪费

根据daemon提供服务的工作状态来区分:

  • signal-control:透过讯号来管理的;
  • interval-control:每隔一段时间就会主动的去运行某项工作;

第六部分:其他文章

并行与并发:

并行(同一时刻):多道程序写,多个程序同一时刻可在不同CPU上同时执行;

并发(同一时间间隔):同一个CPU上同时运行多个程序。(宏观上,多个几乎同时到达的请求同时再被处理。如果是同一时刻到达的请求也会根据优先级的不同,先后进入队列排队等待执行。微观上他们都是序列被处理的,只不过资源不会在某一个上阻塞(一般是通过时间片轮转))。

高并发:是使用技术手段使得系统可以并行处理很多请求。高并发意味着单位时间内系统处理能处理的请求数很高,也就是说系统能够承载的HTTP请求很多,那就要求高并发,就要从HTTP请求层面开始。

虚拟化:

虚拟化概述:

概念:

虚拟化技术将一台计算机虚拟成多台逻辑计算机(对计算机物理资源的抽象,实现资源的模拟、隔离和共享)。

解决的问题:

(1)资源充分利用

(2)缩短交付时间

本质:

分区:在整个物理服务器上运行多个虚拟机;

隔离:在同一服务器上的虚拟机相互隔离;

封装:整个虚拟机都保存在文件中,可以通过移动文件的方式迁移;

相对硬件独立:无需修改任何服务上运行的虚拟机;

分类:

(1)基于平台的平台虚拟化

如果把x86平台的CPU、内存和外设作为资源、那对应的虚拟化技术就是平台虚拟化,在同一个x86平台上,可以虚拟多个x86平台,每个平台可以运行自己独立完整的操作系统。

(不提供操作系统、只提供操作系统运行的环境,不过可以实现系统的快速安装、迁移)

(2)基于操作系统的操作系统虚拟化

如果把操作系统及其提供的系统调用作为资源,那虚拟化就表现为操作系统虚拟化。 例如Linux容器虚拟化技术就是在同一个Linux操作系统之上,虚拟出多个同样的操作系统,每个应用程序认为自己运行在一个独立的OS。 lxc(Linux容器技术)、dockers。

虚拟化管理程序Hypervisor(VMM):

一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,也称VMM(Virtual Machine Monitor),即虚拟机监视器。

hypervisor是一种在虚拟环境中的“元”操作系统。它们可以访问服务器上包括磁盘和内存在内的所有物理设备。hypervisor不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行hypervisor时,它会加载所有虚拟机客户端的操作系统,同时会分配给每一台虚拟机适量的内存、CPU、网络和磁盘。

虚拟化原理:

服务器虚拟化的的目的是改善资源的利用率。服务器虚拟化的实现依赖于处理器虚拟化、内存虚拟化和IO设备虚拟化等硬件资源虚拟化技术。

虚拟化让许多程序运行(从而共享CPU),让许多程序都可以同时访问自己的指令和数据(从而共享内存),让许多程序访问设备(从而共享磁盘等),所以操作系统有时被称为资源管理器。每个CPU、内存和磁盘都是系统的资源。