Unit Goal

1. 了解Clusters分类;

2. 根据项目情况选择不同种类的Cluster;

3. 熟悉课程实验环境

Unit Sections

1. Cluster的定义

2. 存储设备

3. 红帽存储架构

4. 熟悉课程实验环境

Hands-On Activities

None

Unit Test

配置你的实验环境

What is a Cluster

所谓的Cluster指的是计算机群(多台计算机)共同服务于同一个任务;根据对Cluster的需求不同,将Cluster分为以下三类 :

1> 负载均衡集群(load-balanling):Cluster中的所有节点执行同一个进程,来自客户端的请求将被随机的分配到某个节点之中。例如Web服务,为了保证Web访问的低延迟,使用多台计算机同时相应客户端的Web访问。而且Load-balanling不但对此Web服务有加强整个应用性能的效果,还附带一些冗余效果,当其中一台节点宕机的情况下,其他节点仍然可以正常运行。而来自客户端请求是否会继续派送到这台出问题的节点,需要负载均衡硬件或者负载均衡软件进行调配。

2. 计算机集群(computer cluster):HPC(High Performance Computing)高性能计算。Computer Cluster是真正的将计算集群中的每个节点的性能累计当做一台大型机来使用。其原理是将集群收到的任务分为几个大块,根据算法分发给不同的节点进行处理再做统一的返回,从而形成同一个任务拥有大量的系统资源使用。这种集群往往应用于大型的科学计算之中。

3. 高可用集群(HA cluster,failover cluster):高可用集群用于保证服务的可靠性,也被称为故障转移Cluster。从另一方面讲高可用集群为当前运行的服务添加了一台或多台冗余设备。HA与load-balanling相似,有时候也被归为一类,区别是load-balanling更好的利用了系统资源,而HA的Passtive(备用)设备只有当运行(Acvive)设备宕机了之后才会启用。

大部分开发公司所产品承载在client端或者web端,使用tomcat,Webphere 作为中间件,使用负载均衡集群;如果单node的模式可以承载业务,也可以使用高可用cluster;只有需要大量计算时,例如科学研究等方面,会用到计算机集群。

When to use HA Clustering

在选择cluster类型的时候,先确定自己的需求,需要高性能,failover,还是负载均衡。某些service不需要集群的支持,例如 dns ldap,因为使用主备的环境,在client端直接配置多个服务器也可以达到HA的效果;

例如nfs samba这样的服务没有内置的故障转移功能,则需要使用HA cluster。

what is a Cluster?

Please answer the following questions:

1. The major goal of a compute cluster is (C)

a. To equally distribute load between nodes

b. To keep services as available as can be

c. To perform large amounts of calculations

2. The major goal of a load balancing cluster is (A)

a. To equall distribute load between nodes

b. To keep services as available as can be

c. To perform large amounts of calculations

3. The major goal of a high availability cluster is (B)

a. To equally distribute load between nodes

b. To keep services as available as can be

c. To perform large amounts of calculations

4. Which of these service would be a candidate for inclusion in a HA cluster? (B,C)

a. DNS

b. NFS

C. FTP

D. Kerberos KDC

Storage Technologies

Different Types of Data

如果你仔细观察,可以将数据类型分为以下几类:

1. System Data versus User Data 系统数据 vs 用户数据

2. Static Data versus Dynamic Data 静态数据 vs 动态数据

3. Current Data versus Archived Data 近期数据 vs 归档数据

4. Easy-To-Replace Data versus Hard-To-Replace Data 容易移动替换的数据 vs 难以移动替换的数据

5. Often Accessed Data versus Hard-To-Replace Data 经常访问的数据 vs 不经常访问的数据

6. System Specific Data versus Common Data 系统特殊数据 vs 普通数据

7. etc 配置数据

分析你的数据类型,从而通过分析结果选择合适的Storage Technologies。For example,现在有几百后者几千G的archived Data,内容基本上都是用户的历史数据,这些数据一年可能就被访问1,2次。并且在访问之前你有充分的时间做准备,访问可预知。那可以选择magnetic tape(磁带)或者a slower filer,这样做的意义要大于将这些Data 放入state-of-the-art,high throughput,low latency SSD。

另一个例子,你有一个database,访问量很大,每秒都有成千上万的交易记录,那么你需要使用raid array,需要使用 fast disks,而不能将data放在a single old ATA hard drive。

Storage Technologies

现在有很多类型的storage technologies可选择,有些速度比较快,有些则更可靠,安全或者便宜,有些目前流行或者已经被淘汰的:

% Paper 纸

% Flash-based storage 基于闪存式的

USB sticks

Flash card: compactFlash(CF),secure Digital(SD),etc

CF卡(Compact Flash)是1994年由SanDisk最先推出的。CF卡具有PCMCIA-ATA功能,并与之兼容;CF卡重量只有14g,仅纸板火柴般大小(43mm x 36m x m3.3mm),是一种固态产品

Secure Digital通常缩写为SD,作为一种记忆卡,全名应该是Secure Digital Memory Card,中文翻译为安全数码卡或直接称为SD卡,是一种记忆卡的标准

Solid-state drives(SSD) 固态硬盘

% Magnetic Tape 磁带

9-track reel tapes

DDS (Digital Data Storage on DAT)

DLT (DIgital Linear Tape)

LTO (Linear Tape-Open)

% Rotating Magnetic Platters 旋转磁盘

Hard disks (using various interconnects)

% Optical Storage 光驱

CD-ROM ,CD –R , CD-RW

DVD-ROM,DVD-R(W),DVD+R(W)

Blu-Ray discs:BD-ROM,BD-R,DB-RE 蓝光磁盘

当将数据承载介质连接cpmputer时,有多个选项,包括物理连接,使用的协议和存储硬件。实质上,这些特性大多都是绑定在一起的。某一介质所使用的协议和存储硬件连接方式都是固定的。

有很多种区分存储的方法,首先我们可以将存储区分为 Direct Attached Storage (开放式系统直连式存储)简称DAS,和Shared Storage。DAS上的块直连到computer上,所以DAS只能连接一台computer。常见的DAS如SCSI,IDE/ATA,SATA和SAS。这些DAS设备的最大吞吐量有很大的差异,for example:SAS drive的最大吞吐量要高于SATA设备。

当storage是用来连接cluster的时候,往往需要shared storage;Shared Storage可以分为两种:Network Attached Storage(NAS) (网络附属存储)和Storage Area Network(SAN),两种storage最大的区别是访问data的方式,NAS使用network来访问(例如 NFS or CIFS),而SAN是storage和client建立area network。

访问SAN有多种方式,一些SAN使用Fibre Channel(光纤通道),使用Host Bus Adapters(HBA 主机总线适配器)和 Fibre switches(光纤交换机)形成光纤存储。另外一些SAN使用Ethernet network进行传输,使用iSCSI(internet SCSI)或者 FCoE(Fibre Channel over Ethernet 以太网光纤通道) 通信协议。

目前large storage arrays or filers通常一部分使用 NAS shared,一部分使用SAN驱动,还同时满足fibre channel based access,像iSCSI 和 FCoE。

Fibre Channel

Fibre Channel可以使用线速来进行分类,分为1Gbps to 16Gbps,20Gbps已经正在发展之中。Fibre Channel设备的价格要比Ethernet设备昂贵的多,通常Fibre Channel设备用于实现低延迟和高吞吐量的需求。

连接Fibre Channel设备有3种模式:

Point-to-point:使用fibre optic cable(光缆)(or through a Fibre Switch)将两台Devices直连。

Arbitrated Loop(仲裁环路):光纤信道网的基本配置模式,形成一个环路,网络数据包从一个设备传输到令一个设备直到到达目的地,这种配置比较简单但是单节点的故障会造成整个环路瘫痪。

Switched Fabric(交换结构):这种架构需要Fibre Switch。就如同Ethernet switch一样,Switch连接两个不同的设备进行packets的传输,这种结构非常高效。Switched Fabric只有这种方式,它允许不同的速率的设备连接Fibre Switch,也可以配置规则限制每个设备之前的通信。

iSCSI and FCoE

iSCSI 和 FCoE 是最近比较流行的协议,都是使用 normal Ethernet based IP networks 进行通信, 通常使用它们来替代Fibre Channel,因为它们是低成本实现高吞吐量(跟fibre channel还是有一些差距)。

使用iSCSI或者FCoE时,通常配置一个独立的存储网络,采用巨型帧和硬件流控制。来应对大规模,大数据背景下的设备之前的通信。这些不仅仅是一个packet level(VLANs),还基于physical level之上(switches,NICs 网卡)

使用iSCSI比FC更有优势的一点就是使用iSCSI不用太过于考虑基础设备之前的地理位置,不用付出昂贵的光缆线连接,只要让基础设备连入fast network即可。

Storage Technologies

1. The most flexible Fibre Channel topology is (B)

a. Point-to-Point

b. Switched Fabric

c. Arbitrated Loop

2. iSCSI tends to be faster than Fibre Channel (B)

a. True

b. False

3. Fibre Channel over Ethernet (FCoE) is normally cheaper than regular Fibre Channel (A)

a. True

b. False

4. Which of the following components do you need for a Switched Fabric Fibre Channel topology? (A,B,D)

a. Fibre optic cables

b. HBAs(Host Bus Adapters)

c. Ethernet Switch

d. Fibre Switch

e. 802.1Q VLAN Tagging

The Red Hat Storage Model

The Virtual File System

当application访问linux系统中的file时,会发出一个系统呼叫,通常使用的是标准的C library(libc.so)

这种系统呼叫由系统内核进行处理,转入Virtual File System(VFS),在VFS层经过不同的方式形成处理文件。

VFS的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。

VFS在形成不同的hadling file,在内哼将它转发到适当的device driver进行处理。

从device driver出来后就直接请求底层storage了,可以是直接的块设备,也可能是LVM,iSCSI,fibre channel。

Application—— VFS —— Device Driver —— Volume;

The Virtual File System and Network File System

Application——LibC——System Call——VFS——ext4——Block I/O

Application——LibC——System Call——VFS——xfs——Block I/O

Application——LibC——System Call——VFS——NFS——Network

Application——LibC——System Call——VFS——CIFS——Network

根据上面的图片,可以看到 Virtual File System 和 Network File System 的区别;VFS通过device dirver将相关数据发送到不同的物理戒指,而Network File System通过网络协议进行相关数据的读写,例如NFS,CIFS。Block-I/O 到 ext4,xfs 的部分就像fibre channel drivers, 而 NFS,CIFS到network 就如 iSCSI和FCoE。

The Virtual File System

1. Normally all file system access is routed through the Virtual File System layer in the kernel. (A)

a. True

b. False

2. The Virtual File System layer in the Linux kernel is bypassed for network based file system such as NFS and CIFS (B)

a. True

b. False

3. File systems like ext4 and xfs must always be kept on local storage, since the Linux kernel block I/O layer can not handle network based protocols such’ as iSCSI and FCoE. (B)

a. True

b. False

Unit Summary

what is a Cluster?

了解clusters的分类

识别cluster组件

Storage Technologies

识别不同的文件类型

了解SAN和NAS的区别

识别不同的存储设备

The Red Hat Storage Model

理解linux系统如何访问storage