




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、邵阳学院毕业设计(论文)毕业设计(论文)课 题 名 称基于云存储的网络硬盘管理软件的设计与实现 学 生 姓 名 xxxx 学 号 0941301066 系、年级专业 信息工程系、09网络工程 指 导 教 师 xxxx 职 称 副教授 2013年05月10日- II -摘要云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 网络硬盘是一些网络公司推出的在线存储服务。向用户提供文件的存储、访问、备份、共享等文件管理功能。在传统的网络硬盘技
2、术中,传输速度慢、冗余备份及恢复能力低、安全性差、营运成本高等瓶颈已经制约了它的发展。本文研究的基于云存储的网络硬盘通过分布式文件系统的运用能提高传输速度,降低营运成本,是网络硬盘发展的重要方向。 分布式文件系统的实现是云存储的关键。随着 NAS,SAN 和 IP 存储等新的存储技术的出现,存储设备的管理变得困难,此外,新的应用需求如灾难恢复、快照和远程镜像等不断产生,虚拟存储技术正是这些问题的一个解决方案。虚拟存储技术能够提高存储效率,降低存储投资的费用,简化存储管理的复杂性,降低存储管理和营运成本。 如何在 Linux 下实现对称的虚拟存储是本文的重点。经过研究,本文首先通过 iSCSI
3、协议把存储设备映射为本地 SCSI 设备,再用逻辑卷管理(LVM)对存储设备进行动态管理,根据需要虚拟存储设备,然后再通过 NFS 服务器把这些虚拟设备提供给主机的网络硬盘客户端使用。 随后,在客户端的实现中,本文使用了 ASP.NET 进行 B/S 架构的网站开发,并同时使用了微软提供的 Microsoft SQL Server 2008 作为数据库。客户端拥有网络硬盘最基本的功能包括新建文件夹,上传文件,下载文件及搜索文件等。 最后,经过测试,服务器端和客户端都能很好运作,本文的目标圆满完成。 关键词:云存储;网络硬盘管理;虚拟存储 IABSTRACT Cloud storage is a
4、 new technology based on cloud computing. Via clustering applications, grid technology and distributed file system, it uses application to make a large number of different types of storage device provide data storage service and business access. Network hard drive is a kind of online storage technol
5、ogy provided by some network companies. It provides client the service including store, access, backup and share files. In traditional network hard drive, low transmission rate, redundancy backup, lack of ability of recovery and high expanse of running have been the bottleneck of its development. Ne
6、twork hard drive based on cloud storage can increase transmission rate, lower running expanse via distributed file system. It is the future of network hard drive. Distributed file system is the key to cloud storage. Since new storage technology like NAS, SAN and IP storage appears, the management of
7、 storage device become more and more difficult, besides, new application needs like disaster recovery, snapshot, remote mirror image require a new solution. And virtual storage is that solution which can increase the storage efficient, lower expanse of storage investment, simplify management and low
8、er running expanse. How to achieve a simple symmetrical virtual storage in Linux is the primary part of this paper. First, this paper uses iSCSI protocol to map storage device into local SCSI device; then, it makes use of logical volume manager to achieve dynamic management of storage device and vir
9、tualize device on demand; finally, is builds a NFS sever to provide these virtual device to host who is running a network hard drive client. Afterward, in the process of implement of client, this paper uses ASP.NET to develop website client based on B/S architecture. And meanwhile, Microsoft SQL Ser
10、ver 2008 is adopted as the database system in this paper. The Client has functions as well as normal network hard drive, including newing folder, uploading file, downloading file, searching file and so on. As a result, the test of both our Server and Client turns out to be good, which means that we
11、have accomplished our goal. Key Words:Cloud Storage;Network Drive Management;Virtual StorageI目录摘 要 . IAbstract. II引 言 .11相关背景 .21.1 云计算 .21.2 云存储 .21.3 网络硬盘 .21.4 分布式文件系统 .21.5 存储技术 .31.6 虚拟存储 .42需求分析 .82.1 可行性分析 .82.2 概述 .82.3 功能需求 .92.4 性能需求 .92.5 安全性需求 .93服务器端设计 . 103.1 整体功能 . 103.2 开发运行环境 . 103.
12、3 结构模型 . 103.4 服务器端功能部件介绍 .124服务器配置 .204.1 iSCSI 配置 .204.2 LVM 配置 .234.3 NFS 配置 .264.4 测试 .295网络硬盘客户端设计与实现 .335.1 整体功能 .335.2 开发运行环境 .335.3 功能结构模型 .335.4 流程图 .335.5 类图 .345.6 数据库设计 .356客户端测试 .376.1 测试 .376.2 测试结果 .39结 论 .40参 考 文 献 .41致 谢 .42引 言网络硬盘是一些网络公司推出的在线存储服务。向用户提供文件的存储、访问、备份、共享等文件管理功能,使用起来十分方便
13、。不花钱的移动硬盘。用户可以把网盘看成一个放在网络上的硬盘或 U 盘,不管你是在家中、单位或其它任何地方,只要你连接到因特网,你就可以管理、编辑网盘里的文件。不需要随身携带,更不怕丢失。 随着市场竞争的日益激烈和存储技术的不断发展,传统的技术已经显得力不从心,传输速度慢、冗余备份及恢复能力低、安全性差、营运成本高等瓶颈一直困扰着网络硬盘服务提供商。 最新应用的云计算储存技术,为网络硬盘带来了新的革命,传统的网络硬盘将逐步被云存储网络硬盘取代。云存储是构建在高速分布式存储网络上的数据中心,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储和访问的系统,适用于各大
14、中小型企业与个人用户的数据资料存储、备份、归档等一系 列需求。云存储最大优势在于将单一的存储产品转换为数据存储与服务,在这个技术下,网路硬盘行业可能像金融行业银行一样,在单一的存储服务基础衍生出更多增值的服务,只有这种改变才能使云存储迎来蓬勃发展的春天。 在现有的许多国内网络硬盘软件如华为网盘 、百度网盘 、金山快盘、 115网盘及国外网 络硬盘软件如 Dropbox, Skydrive, iCloud, Google Drive, Everynote 中,有部分网络硬盘运用了已有的 NAS,SAN 等网络技术,但是在性能和管理上越来越高的要求使得新的技术需求不断增长。本文介绍并简单实现了使用
15、虚拟存储技术的基于云存储的网络硬盘,能提高管理效率,降低营运成本,提高软件性能,是网络硬盘技术的一种理想选择。 -1-1 相关背景 1.1 云计算 云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。狭义云计算指 IT 基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是 IT 和软件、互联网
16、相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。 1.2 云存储 云存储是在云计算概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。 1.3 网络硬盘 网络硬盘是一些网络公司推出的在线存储服务。向用户提供文件的存储、访问、备份、共享等文件管理
17、功能,使用起来十分方便。不花钱的移动硬盘。用户可以把网盘看成一个放在网络上的硬盘或 U 盘,不管你是在家中、单位或其它任何地方,只要你连接到因特网,你就可以管理、编辑网盘里的文件。 1.4 分布式文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。它主要可分为网络分布式系统(NFS),Andrew 分布式系统(AFS)和分布式文件系统(DFS)。 -2-1.5 存储技术 1.5.1 传统的存储技术 在NAS,SAN等新的存储方式出现以前,存储
18、产品大多作为服务器的组成部分之一,这种形式的存储被称为SAS(Server Attached Storage,服务器连接存储)或 DAS(Direct Attached Storage,直接连接存储)。 直连式存储依赖服务器主机操作系统进行数据的 IO 读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括 CPU、系统 IO 等),数据流需要回流主机再到服务器连接着的磁带机(库),数据备份通常占用服务器主机资源 20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储的数据量越大,备份和恢复的时间就越长,对服务器硬件的依赖性
19、和影响就越大。 直连式存储与服务器主机之间的连接通道通常采用 SCSI 连接,带宽为 10MB/s、 20MB/s、40MB/s、80MB/s 等,随着服务器 CPU 的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI 通道将会成为 IO 瓶颈;服务器主机 SCSI ID 资源有限,能够建立的 SCSI 通道连接有限。 无论直连式存储还是服务器主机的扩展,从一台服务器扩展为多台服务器组成的群集(Cluster),或存储阵列容量的扩展,都会造成业务系统的停机,从而给企业带来经济损失,对于银行、电信、传媒等行业 24 小时服务的关键业务系统,这是不可接受的。并且直连式存储或
20、服务器主机的升级扩展,只能由原设备厂商提供,往往受原设备厂商限制。 1.5.2 新的存储技术 在 DAS 之后又诞生了许多新的存储技术,主要有 NAS 和 SAN。 NAS(Network Attached Storage,网络附属存储)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于 DAS(服务器存储),而效率
21、却远远高于后者。 SAN(Storage Area Network,存储区域网络)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常-3-指磁盘阵列。一个 SAN 网络由负责网络连接的通信结构、负责组织连接的管 理层、存储部件以及计算机系统构成,从而保证数据传输的安全性和力度。 典型的 SAN 是一个企业整个计算机网络资源的一部分。通常 SAN 与其它计算资源紧密集群来实现远程备份和档案存储过程。SAN 支持磁盘镜像技术、备份与恢复、档案数据的存档和检索、存储设备间的数据迁移以及网络中不同服务器间的数据共享等功能。此外 SAN
22、 还可以用于合并子网和 NAS 系统。 当前常见的可使用 SAN 技术,诸如 IBM 的光纤 SCON,它是 FICON 的增强结构, 或者说是一种更新的光纤信道技术。另外存储区域网络中也运用到高速以太网协议。SCSI 和 iSCSI 是目前使用较为广泛的两种存储区域网络协议。 1.6 虚拟存储 1.6.1 虚拟存储的分类 目前虚拟存储的发展尚无统一标准,从虚拟化存储的拓扑结构来讲主要有两种方式:即对称式与非对称式。对称式虚拟存储技术是指虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中;非对称式虚拟存储技术是指虚拟存储控制设备独立于数据传输路径之外。从虚拟化存储
23、的实现原理来讲也有两种方式;即数据块虚拟与虚拟文件系统。具体如下: 1对称式虚拟存储 在图 3.1 所示的对称式虚拟存储结构图中,存储控制设备 High Speed Traffic Directors (HSTD)与存储池子系统 Storage Pool 集成在一起,组成 SAN Appliance。可以看到在该方案中存储控制设备 HSTD 在主机与存储池数据交换的过程中起到核心作用。该方案的虚拟存储过程是这样的:由 HSTD 内嵌的存储管理系统将存储池中的物理硬盘虚拟为逻辑存储单元(LUN),并进行端口映射(指定某一个 LUN 能被哪些端口所见),主机端将各可见的存储单元映射为操作系统可识别
24、的盘符。当主机向 SAN Appliance 写入数据时,用户只需要将数据写入位置指定为自己映射的盘符(LUN),数据经过 HSTD 的高速并行端口,先写入高速缓存,HSTD 中的存储管理系统自动完成目标位置由 LUN 到物理硬盘的转换,在此过程中用户见到的只是虚拟逻辑单元,而不关心每个 LUN 的具体物理组织结构。该方案具有以下主要特点: (1)采用大容量高速缓存,显著提高数据传输速度。 缓存是存储系统中广泛采用的位于主机与存储设备之间的 I/O 路径上的中间介质。当主机从存储设备中读取数据时,会把与当前数据存储位置相连的数据读到缓存中,并把多次调用的数据保留在缓存中;当主机读数据时,在很大
25、几率上能够从缓存中找到所需要的数据。 -4-直接从缓存上读出。而从缓存读取数据时的速度只受到电信号传播速度的影响(等于光速),因此大大高于从硬盘读数据时盘片机械转动的速度。当主机向存储设备写入数据时,先把数据写入缓存中,待主机端写入动作停止,再从缓存中将数据写入硬盘,同样高于直接写入硬盘的速度 (2)多端口并行技术,消除了 I/O 瓶颈。 传统的 FC 存储设备中控制端口与逻辑盘之间是固定关系,访问一块硬盘只能通过控制它的控制器端口。在对称式虚拟存储设备中,SAN Appliance 的存储端口与 LUN 的关系是虚拟的,也就是说多台主机可以通过多个存储端口(最多 8 个)并发访问同一个LUN
26、;在光纤通道 100MB/带宽的大前提下,并行工作的端口数量越多,数据带宽就越高。 (3)逻辑存储单元提供了高速的磁盘访问速度。 在视频应用环境中,应用程序读写数据时以固定大小的数据块为单位(从512byte 到 1MB 之间)。而存储系统为了保证应用程序的带宽需求,往往设计为传输 512byte 以上的数据块大小时才能达到其最佳 I/O 性能。在传统 SAN 结构中,当容量需求增大时,唯一的解决办法是多块磁盘(物理或逻辑的)绑定为带区集,实现大容量 LUN。在对称式虚拟存储系统中,为主机提供真正的超大容量、高性能 LUN,而不是用带区集方式实现的性能较差的逻辑卷。与带区集相比,Power L
27、UN 具有很多优势,如大块的 I/O block 会真正被存储系统所接受,有效提高数据传输速度;并且由于没有带区集的处 理过程,主机 CPU 可以解除很大负担,提高了主机的性能。 (4)成对的 HSTD 系统的容错性能。 在对称式虚拟存储系统中,HSTD 是数据 I/O 的必经之地,存储池是数据存放地。由于存储池中的数据具有容错机制保障安全,因此用户自然会想到 HSTD 是否有容错保护。象许多大型存储系统一样,在成熟的对称式虚拟存储系统中,HSTD 是成对配制的,每对 HSTD 之间是通过 SAN Appliance 内嵌的网络管理服务实现缓存数据一致和相互通信的。 (5)在 SAN Appl
28、iance 之上可方便的连接交换设备,实现超大规模 Fabric 结构的 SAN。 因为系统保持了标准的 SAN 结构,为系统的扩展和互连提供了技术保障,所以在 SAN Appliance 之上可方便的连接交换设备,实现超大规模 Fabric 结构的 SAN。2非对称式虚拟存储系统 在图3.2 所示的非对称式虚拟存储系统结构图中,网络中的每一台主机和虚拟存储管理设备均连接到磁盘阵列,其中主机的数据路径通过 FC 交换设备到达磁盘阵列;虚拟存储设备 -5-对网络上连接的磁盘阵列进行虚拟化操作,将各存储阵列中的 LUN 虚拟为逻辑带区集(Strip),并对网络上的每一台主机指定对每一个 Strip
29、 的访问权限(可写、可读、禁止访问)。当主机要访问某个 Strip 时,首先要访问虚拟存储设备,读取 Strip 信息和访问权限,然后再通过交换设备访问实际的 Strip 中的数据。在此过程中,主机只会识别到逻辑的 Strip,而不会直接识别到物理硬盘。这种方案具有如下特点: (1)将不同物理硬盘阵列中的容量进行逻辑组合,实现虚拟的带区集,将多个阵列控制器端口绑定,在一定程度上提高了系统的可用带宽。 (2)在交换机端口数量足够的情况下,可在一个网络内安装两台虚拟存储设备,实现 Strip 信息和访问权限的冗余。 但是该方案存在如下一些不足: (1)该方案本质上是带区集磁盘阵列结构,一旦带区集中
30、的某个磁盘阵列控制器损坏,或者这个阵列到交换机路径上的铜缆、GBIC 损坏,都会导致一个虚拟的 LUN 离线,而带区集本身是没有容错能力的,一个 LUN 的损坏就意味着整个 Strip 里面数据的丢失。 (2)由于该方案的带宽提高是通过阵列端口绑定来实现的,而普通光纤通道阵列控制器的有效带宽仅在 40MB/S 左右,因此要达到几百兆的带宽就意味着要调用十几台阵列,这样就会占用几十个交换机端口,在只有一两台交换机的中小型网络中,这是不可实现的。 (3)由于各种品牌、型号的磁盘阵列其性能不完全相同,如果出于虚拟化的目的将不同品牌、型号的阵列进行绑定,会带来一个问题:即数据写入或读出时各并发数据流的
31、速度不同,这就意味着原来的数据包顺序在传输完毕后被打乱,系统需要占用时间和资源去重新进行数据包排序整理,这会严重影响系统性能。 1.6.2 虚拟存储的实现方式 目前实现虚拟存储主要分为如下几种: 1在服务器端的虚拟存储 服务器厂商会在服务器端实施虚拟存储。同样,软件厂商也会在服务器平台上实施虚拟存储。这些虚拟存储的实施都是通过服务器端将镜像映射到外围存储设备上,除了分配数据外,对外围存储设备没有任何控制。服务器端一般是通过逻辑卷管理来实现虚拟存储技术。逻辑卷管理为从物理存储映射到逻辑上的卷提供了一个虚拟层。服务器只需要处理逻辑卷,而不用管理存储设备的物理参数。 用这种构建虚拟存储系统,服务器端
32、是一性能瓶颈,因此在多媒体处理领域几乎很少采用。 -6-2在存储子系统端的虚拟存储 另一种实施虚拟的地方是存储设备本身。这种虚拟存储一般是存储厂商实施的,但是很可能使用厂商独家的存储产品。为避免这种不兼容性,厂商也许会和服务器、软件或网络厂商进行合作。当虚拟存储实施在设备端时,逻辑(虚拟)环境和物理设备同在一个控制范围中,这样做的益处在于:虚拟磁盘高度有效地使用磁盘容量,虚拟磁带高度有效地使用磁带介质。 在存储子系统端的虚拟存储设备主要通过大规模的 RAID 子系统和多个 I/O 通道连接到服务器上,智能控制器提供 LUN 访问控制、缓存和其他如数据复制等的管理功能。这种方式的优点在于存储设备
33、管理员对设备有完全的控制权,而且通过与服务器系统分开,可以将存储的管理与多种服务器操作系统隔离,并且可以很容易地调整硬件参数。 3网络设备端实施虚拟存储 网络厂商会在网络设备端实施虚拟存储,通过网络将逻辑镜像映射到外围存储设备,除了分配数据外,对外围存储设备没有任何控制。在网络端实施虚拟存储具有其合理性,因为它的实施既不是在服务器端,也不是在存储设备端,而是介于两个环境之间,可能是最“开放”的虚拟实施环境,最有可能支持任何的服务器、操作系统、应用和存储设备。从技术上讲,在网络端实施虚拟存储的结构形式有以下两种:即对称式与非对称式虚拟存储。 从目前的虚拟存储技术和产品的实际情况来看,基于主机和基
34、于存储的方法对于初期的采用者来说魅力最大,因为他们不需要任何附加硬件,但对于异构存储系统和操作系统而言,系统的运行效果并不是很好。基于互联设备的方法处于两者之间,它回避了一些安全性问题,存储虚拟化的功能较强,能减轻单一主机的负载,同时可获得很好的可扩充性。 不管采用何种虚拟存储技术,其目的都使为了提供一个高性能、安全、稳定、可靠、可扩展的存储网络平台,满足节目制作网络系统的苛刻要求。根据综合的性能价格比来说,一般情况下,在基于主机和基于存储设备的虚拟存储技术能够保证系统的数据处理能力要求时,优先考虑,因为这两种虚拟存储技术构架方便、管理简单、维护容易、产品相对成熟、性能价格比高。在单纯的基于存
35、储设备的虚拟存储技术无法保证存储系统 性能要求的情况下,我们可以考虑采用基于互连设备的虚拟存储技术。 -7-2 需求分析2.1 可行性分析 2.1.1 技术可行性分析 本文实现主要分为两个部分,网络硬盘客户端的实现和服务器端基于云存储的分布式系统实现。 本文采用了微软提供的.NET 平台以及 Microsoft SOL Server 实现网络硬盘客户端并对用户数据进行管理。 在服务器端,本文在 Linux 环境下采用了虚拟存储的技术,首先通过 iSCSI 协议把存储设备映射成本低 SCSI 设备,再通过逻辑卷管理实现对存储设备的动态管理和按需虚拟化,最后通过 NFS 服务器把存储设备上的资料共
36、享给主机端的网络硬盘客户端使用。 经上所述可以看到整个系统是技术可行的,并且,系统对操作系统环境的配置要求中等,现有的普通计算机就可以运行。 2.1.2 操作可行性分析 本系统采用 C/S 架构,在主机端的用户通过安装客户端软件从服务器端上传或者下载用户数据,整个操作方便,简单。 2.1.3 经济可行性分析 本系统在服务器端利用软件实现虚拟存储技术,大大地提高了服务器端存储设备的利用率,降低了存储设备的维护费用,在显示应用中有着较强的经济效益。 除此之外,在整个开发过程中,所有功能的实现都通过软件模拟,并不需要购买硬件,经济上简单易行。 2.2 概述 2.2.1 整体需求描述 用户:实现基本的
37、网络硬盘功能 技术:服务器端在 Linux 下简单实现虚拟存储的技术,客户端用.NET 平台编写简单的客户端程序。 -8-2.2.2 预期目标 (1)实现简单的网络硬盘软件 (2)网络硬盘运用到虚拟存储技术来实现基于云存储的网路硬盘 (3)通过虚拟化来降低存储设备的营运成本,简化存储设备的管理 2.2.3 运行模式 用户在主机端登陆,连接服务器,实现文件的上传和下载。 2.2.4 运行环境 设备:个人电脑 操作系统:Windows 7,Ubuntu 软件:Microsoft SQL Server,LVM, Open-iScsi,NFS 2.3 功能需求 主要功能如下 (1) 用户、管理员登陆(
38、2) 用户上传、下载文件(3) 管理员增添、删除用户(4) 查看剩余容量 (5) 维护已上传文件列表 2.4 性能需求 (1)响应时间需求 系统的响应时间不能超过一定数值,不然会引起用户的反感; (2)传速速率需求 在用户网速允许的情况下,尽可能地提高传输效率 (3)系统稳定性 系统基本稳定,不出现经常崩溃的现象 2.5 安全性需求 系统的安全性在本文的简单实现中暂不考虑,多采取所用协议自身携带的安全性功能。-9-3 服务器端设计 3.1 整体功能 利用 Linux 操作系统中的 iSCSI 协议,逻辑卷管理和网络文件系统来实现对称式虚拟存储的功能,将网络中不同的主机,磁盘阵列,服务器等存储设
39、备上的空余存储空间通过 iSCSI 协议集中到存储服务器上,以此来模拟云存储的概念,再通过逻辑卷管理将其虚拟成一整块磁盘。并将虚拟出的磁盘空间通过 NFS 服务器共享给具有 NFS 客户端的网络硬盘客户端软件挂载使用。 3.2 开发运行环境 操作系统:Ubuntu 10.04 主机: HP Pavilion 4 中央处理器:Intel?Core2 Duo CPU T5800 2.00 GHz 2.00 GHz 内存:4.00 GB 3.3 结构模型 由于设备条件的限制,本文只对网络硬盘的服务器端和客户端做一个简单的实现。在简单视线中,本文采用了建立在网络虚拟化基础上的对称方式实现服务器端。软件
40、结构模型如图 1 所示。 图 1. 对称式虚拟存储 -10-磁盘阵列,主机等存储设备通过 iSCSI 协议连接到处于网络路径中的存储设备服务器。存储设备服务器上将存储设备上的空余空间映射成为服务器上的本地磁盘以供使用。之后,在存储服务器上运行的逻辑卷管理软件(LVM, Logical Volume Management)对映射的本地磁盘进行虚拟化管理。LVM 首先把本地磁盘作为物理卷管理,然后创建用户卷组,并在用户卷组的基础上创建逻辑卷,最后将逻辑卷格式化为需要的文件系统后就可供使用了。根据需要,服务器管理员可以随时通过增加或减少物理卷来控制逻辑卷的大小,整个过程无需重新格式化、分区。待整个逻
41、辑卷格式化后,NFS 服务器就可以把这些逻辑卷作为存储空间提供给 NFS 客户端使用。网络硬盘客户端最终通过 TCP/IP 协议连接到 NFS 客户端使用存储空间。其软件结构模型如图 2 所示。 图 2. 服务器端的结构模型 NFS 服务器程序实现了访问接口模块的功能。逻辑卷管理(LVM)作为用户接口,是整个虚拟化功能实现的主要途径。LVM 帮助管理员在一台服务器上实现所有存储设备的管理功能,达到了统一和方便管理的目的。iSCSI 启动端负责发现有 iSCSI 目标端的存储设备,并通讯登陆该设备,获得设备的空余存储空间,实现了聚集存储设备上空闲存储空间的功能。 应用程序服务器和存储服务器通过
42、NFS 协议连接,而不是采用图 2 中类似存储服务器和存储设备连接的方法,利用了 NFS 协议文件级的数据同步和共享的功能。如果采用 iSCSI 协议,每个应用程序对存储设备直接进行块级访问,就可能造成冲突。例如程序 A 运行在一台服务器上,而程序 B 运行在另一台服务器上,如果没有文件级的同步能力,在 A 对某个数据块操作完成后,而 B 有可能也向这个数据块进行写操作,造成 A 的数据被覆盖。如果采用文件级的同步策略,A 先向存储服务器申请对某个文件的 -11-操作,如果申请接收,就取得了所要操作的数据块的权限。当 B 电要对同一文件执行写操作时,存储服务器就会拒绝请求,从而防止数据被覆盖。
43、NFS 服务器安全性方面的功能很好地 在简单实现中,虚拟存储和云存储的概念还有一些差距,不能实现真正的云端操作,现在只能实现在 Linux 环境下的服务器部署。对称方式下的虚拟存储存在性能瓶颈,未来的发展方向是非对称式虚拟存储。 3.4 服务器端功能部件介绍 3.4.1 iSCSI 介绍 iSCSI 技术是一种由 IBM、思科共同发起的基于 IP Storage 理论的新型存储技术,该技术是将存储行业广泛应用的 SCSI(small computer system interface)接口技术与 IP 网络技术结合,使得我们可以在 IP 网络上构建 SAN 存储区域网。推动 iSCSI 协议发
44、展最主要的动力是-希望能够在 IP 网络上使用业已部署的大量 DAS 存储设备。通过 iSCSI 协议,这些存储设备可以为更多的用户和应用使用,同时可以让这些简单 DAS 存储设备支持只有高级存储设备才能够支持的备份、镜像、灾难恢复等高级存储应用。其次是为了让尽可能多用户和应用利用已部署的 FC 光纤通道 SAN 存储区域网,iSCSI 协议还可以将对光纤通道 SAN 存储区域网的访问通过基于 IP 的网络传输。 经过多家厂商的测试和实践,证明 iSCSI 可以非常迅速地建立起 IP SAN 存储区域网环境,用户可以即刻享受到即插即用式地 iSCSI 的好处。目前,iSCSI 的标准已经在 I
45、ETF 通过,Microsoft 也已与今年 6 月 30 日发布支持 iSCSI 的 Initiator 的驱动程序。同时在微软即将 Windows Storage Server 2003 将内置的支持 iSCSI,包括 initiator 和 target。iSCSI 必然成为光纤通道 FC 的主要竞争对手,成为 SAN 存储区域网的主要应用技术。同时由于 iSCSI 内置的支持路由,可以让 iSCSI initiator 访问 Internet 上任何一台存储设备,使得存储共享的概念无限扩大,存储连接的距离无限扩展。这一技术对于一边要面对信息高速增长,另一边却身处数据孤岛的众多中小企业无
46、疑具有巨大的吸引力。 1. iSCSI 的概念 iSCSI(互联网小型计算机系统接口)是一种在 Internet 协议网络上,特别是以太网上进行数据块传输的标准。它是由 Cisco 和 IBM 两家发起的,并且得到了 IP 存储技术拥护者的大力支持。是一个供硬件设备使用的可以在 IP 协议上层运行的 SCSI 指令集。 简单地说,iSCSI 可以实现在 IP 网络上运行 SCSI 协议,使其能够在诸如高速千兆以太网上进行路由选择。 -12-SCSI(小型计算机系统接口)是以一种广泛使用的连接硬盘和计算机的技术标准,iSCSI 这种技术则是将该技术应用到网络连接上,对于中小企业的存储网络而言,i
47、SCSI 技术的性价比要高于基于光纤的产品。iSCSI 是基于 IP 协议的技术标准,是允许网络在TCP/IP 协议上传输 SCSI 命令的新协议,实现了 SCSI 和 TCP/IP 协议的连接,该技术允许用户通过 TCP/IP 网络来构建存储区域网(SAN)。而在 iSCSI 技术出现之前,构建存储区域网的唯一技术是利用光纤通道(Fiber Channel),该标准制定于 20 世纪 90 年代初期,但是其架构需要高昂的建设成本,远非一般企业所能够承受。iSCSI 技术的出现对于以局域网为网络环境的用户来说,它只需要不多的投资,就可以方便、快捷地对信息和数据进行交互式传输和管理。相对于以往的
48、网络接入存储,iSCSI 的出现解决了开放性、容量、传输速度、兼容性、安全性等问题,其优越的性能使其自发布之日始便受到市场的关注与青睐。 2. iSCSI 的工作流程 iSCSI 协议就是一个在网络上封包和解包的过程,在网络的一端,数据包被封装成包括 TCP/IP 头、iSCSI 识别包和 SCSI 数据三部分内容,传输到网络另一端时,这三部分内容分别被顺序地解开。 iSCSI 系统由一块 SCSI 卡发出一个 SCSI 命令,命令被封装到第四层的信息包中并发送。接收方从信息包中抽取 SCSI 命令并执行,然后把返回的 SCSI 命令和数据封装到 IP 信息包中,并将它们发回到发送方。系统抽取
49、数据或命令,并把它们传回 SCSI 子系统。所有这一切的完成都无需用户干预,而且对终端用户是完全透明的。为了保证安全,iSCSI 有自己的上网登录操作顺序。在它们首次运行的时候,启动器(initiator)设备将登录到目标设备中。任何一个接收到没有执行登录过程的启动器的iSCSI PDU(iSCSI Protocol Data Units,iSCSI 协议数据单元)目标设备都将生成一个协议错误,而且目标设备也会关闭连接。在关闭会话之前,目标设备可能发送回一个被驳回的 iSCSI PDU。这种安全性是基本的,因为它只保护了通信的启动,却没有在每个信息包的基础上提供安全性。还有其他的安全方法,包括
50、利用 IPsec。在控制和数据两种信息包中,IPsec 可以提供整体性,实施再次(replay)保护和确认证明,它也为各个信息包提供加密。 3.iSCSI 的安全性 正是由于其采用广泛应用的 IP 网络和 Internet 网络为数据传输的通道,与传统的采用光纤通道 FC SAN 相比,iSCSI 的安全性就凸现出来。因为传统的 FC SAN 在实际应用中,底层采用光纤通道 FC 的传输技术,上层采用 Fibre Channel Protocol(FCP)传输SCSI 协议,与广泛应用的 IP 网络不兼容,往往会形成一个与通信网络隔离开来的独立存储网络,其安 -13-全性容易得到保障。而 iS
51、CSI 采用 IP 网络技术作为底层传输技术,完全可以在现有的通信网络中,甚至 Internet 上传输 SCSI 协议,这使得 iSCSI 不得不面临 IP 网。 在本文中,主要应用到了 open-iscsi 和 iscsi target 作为 iSCSI initiator 和 iSCSI target。 iSCSI initiator 是 iSCSI 协议的启动器,他可以发现存储设备上的 iSCSI target,并通过iSCSI 协议连接存储设备,将存储设备上的空余存储空间映射成为本地磁盘。通常情况下从性能角度考虑可以使用 iSCSI 专用卡来实现 iSCSI initiator 的功
52、能,但是费用巨大,因此在简单实现中,本文用软件实现 iSCSI initiator。iSCSI target 主要是运行在存储设备上的进程,它等待 iSCSI 发现,通过 iSCSI 协议将本地的资源提供给 iSCSI initiator 端。 3.4.2 逻辑卷管理(LVM)介绍 每个 Linux 使用者在安装 Linux 时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢
53、复数据到新分区。 虽然现在有 很多动态调整磁盘的工具可以使用,例如 PartationMagic 等等,但是并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解决问题。 因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是 Linux 提供的逻辑盘卷管理 (LVM,Logical Volume Manager)机制就是一个完美的解决方案。 LVM 是逻辑盘卷管理(Log
54、ical Volume Manager)的简称,它是 Linux 环境下对磁盘分区进行管理的一种机制,LVM 是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过 LVM 系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过 LVM 可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘
55、名“sda”和“sdb”。而且当系统添加了新的磁盘,通过 LVM 管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。 -14-在小系统上,LVM 的优点在于可以把整个磁盘空间分给一个卷组(Volume Group,再创建逻辑卷(Logical Volume)存放/、/usr、/home 的文件系统。如果逻辑卷/home 在使用中发现空间不够,而 tusr 逻辑卷还有很多空闲空间,可以缩校/usr 的磁盘空间,把这些空间重新分配给/home 卷。另一种选择是给各个逻辑卷分配尽量小的磁盘空间,剩下的空间暂时不分配,当某个逻辑卷空间不足,再根据需要扩展。 在多个磁盘驱动器的大系统上使用逻辑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论