storage, especially cinder(2)

本文详细介绍了块存储、文件存储与对象存储的特性与区别,以及分布式块存储的概念与应用。重点讨论了块存储的裸盘映射与数据共享限制,文件存储的高效共享与大量读写效率低下,对象存储的快速读写与共享优势。同时,文章提及了分布式块存储系统的优点和实际应用,特别强调了Ceph在分布式块存储领域的强大能力。最后,文章解释了虚拟机创建时涉及的RAM、rootdisk、swapdisk、ephemeraldisk的用途,并阐述了如何在实例中管理这些磁盘。

前面说到并非所有的存储都是文件存储,一般说存储类型分为三种,文件存储,块存储,对象存储。

在mark link 1中有个不错的讲解,我的理解是,

块存储:

将没有格式化过的裸盘映射给server(虚拟的,物理的)使用,而这里所谓的“裸盘”,可以是物理概念上的一块硬盘,也可以是逻辑上的一块硬盘(实际上由若干

部分组成,每一部分都在不同的物理硬盘上),对server来说二者没有区分,server要使用时,必须要对映射的裸盘格式化,比较大的弊端是不利于数据共享,因为

一个裸盘分给某个server后,就像是该server的一个磁盘,其他server无法共享。


文件存储:

一般意义上的文件系统都属于文件存储,FTP,NFS服务器都属于文件存储的应用,非常适合做共享,我们平时从FTP server上下载数据即是如此,由于文件系统组织

数据的方法,大量读写时效率低下(分布式时有较大提升)。


对象存储:

不清楚这个是什么时候开始火起来的,接触到这个概念也是从openstack的swift之后,存储读写快,不利于共享,文件存储读写慢,利于共享,对象存储为了取二者

优点,去其缺点而存在,文件存储中,一个文件被放在不同的块中,链表结构,通过上一个块知道下一个块的位置,并行读写效率差,而对象存储将元数据放在元数据

服务器上,通过访问元数据服务器知道数据存在哪些OSD上(object storage device),可以并发读写。

btw:实际上swift在xfs(不是绝对在xfs之上,但官方说明对xfs支持最好)基础之上提供对象存储的能力,严格意义上swift不是文件系统,它没有目录结构(虽然容器

数目可以无限),同时以rest 方式提供服务,没有文件系统传统意义的POSIX接口(read,write,open等语法)


在Cinder中,默认的driver是LVMVolumeDriver提供块存储,LVM在每个主机创建Volume Group,虚机选定compute node之后,使用使用lvcreate创建一个块设备供

虚机使用,查看LVMDriver,最后都是调用lvm的命令。

mark link 2有一段话说的很好,引用一下:

在面对极具弹性的存储需求和性能要求下,单机或者独立的SAN越来越不能满足企业的需要。如同数据库系统一样,块存储在scale up的瓶颈下也面临着scale out的

需要。我们可以用以下几个特点来描述分布式块存储系统的概念:

分布式块存储可以为任何物理机或者虚拟机提供持久化的块存储设

分布式块存储系统管理块设备的创建、删除和attach/deattach

分布式块存储支持强大的快照功能,快照可以用来恢复或者创建新的块设备

分布式存储系统能够提供不同IO性能要求的块设备


于是从不同的存储类型说到分布式块存储,分布式块存储目前最火的项目应该是Ceph莫属,事实上Ceph对外接口也支持提供文件存储,对象存储,还是很强大的。

由于Ceph也提供对象存储,一定程度上不想专门配置swift的情况下,可以使用Ceph作为替代。(使用Ceph做drive人在cinder/volume/rbd.py中RADOS)


btw,创建flavor时候,我们需要指定RAM,root disk,swap disk, Ephemeral disk

RAM是内存

root disk: 提供boot loader,根分区,这个是一个系统必须的,将base image拷贝到root disk,如果是boot from volume时,不需要用到此root disk

swap disk:交换空间,内存不够了用这个;

Ephemeral disk:这个不知道怎么翻译合适,(切换openstack到中文)临时磁盘,临时磁盘中的东西随着instance关机会丢失;

实际上这三种disk上的数据都是临时的,instance关机后都没了,mark link 4有说明。

如果想要持久化的数据,两种,一是创建volume,boot from volume,二是attach volume给instance,即使instance没了,创建新instance,可以将volume重新attach。


指定root,swap,ephemeral后,从image启动instance,我们在/var/lib/nova/instance/xxxx对应的instance下可以看到:

disk, disk.local, disk.swap

分别对应root disk,ephemeral disk和swap disk,使用"qemu-img info "命令查看详情可以更加了解。

而如果是boot from image,我们就看不到disk(即root disk),而是在libvirt.xml中看到device:vda对应的是一个volume




mark link:

1.http://www.zhihu.com/question/21536660

2.https://www.ustack.com/block-storage-overview/

3.http://m.blog.youkuaiyun.com/blog/juvxiao/22614663

4.http://s3.51cto.com/wyfs02/M00/58/81/wKiom1SzO_yx7eeKAAHZ-kM_WKU929.jpg

内容概要:本文介绍了基于Koopman算子理论的模型预测控制(MPC)方法,用于非线性受控动力系统的状态估计与预测。通过将非线性系统近似为线性系统,利用数据驱动的方式构建Koopman观测器,实现对系统动态行为的有效建模与预测,并结合Matlab代码实现具体仿真案例,展示了该方法在处理复杂非线性系统中的可行性与优势。文中强调了状态估计在控制系统中的关键作用,特别是面对不确定性因素时,Koopman-MPC框架能够提供更为精确的预测性能。; 适合人群:具备一定控制理论基础和Matlab编程能力的研【状态估计】非线性受控动力系统的线性预测器——Koopman模型预测MPC(Matlab代码实现)究生、科研人员及从事自动化、电气工程、机械电子等相关领域的工程师;熟悉非线性系统建模与控制、对先进控制算法如MPC、状态估计感兴趣的技术人员。; 使用场景及目标:①应用于非线性系统的建模与预测控制设计,如机器人、航空航天、能源系统等领域;②用于提升含不确定性因素的动力系统状态估计精度;③为研究数据驱动型控制方法提供可复现的Matlab实现方案,促进理论与实际结合。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注Koopman算子的构造、观测器设计及MPC优化求解部分,同时可参考文中提及的其他相关技术(如卡尔曼滤波、深度学习等)进行横向对比研究,以深化对该方法优势与局限性的认识。
内容概要:本文研究了基于物理信息神经网络(PINN)求解二阶常微分方程(ODE)边值问题的方法,并提供了完整的Matlab代码实现。文章通过将微分方程的物理规律嵌入神经网络损失函数中,利用神经网络的逼近能力求解边值问题,避免传统数值方法在网格划分和迭代收敛方面的局限性。文中详细介绍了PINN的基本原理、网络结构设计、损失函数构建及训练流程,并以典型二阶ODE边值问题为例进行仿真验证,展示了该方法的有效性和精度。此外,文档还附带多个相关科研方向的Matlab案例资源链接,涵盖状态估计、优PINN物理信息神经网络用于求解二阶常微分方程(ODE)的边值问题研究(Matlab代码实现)化调度、机器学习、信号处理等多个领域,突出其在科学研究中的实际应用价值。; 适合人群:具备一定数学基础和Matlab编程能力的理工科研究生、科研人员及从事科学计算、工程仿真等相关工作的技术人员。; 使用场景及目标:①用于求解传统数值方法难以处理的复杂或高维微分方程问题;②为科研工作者提供PINN方法的入门实践路径,推动其在物理建模、工程仿真等领域中的创新应用;③结合所提供的丰富资源拓展至电力系统、故障诊断、优化调度等交叉学科研究。; 阅读建议:建议读者结合文中的Matlab代码逐行理解PINN实现机制,动手复现并尝试修改方程形式与边界条件以加深理解,同时可参考附带资源扩展应用场景,提升科研效率与创新能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值