`
flyingsword945
  • 浏览: 24558 次
  • 性别: Icon_minigender_2
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

存储相关概念

 
阅读更多

Cinder

提供块存储(Block Storage),类似于Amazon的EBS块存储服务,目前仅给虚机挂载使用。

它通过整合后端多种存储,用API接口为外界提供块存储服务,主要核心是对卷的管理,允许对卷,卷的类型,卷的快照进行处理。

Cinder通过添加不同厂商的指定drivers来为了支持不同类型和型号的存储。目前能支持的商业存储设备有EMC 和IBM的几款,也能通过LVM支持本地存储和NFS协议支持NAS存储(例如把远程机器上export出来的目录mount到你的机器上mount 9.114.*.*:/root/Images/QCOW2 /root/Images),所以Netapp的NAS应该也没问题,好像华为也在努力中。我前段时间还在 Cinder的blueprints看到IBM的GPFS分布式文件系统,在以后的版本应该会添加进来。

缺点: 不支持FC SAN,另外单点故障隐患没解决。

SWIFT

提供对象存储 (Object Storage),在概念上类似于Amazon S3服务,不过swift具有很强的扩展性、冗余和持久性,也兼容S3 API. Swift作为对象存储已经很成熟,连CloudStack也支持它。

 

Swift出现的领域有4个:

1.网盘。Swift的对称分布式架构和多proxy多节点的设计导致它从基因里就适合于多用户大并发的应用模式,最典型的应用莫过于类似Dropbox的网盘应用。

2.IaaS公有云。公有云规模较大,更多的遇到大量虚机并发启动这种情况,所以对于虚机镜像的后台存储具体来说,实际上的挑战在于大数据(超过G)的并发读性能,Swift 在OpenStack中一开始就是作为镜像库的后台存储,经过RACKSpace上千台机器的部署规模下的数年实践,Swift已经被证明是一个成熟的选 择。
3.备份归档。热归档能够保证应用归档数据能够在分钟级别重新获取,和传统磁带机归档方案中的数小时而言,是一个很大的进步。

4. 移动互联网和CDN。如果使用Swift,云存储就可以直接响应移动设备,不需要专门的服务器去响应这个HTTP的请求,也不需要在数据传输中再经过移动设备上的文件系统,直接是用HTTP 协议上传云端。


Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务。Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和 对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题。

Swift 采用层次数据模型,共设三层逻辑结构:Account/Container/Object(即账户/容器/对象),每层节点数均没有限制,可以任意扩展。 这里的账户和个人账户不是一个概念,可理解为租户,用来做顶层的隔离机制,可以被多个个人账户所共同使用;容器代表封装一组对象,类似文件夹或目录;叶子 节点代表对象,由元数据和内容两部分组成.

 

存储相关命令
fdisk -l  查看系统的硬盘和硬盘分区情况。

df 命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。-a 全部文件系统列表 -l 只显示本地文件系统
LVM
LVM是logical volume manager 的缩写,叫逻辑卷管理,是一种用来管理LV的工具,它是Linux环境下对磁盘分区进行管理的一种机制。我们所用到的RAID是不提供存储数据空间的动态增长和收缩的,假如磁盘的空间已经满了而你又想写入一些数据那只能再去手动添加一块物理硬盘了,而LV是一种可以动态增长和收缩的逻辑卷,它是以块设备作为基础的,当然也可以以raid作为基础的。LV的构建架构是:PD-->PV-->VG--->LV,PD是最底层的物理设备,PV是物理卷,VG是逻辑卷组,LV就是逻辑卷。PV有一些常用的命令:pvcreate,pvscan,pvdisplay,pvmove,pvremove。VG有一些常用的命令:vgcreate,vgdisplay,vgscan,vgremove。LV有一些常用的命令:lvcreate,lvdisplay,lvextend,lvreduce。


http://img.linux.net.cn/data/attachment/album/201406/18/134408sa12dauefffyszfg.jpg


mount

mount是Linux下的一个命令,它可以将Windows分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将Windows的分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。

 

网络存储结构大致分为三种:直连式存储(DAS:Direct Attached Storage)、网络连接式存储(NAS:Network Attached Storage)和存储网络(SAN:Storage Area Network)。

 

DAS: 将存储设备通过SCSI 接口或光纤通道直接连接到一台计算机上。

 

NAS: 通过网线连接的磁盘阵列,具备磁盘阵列的所有主要特征:高容量、高效能、高可靠。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。NAS能够满足那些希望降低存储成本但又无法承受SAN昂贵价格的中小企业的需求,具有相当好的性能价格比。

什么时候需要NAS?    首先,看这个单位的核心业务是否建立在某种信息系统上,对数据的安全性要求很高;其次,看该信息系统是否已经有或者将会有海量的数据需要保存,并且对数据 管理程度要求较高;最后,还可以判断一下网络中是否有异构平台,或者以后会不会用到。如果上述有一个问题的答案是肯定的,那么就有必要重点考虑使用NAS 设备来实现集中存储与备份。

 

SAN:指存储设备相互连接且与一台服务器或一个服务器群相连的网络。其中的服务器用作 SAN 的接入点。它依托光纤通道(Fibre Channel)为服务器和存储设备之间的连接提供更高的吞吐能力、支持更远的距离和更可靠的连通。SAN的组成通常包括服务器(主机)、存储设备(磁带或者磁盘阵列)以及桥接器和多路复用器,并且所有这些设备都连接在光纤通道的交换机上。SAN主要是高速信息存储,NAS偏重文件共享。NAS有文件操作和管理系统,而SAN却没有,SAN和NAS相比不具有资源共享的特征。

 

网络存储通信中使用到的相关技术和协议包括 SCSI 、RAID 、iSCSI 以及光纤信道。

SCSI(Small Computer System Interface): 一直以来 SCSI 支持高速、可靠的数据存储。现在的硬盘从接口方面分,可分为IDE硬盘与SCSI硬盘。SCSI硬盘主要用于中高端服务器工作站上。IDE硬盘主要用于个人电脑。

 

RAID(独立磁盘冗余阵列): 指的是一组标准,提供改进的性能和/或磁盘容错能力。具有两个硬盘位的NAS可以组建RAID 0和RAID 1系统,其中RAID 0系统具有较好的磁盘性能,RAID 1系统具有较好的安全性。具有4个硬盘位的NAS则可以组建更高级的RAID 5系统,在保障数据安全的同时还能提高磁盘性能。

 

光纤信道:是一种提供存储设备相互连接的技术,支持高速通信(将来可以达到 10Gbps )。与传统存储技术,如 SCSI 相比,光纤信道也支持较远距离的设备相互连接。

 

iSCSI :技术支持通过 IP 网络实现存储设备间双向的数据传输。其实质是使 SCSI 连接中的数据连续化。通过 iSCSI,网络存储器可以应用于包含 IP 的任何位置。而作为 Internet 的主要元素,IP 几乎无所不在。

 

SSD的存储成本大约是20¥每GB左右,SAS硬盘的存储成本约在5-6¥每GB,SATA盘的每GB成本不到1¥。

SSD: 固态硬盘,目前的硬盘(ATA 或 SATA)都是磁碟型的,数据就储存在磁碟扇区里,固态硬盘数据就储存在芯片里。

SAS: 串行连接SCSI (Serial Attached SCSI,缩写为SAS) SAS是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。

SATA: 全称是Serial Advanced Technology Attachment(串行高级技术附件,一种基于行业标准的串行硬件驱动器接口)

IDE: 把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。

 

 

案例1:

创建LV(类windows分区) --> 创建文件系统(类windows格式化) --> mount

lvm vgcreate  ibmpkvm_vg_vol /dev/sdb6

lvm lvcreate -L 200G ibmpkvm_vg_vol

mkfs.ext4 -L /var/lib/nova/instances/ /dev/ibmpkvm_vg_vol/lvol0

mount /dev/ibmpkvm_vg_vol/lvol0  /var/lib/nova/instances/

 

案例2: vm的/home空间用完,attach 一个volume 给home文件夹使用。

步骤1. 创建Linux LVM:

fdisk -l

fdisk /dev/sdc

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-2610, default 1): "enter"

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): "enter"

Using default value 2610

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

 

步骤2.  create pv -->  extend vg -> extend lv -> resize2fs 

    1  /sbin/pvcreate /dev/sdc1

    2  vgdisplay

    3  /sbin/vgextend vg0 /dev/sdc1

    4  pvscan

    5  lvdisplay

    6  lvextend /dev/vg0/home /dev/sdc1

    7  vgdisplay

    8  lvdisplay

    9  resize2fs /dev/vg0/home

   10  df -hl

 

案例3:  vm的硬盘空间不足, 增加硬盘空间后,

1. df -hl

      /dev/sdc1 99% /data

2. umount /data

     如果无法umount 用lsof | grep /data 找出对应的ps 并kill -9

3. umount /dev/sdc1

4. parted /dev/sdc

    resize  ->  1

5. mount /dev/sdc1

6. resize2fs /dev/sdc1

 

查看各个目录所占的磁盘大小:

du -h --max-depth=1

 

参考:
OpenStack里的三种存储http://www.csdn.net/article/2013-03-29/2814703

百度百科:NAS网络存储

https://www.rootusers.com/how-to-increase-the-size-of-a-linux-lvm-by-adding-a-new-disk/

分享到:
评论

相关推荐

    存储:存储从入门到精通

    存储从入门到精通 以下是对存储相关知识点的总结: ...本文对存储相关概念和技术进行了详细的解释,涵盖了DAS、NAS、SAN、传统LAN存储方式、SAN存储方式、SAN备份等内容,为读者提供了系统的存储知识。

    存储系统结构分析与架构设计说明.doc

    《存储系统结构分析与架构设计说明》是一份深入探讨存储技术的文档,涵盖了广泛的存储相关概念和实践。本文档旨在帮助读者理解存储系统的结构、设计原则以及不同应用场景下的存储解决方案。 文档首先介绍了存储的...

    计算机数据存储的基本概念.doc

    计算机数据存储的基本概念 在当今信息时代,计算机已经渗透到我们生活的方方面面,无论是科学研究、商业管理、教育学习还是日常娱乐,都离不开计算机的强大功能。而计算机强大的功能背后,是其对数据存储和处理的...

    学生理解主存地址基本概念,理解存储位扩展基本思想,并能利用相关原理构建能同时支持字节、半字、字访问的存储子系统

    学生理解主存地址基本概念,理解存储位扩展基本思想,并能利用相关原理构建能同时支持字节、半字、字访问的存储子系统

    云存储相关论文

    在云存储的理论基础部分,可能会讨论到分布式存储系统、数据冗余与容错机制、负载均衡策略等关键概念。分布式存储系统是云存储的基础,通过将数据分散存储在多台物理设备上,提高系统的可靠性和性能。数据冗余和容错...

    计算机组成原理课后答案(第二版)唐朔飞完整答案

    其中涉及到的硬件和软件之间的关系、冯·诺依曼体系结构的特点以及对主机和其他存储相关概念的理解对于深入学习计算机组成原理至关重要。这些知识点不仅是理解现代计算机运作的基础,也是进行后续更深入研究和技术...

    计算机组成原理答案(第二版).doc

    4. **存储相关概念**: - **存储单元**:每个存储单元都有特定地址,可存储一个机器字。 - **存储元件**:最小的存储单位,通常不能单独存取。 - **存储字**:一个存储单元存储的二进制代码逻辑单位。 - **存储...

    2016年北邮803计算机学科基础综合真题参考答案(学生整理,非官方)

    4. 计算机内存与存储相关概念 - 内存地址计算:给出数组的维度、数组元素大小以及特定位置,可以计算出该元素的内存地址。 - B树结构:三阶B树的特点是每个节点最多包含两个关键字和三个子节点,根节点至少有两个...

    HCIA-Cloud Computing-H13-511_含拖拽云计算IA.pdf

    9. 存储相关概念 - 数据存储可以包含IP SAN、FC SAN、NAS等多种类型,但这里的描述不够准确,因为数据存储通常是抽象的逻辑存储,不一定直接对应特定的存储设备。 通过学习和掌握这些知识点,能够为HCIA-Cloud ...

    大数据存储的概念.pdf

    【大数据存储的概念】 大数据存储是针对海量、高速增长的数据集进行有效存储和管理的技术。随着互联网的快速发展,尤其是社交媒体、电子商务、物联网等领域的爆炸性数据生成,大数据存储已经成为信息技术领域的重要...

    大数据存储的概念 (2).docx

    【大数据存储的概念】 大数据存储是当今信息技术领域的重要组成部分,它涉及到如何有效管理和处理海量的数据,这些数据量巨大,无法用传统的数据处理方法在合理时间内完成。大数据的特点包括高速生成、多样化、复杂...

    EMC存储基础知识白皮书

    相关概念 * 存储区域网络(SAN) * 直接附加存储(DAS) * 网络附加存储(NAS) * 光纤通道(FC) * iSCSI * SCSI * 文件系统 关键词 EMC、存储基础知识、白皮书、网络存储、SAN、NAS、DAS、SCSI、FC、iSCSI、...

    存储vpath的概念

    **存储vpath的概念** 在存储领域,vpath(Virtual Path)是一种高级的I/O路径管理技术,它...在实际操作中,理解vpath与hdisk的区别,正确地使用相关命令进行管理,对于确保存储服务的连续性和数据安全性至关重要。

    最权威的存储自学书籍-大话存储2

    4. 存储虚拟化:阐述存储虚拟化的概念,如何通过虚拟化技术提高存储效率和管理便利性,以及相关的虚拟化解决方案。 5. 存储网络:探讨FC(光纤通道)、iSCSI(基于IP的SCSI)和NAS(网络附加存储)等不同存储网络...

    大话存储:存储系统底层架构原理极限剖析(终极版)(完整PDF版)

    在分布式存储方面,书中有专门章节讨论网络存储协议,如NFS、CIFS/SMB、iSCSI等,以及对象存储和云存储的相关概念,如Amazon S3、Google Cloud Storage等。此外,还会介绍存储区域网络(SAN)和网络附加存储(NAS)...

    大话存储——网络存储系统原理精解与最佳实践

    这本书显然与存储技术相关,我们可以从存储系统的技术角度出发,深入讨论网络存储系统(SAN、NAS、DAS)的基本原理,存储设备架构、数据保护和备份策略,以及实践案例的深入分析等内容。 存储系统作为信息数据存储...

    EMC的VNX存储相关的最佳配置文档

    #### 标题解析:EMC的VNX存储相关的最佳配置文档 此文档旨在为EMC VNX存储系统的配置提供最佳实践指南,尤其聚焦于MPFS(多路径文件系统)部分。VNX系列是EMC推出的融合了块级和文件级数据服务的存储平台,适用于...

    3. 存储相关基础知识培训.pptx

    原创存储基础知识培训,面向新入职的员工培训,讲解了存储系统的应用和分类,RAID的分类概念,RAID-2.0的原理,FC-SAN存储的实施流程,iSCSI存储的实施流程,最后介绍了分布式存储的概念并应用FusionStorage举例说明...

    mysql存储过程教程

    本教程将深入探讨MySQL存储过程的创建、调用以及相关概念。 一、存储过程的基本概念 存储过程是由一个或多个SQL语句组成的集合,存储在数据库中,可以像函数一样被调用执行。它们可以接受参数,返回结果,并且能够...

Global site tag (gtag.js) - Google Analytics