ltaodream 发表于 2024-9-25 21:26

《大模型时代的基础架构》GPU集群的存储设计与实现

<div class='showpostmsg'><section _blank="" data-tool="mdnice编辑器" data-website="&lt;a target=" id="nice">
<h1 data-tool="mdnice编辑器">分布式块存储</h1>

<h2 data-tool="mdnice编辑器">块存储的业务需求</h2>

<h3 data-tool="mdnice编辑器">本地盘,把宿主机的物理硬盘分配给虚拟机</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>创建新虚拟机,需完整复制一份系统盘镜像数据到本地盘,导致创建时间长</section>
        </li>
        <li>
        <section>热迁移需要完整复制系统盘,热迁移性能低下</section>
        </li>
        <li>
        <section>系统盘无法制作快照,本地硬盘</section>
        </li>
</ul>

<h3 data-tool="mdnice编辑器">将位于网络远端的快存储作为虚拟机的系统盘</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>操作系统引导:启动就可发现块存储设备</section>
        </li>
        <li>
        <section>正常挂载:识别块存储设备,并将文件系统落盘的读/写命令字从网卡发送到块存储设备</section>
        </li>
        <li>
        <section>数据冗余备份:快照</section>
        </li>
</ul>

<h2 data-tool="mdnice编辑器">集中式块存储</h2>

<p data-tool="mdnice编辑器">FC-SAN:</p>

<ul data-tool="mdnice编辑器">
        <li>
        <section>HBA卡</section>
        </li>
        <li>
        <section>SAN Switch</section>
        </li>
        <li>
        <section>基于FC-SAN存储控制器的集中式存储设备</section>
        </li>
</ul>

<p data-tool="mdnice编辑器">问题在于性能和终端数量的扩展性</p>

<h3 data-tool="mdnice编辑器">分布式块存储</h3>

<p data-tool="mdnice编辑器">使用大容量磁盘的工业标准服务器组成集群,通过多副本或EC方式实现存储的数据冗余备份</p>

<ul data-tool="mdnice编辑器">
        <li>
        <section>Ceph:CRUSH算法(随机)会浪费空间</section>
        </li>
        <li>
        <section>各家自研块存储:Raft算法,节点/磁盘/磁盘偏移量三元数组</section>
        </li>
</ul>

<h1 data-tool="mdnice编辑器">分布式对象存储</h1>

<ul data-tool="mdnice编辑器">
        <li>
        <section>用来高效存储检索非结构化数据(文档、图片、视频、声音)</section>
        </li>
        <li>
        <section>采用基于HTTP的开放接口存取</section>
        </li>
        <li>
        <section>定义存储桶(Bucket),桶内每个文件都有全局唯一标识符</section>
        </li>
        <li>
        <section>为对象添加键值标签,方便检索</section>
        </li>
</ul>

<h3 data-tool="mdnice编辑器">Ceph</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>统一了三种接口的统一存储平台,上层应用支持Object、Block、File</section>
        </li>
        <li>
        <section>数据强一致性算法,数据的所有副本都写入并返回才算写事务的完成,写的效率会差一些,所以更适合写少读多的场景。</section>
        </li>
</ul>

<h3 data-tool="mdnice编辑器">Swift</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>OpenStack的一个组件</section>
        </li>
        <li>
        <section>只保障数据的最终一致性,写完2个副本后即可Commit,这就导致读操作需要进行副本的对比校验,读的效率相对较低。</section>
        </li>
        <li>
        <section>采用一致性哈希算法完成数据分布计算,通过首次计算对象针对逻辑对象(Zone)的映射实现数据副本的故障隔离分布,然后通过哈希一致性算法完成对象在Bucket当中的分布计算,采用Ring环结构组织Bucket节点组织,数据分布不如Ceph均匀。</section>
        </li>
        <li>
        <section>需借助Proxy节点完成对数据的访问,不同于通过客户端直接访问数据节点,相对数据的访问效率来讲,比Ceph要差一些。</section>
        </li>
</ul>

<h3 data-tool="mdnice编辑器">商业化对象存储</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>一致性哈希算法</section>
        </li>
        <li>
        <section>冷热数据分层管理</section>
        </li>
        <li>
        <section>一般分为HTTP服务层、存储节点层、键值数据库层</section>
        </li>
        <li>
        <section>通过云负载均衡服务示例对云外提供VIP,并通过VPCGW对VPC内的虚拟机提供服务发现和服务路由,实现无限横向扩展</section>
        </li>
</ul>

<h3 data-tool="mdnice编辑器">MinIO</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>基于Go的高性能分布式开源存储项目</section>
        </li>
        <li>
        <section>提供了与k8s、etcd、docker等主流容器化技术深度集成方案</section>
        </li>
        <li>
        <section>不同MinIO集群可以组成联邦,并形成一个全局的命名空间,并且支持跨越多个数据中心。</section>
        </li>
        <li>
        <section>Amazon S3兼容</section>
        </li>
        <li>
        <section>使用纠删码和Checksum机制来防止硬件错误和静默数据污染。在最高冗余度配置下,即使丢失1/2的磁盘也能恢复数据。</section>
        </li>
</ul>

<h1 data-tool="mdnice编辑器">分布式文件存储</h1>

<h3 data-tool="mdnice编辑器">JuiceFS</h3>

<ul data-tool="mdnice编辑器">
        <li>
        <section>采用「数据」与「元数据」分离存储的架构。</section>
        </li>
        <li>
        <section>支持多种访问接口,包括兼容 POSIX 文件系统的接口、Hadoop Java SDK、FUSE 和 Kubernetes 等。</section>
        </li>
        <li>
        <section>提供了本地多级缓存机制,以提高数据访问速度和吞吐量。</section>
        </li>
        <li>
        <section>JuiceFS 具有良好的兼容性,支持 POSIX、HDFS 和 S3 API 等多种文件系统接口。</section>
        </li>
</ul>
</section>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2024-9-26 07:21

<section>系统盘无法制作快照,本地硬盘,这个怎么理解</section>

huwuren1a 发表于 2024-9-26 09:17

ltaodream 发表于 2024-9-26 10:00

Jacktang 发表于 2024-9-26 07:21
系统盘无法制作快照,本地硬盘,这个怎么理解

<p>它的意思应该是从基础软件层面来说没支持,只是简单的把硬盘分给虚拟机用,其他各种周边都很难做,这样搞的话</p>
页: [1]
查看完整版本: 《大模型时代的基础架构》GPU集群的存储设计与实现