1
0
wiki/Tech/computer-storage/0.-大纲.html

1076 lines
460 KiB
HTML
Raw Normal View History

2024-08-05 18:05:18 +08:00
<!DOCTYPE html>
<html><head><title>0. 大纲</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="0. 大纲"/><meta property="og:description" content="第一部分:基础知识 § 1. 计算机存储基础 § 1.1 存储概念与术语 § 1.2 存储介质类型 § 磁盘 SSD 光盘 磁带 1.3 存储单元与数据表示 § 比特 字节 文件系统 1.4 存储性能指标 § IOPS 带宽 延迟 1.5 存储寿命和耐久性 § 1.6 存储访问模式 § 顺序访问 随机访问 2."/><meta property="og:image" content="https://wiki.7wate.com/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../static/icon.png"/><meta name="description" content="第一部分:基础知识 § 1. 计算机存储基础 § 1.1 存储概念与术语 § 1.2 存储介质类型 § 磁盘 SSD 光盘 磁带 1.3 存储单元与数据表示 § 比特 字节 文件系统 1.4 存储性能指标 § IOPS 带宽 延迟 1.5 存储寿命和耐久性 § 1.6 存储访问模式 § 顺序访问 随机访问 2."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><script async src="https://umami.7wate.com/script.js" data-website-id="c061efdc-95dd-4d21-9d04-a1ffda0a85b9"></script><script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?94d8ccb156eb7c65abf317e6e01cdba9";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-MHMEL0F832"></script><script>
(function() {
window.dataLayer = window.dataLayer || [];
function gtag() {
window.dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-MHMEL0F832');
})();
</script><link href="../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&amp;family=Schibsted Grotesk:wght@400;700&amp;family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&amp;display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`../../static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="Tech/computer-storage/0.-大纲"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href="../..">📚 X·Eden</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35;" xmlSpace="preserve"><title>Light mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg></label><label id="toggle-label-dark" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background='new 0 0 100 100'" xmlSpace="preserve"><title>Dark mode</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571 C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23 c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369 c0,13.36,5.203,25.921,14.65,35.368s2
<h3 id="1-计算机存储基础">1. 计算机存储基础<a aria-hidden="true" tabindex="-1" href="#1-计算机存储基础" class="internal"> §</a></h3>
<h4 id="11-存储概念与术语">1.1 存储概念与术语<a aria-hidden="true" tabindex="-1" href="#11-存储概念与术语" class="internal"> §</a></h4>
<h4 id="12-存储介质类型">1.2 存储介质类型<a aria-hidden="true" tabindex="-1" href="#12-存储介质类型" class="internal"> §</a></h4>
<ul>
<li>磁盘</li>
<li>SSD</li>
<li>光盘</li>
<li>磁带</li>
</ul>
<h4 id="13-存储单元与数据表示">1.3 存储单元与数据表示<a aria-hidden="true" tabindex="-1" href="#13-存储单元与数据表示" class="internal"> §</a></h4>
<ul>
<li>比特</li>
<li>字节</li>
<li>文件系统</li>
</ul>
<h4 id="14-存储性能指标">1.4 存储性能指标<a aria-hidden="true" tabindex="-1" href="#14-存储性能指标" class="internal"> §</a></h4>
<ul>
<li>IOPS</li>
<li>带宽</li>
<li>延迟</li>
</ul>
<h4 id="15-存储寿命和耐久性">1.5 存储寿命和耐久性<a aria-hidden="true" tabindex="-1" href="#15-存储寿命和耐久性" class="internal"> §</a></h4>
<h4 id="16-存储访问模式">1.6 存储访问模式<a aria-hidden="true" tabindex="-1" href="#16-存储访问模式" class="internal"> §</a></h4>
<ul>
<li>顺序访问</li>
<li>随机访问</li>
</ul>
<h3 id="2-存储硬件">2. 存储硬件<a aria-hidden="true" tabindex="-1" href="#2-存储硬件" class="internal"> §</a></h3>
<h4 id="21-磁盘驱动器hdd工作原理">2.1 磁盘驱动器HDD工作原理<a aria-hidden="true" tabindex="-1" href="#21-磁盘驱动器hdd工作原理" class="internal"> §</a></h4>
<ul>
<li>垂直记录</li>
<li>叠瓦式磁记录SMR</li>
</ul>
<h4 id="22-固态驱动器ssd工作原理">2.2 固态驱动器SSD工作原理<a aria-hidden="true" tabindex="-1" href="#22-固态驱动器ssd工作原理" class="internal"> §</a></h4>
<ul>
<li>NVMe SSD 与 SATA SSD 的对比</li>
</ul>
<h4 id="23-raid独立磁盘冗余阵列技术">2.3 RAID独立磁盘冗余阵列技术<a aria-hidden="true" tabindex="-1" href="#23-raid独立磁盘冗余阵列技术" class="internal"> §</a></h4>
<h4 id="24-磁带机与光盘存储">2.4 磁带机与光盘存储<a aria-hidden="true" tabindex="-1" href="#24-磁带机与光盘存储" class="internal"> §</a></h4>
<h4 id="25-硬盘缓存技术">2.5 硬盘缓存技术<a aria-hidden="true" tabindex="-1" href="#25-硬盘缓存技术" class="internal"> §</a></h4>
<h3 id="3-存储架构">3. 存储架构<a aria-hidden="true" tabindex="-1" href="#3-存储架构" class="internal"> §</a></h3>
<h4 id="31-直接附加存储das">3.1 直接附加存储DAS<a aria-hidden="true" tabindex="-1" href="#31-直接附加存储das" class="internal"> §</a></h4>
<h4 id="32-网络附加存储nas">3.2 网络附加存储NAS<a aria-hidden="true" tabindex="-1" href="#32-网络附加存储nas" class="internal"> §</a></h4>
<h4 id="33-存储区域网络san">3.3 存储区域网络SAN<a aria-hidden="true" tabindex="-1" href="#33-存储区域网络san" class="internal"> §</a></h4>
<h4 id="34-存储架构的演变与发展">3.4 存储架构的演变与发展<a aria-hidden="true" tabindex="-1" href="#34-存储架构的演变与发展" class="internal"> §</a></h4>
<h4 id="35-存储网关和中继技术">3.5 存储网关和中继技术<a aria-hidden="true" tabindex="-1" href="#35-存储网关和中继技术" class="internal"> §</a></h4>
<h2 id="第二部分中级知识">第二部分:中级知识<a aria-hidden="true" tabindex="-1" href="#第二部分中级知识" class="internal"> §</a></h2>
<h3 id="4-文件系统与数据管理">4. 文件系统与数据管理<a aria-hidden="true" tabindex="-1" href="#4-文件系统与数据管理" class="internal"> §</a></h3>
<h4 id="41-文件系统类型">4.1 文件系统类型<a aria-hidden="true" tabindex="-1" href="#41-文件系统类型" class="internal"> §</a></h4>
<ul>
<li><strong>Linux 主流文件系统</strong>
<ul>
<li>EXT 系列EXT2、EXT3、EXT4</li>
<li>Btrfs</li>
<li>XFS</li>
<li>ZFS</li>
</ul>
</li>
<li><strong>Windows 主流文件系统</strong>
<ul>
<li>NTFS</li>
<li>FAT32</li>
<li>exFAT</li>
<li>ReFS</li>
</ul>
</li>
<li><strong>MacOS 主流文件系统</strong>
<ul>
<li>HFS+</li>
<li>APFS</li>
</ul>
</li>
</ul>
<h4 id="42-文件系统结构与管理">4.2 文件系统结构与管理<a aria-hidden="true" tabindex="-1" href="#42-文件系统结构与管理" class="internal"> §</a></h4>
<ul>
<li><strong>文件系统结构</strong>
<ul>
<li>文件系统层次结构</li>
<li>超级块、索引节点Inode、数据块</li>
</ul>
</li>
<li><strong>文件系统管理</strong>
<ul>
<li>文件系统的创建与挂载</li>
<li>文件系统的格式化和修复</li>
<li>文件权限与用户管理</li>
</ul>
</li>
</ul>
<h4 id="43-数据冗余与备份策略">4.3 数据冗余与备份策略<a aria-hidden="true" tabindex="-1" href="#43-数据冗余与备份策略" class="internal"> §</a></h4>
<ul>
<li><strong>数据冗余技术</strong>
<ul>
<li>RAID 类型与应用</li>
<li>镜像、奇偶校验与分布式冗余</li>
</ul>
</li>
<li><strong>备份策略</strong>
<ul>
<li>全量备份、增量备份与差异备份</li>
<li>本地备份与远程备份</li>
<li>备份的恢复与验证</li>
</ul>
</li>
</ul>
<h4 id="44-分布式文件系统与本地文件系统的对比">4.4 分布式文件系统与本地文件系统的对比<a aria-hidden="true" tabindex="-1" href="#44-分布式文件系统与本地文件系统的对比" class="internal"> §</a></h4>
<ul>
<li><strong>分布式文件系统</strong>
<ul>
<li>Hadoop Distributed File System (HDFS)</li>
<li>Google File System (GFS)</li>
<li>GlusterFS</li>
<li>CephFS</li>
</ul>
</li>
<li><strong>本地文件系统</strong>
<ul>
<li>单机文件系统的特性与应用场景</li>
</ul>
</li>
<li><strong>对比分析</strong>
<ul>
<li>性能</li>
<li>可扩展性</li>
<li>数据一致性</li>
<li>容错性</li>
</ul>
</li>
</ul>
<h4 id="45-数据完整性与校验技术">4.5 数据完整性与校验技术<a aria-hidden="true" tabindex="-1" href="#45-数据完整性与校验技术" class="internal"> §</a></h4>
<ul>
<li><strong>数据完整性</strong>
<ul>
<li>数据一致性检查</li>
<li>数据腐败检测与恢复</li>
</ul>
</li>
<li><strong>校验技术</strong>
<ul>
<li>校验和Checksum</li>
<li>哈希函数</li>
<li>ECCError Correction Code</li>
</ul>
</li>
</ul>
<h4 id="46-存储空间配额管理">4.6 存储空间配额管理<a aria-hidden="true" tabindex="-1" href="#46-存储空间配额管理" class="internal"> §</a></h4>
<ul>
<li><strong>配额管理概述</strong>
<ul>
<li>配额管理的意义与作用</li>
</ul>
</li>
<li><strong>配额管理技术</strong>
<ul>
<li>用户配额与组配额</li>
<li>软配额与硬配额</li>
</ul>
</li>
<li><strong>管理工具与实践</strong>
<ul>
<li>Linux 下的配额管理工具(如 <code>quota</code> 命令)</li>
<li>Windows 下的配额管理工具(如 FSRM</li>
</ul>
</li>
</ul>
<h3 id="5-存储虚拟化">5. 存储虚拟化<a aria-hidden="true" tabindex="-1" href="#5-存储虚拟化" class="internal"> §</a></h3>
<h4 id="51-存储虚拟化概念与原理">5.1 存储虚拟化概念与原理<a aria-hidden="true" tabindex="-1" href="#51-存储虚拟化概念与原理" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:存储虚拟化是一种将物理存储资源抽象为虚拟存储资源的技术,使得存储设备可以更灵活和高效地被管理和使用。</li>
<li><strong>基本原理</strong>:通过在存储资源和主机之间引入一个虚拟层,存储虚拟化将多个物理存储设备整合为一个或多个虚拟存储池。虚拟层负责管理和分配存储资源,提供统一的存储访问接口。</li>
<li><strong>优势</strong>
<ul>
<li>提高存储利用率:通过整合分散的存储资源,减少未使用的存储空间。</li>
<li>简化存储管理:提供集中化的管理界面,简化存储设备的配置和维护。</li>
<li>提高灵活性:能够动态调整和分配存储资源,满足不同应用的需求。</li>
<li>提高数据保护:通过快照、复制等技术增强数据的可靠性和可用性。</li>
</ul>
</li>
</ul>
<h4 id="52-虚拟存储设备与-lun逻辑单元号">5.2 虚拟存储设备与 LUN逻辑单元号<a aria-hidden="true" tabindex="-1" href="#52-虚拟存储设备与-lun逻辑单元号" class="internal"> §</a></h4>
<ul>
<li><strong>虚拟存储设备</strong>
<ul>
<li>是由存储虚拟化软件创建的抽象存储单元,可以映射到物理存储设备或存储池。</li>
<li>为主机和应用程序提供统一的存储访问接口。</li>
</ul>
</li>
<li><strong>逻辑单元号LUN</strong>
<ul>
<li>LUN 是存储虚拟化环境中用于标识虚拟存储设备的唯一标识符。</li>
<li>主机通过 LUN 访问虚拟存储设备,将其视为普通的存储卷。</li>
<li>LUN 的创建、分配和管理由存储虚拟化软件控制,能够灵活调整大小和性能参数。</li>
</ul>
</li>
</ul>
<h4 id="53-软件定义存储sds">5.3 软件定义存储SDS<a aria-hidden="true" tabindex="-1" href="#53-软件定义存储sds" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>SDS 是一种通过软件实现存储资源管理和控制的技术,将存储硬件和软件解耦。</li>
<li><strong>关键特性</strong>
<ul>
<li><strong>硬件独立性</strong>:支持多种存储硬件,不受特定厂商限制。</li>
<li><strong>灵活扩展性</strong>:通过添加软件和硬件资源,可以线性扩展存储容量和性能。</li>
<li><strong>自动化管理</strong>:利用软件自动完成存储资源的配置、分配和优化,减少人工干预。</li>
<li><strong>数据服务</strong>:提供高级数据服务,如快照、复制、压缩和重删,增强数据保护和效率。</li>
</ul>
</li>
<li><strong>主要组件</strong>
<ul>
<li><strong>控制层</strong>:负责存储资源的管理和调度,包括存储池的创建和管理。</li>
<li><strong>数据层</strong>实际存储数据的物理存储设备通常包括磁盘、SSD 等。</li>
<li><strong>管理层</strong>:提供集中化的管理界面和 API供管理员配置和监控存储系统。</li>
</ul>
</li>
</ul>
<h4 id="54-存储虚拟化在数据中心的应用">5.4 存储虚拟化在数据中心的应用<a aria-hidden="true" tabindex="-1" href="#54-存储虚拟化在数据中心的应用" class="internal"> §</a></h4>
<ul>
<li><strong>资源整合</strong>:将分散的存储设备整合为统一的存储池,提高存储资源利用率。</li>
<li><strong>高可用性</strong>:通过虚拟化技术实现存储的冗余和故障转移,确保数据的高可用性和可靠性。</li>
<li><strong>动态资源分配</strong>:根据业务需求动态调整存储资源的分配,优化性能和成本。</li>
<li><strong>数据保护</strong>:利用快照、复制和备份等技术增强数据的保护能力,防止数据丢失和损坏。</li>
<li><strong>简化管理</strong>:集中化的管理界面和自动化工具简化了存储设备的配置、监控和维护,降低了管理复杂度。</li>
</ul>
<h4 id="55-常见的存储虚拟化解决方案">5.5 常见的存储虚拟化解决方案<a aria-hidden="true" tabindex="-1" href="#55-常见的存储虚拟化解决方案" class="internal"> §</a></h4>
<ul>
<li><strong>VMware vSAN</strong>
<ul>
<li><strong>概述</strong>VMware vSAN 是集成在 VMware vSphere 中的软件定义存储解决方案,通过将服务器的本地存储资源整合为共享存储池。</li>
<li><strong>特性</strong>
<ul>
<li>高性能:利用闪存和 SSD 提高存储性能。</li>
<li>高可用性:提供存储冗余和自动故障转移。</li>
<li>可扩展性:支持线性扩展存储容量和性能。</li>
<li>集中管理:通过 vSphere 管理界面进行统一管理。</li>
</ul>
</li>
</ul>
</li>
<li><strong>Microsoft Storage Spaces Direct (S2D)</strong>
<ul>
<li><strong>概述</strong>S2D 是 Microsoft Windows Server 中的一项功能,通过聚合本地存储资源提供高性能、高可用性的存储解决方案。</li>
<li><strong>特性</strong>
<ul>
<li>高性能:支持使用 NVMe、SSD 和 HDD 实现多层次存储。</li>
<li>高可用性:通过镜像、条带化和纠删码提供数据保护。</li>
<li>可扩展性:支持从两个节点扩展到多个节点的集群。</li>
<li>集成管理:与 Windows Server 深度集成,提供统一的管理和监控工具。</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="6-存储网络">6. 存储网络<a aria-hidden="true" tabindex="-1" href="#6-存储网络" class="internal"> §</a></h3>
<h4 id="61-网络存储协议">6.1 网络存储协议<a aria-hidden="true" tabindex="-1" href="#61-网络存储协议" class="internal"> §</a></h4>
<ul>
<li>
<p><strong>iSCSIInternet Small Computer System Interface</strong></p>
<ul>
<li><strong>定义</strong>:一种基于 IP 网络的存储协议,通过 TCP/IP 传输 SCSI 指令,使存储设备可以通过网络连接到主机。</li>
<li><strong>优势</strong>:低成本、易于配置和扩展,适用于中小型企业。</li>
<li><strong>应用场景</strong>:虚拟化环境、远程备份和恢复、灾难恢复等。</li>
</ul>
</li>
<li>
<p><strong>Fibre ChannelFC</strong></p>
<ul>
<li><strong>定义</strong>一种高速网络协议专门用于存储区域网络SAN通过光纤或铜缆传输数据。</li>
<li><strong>优势</strong>:高带宽、低延迟、可靠性高,适用于大规模数据中心。</li>
<li><strong>应用场景</strong>:企业级存储网络、大型数据库和高性能计算等。</li>
</ul>
</li>
<li>
<p><strong>NFSNetwork File System</strong></p>
<ul>
<li><strong>定义</strong>:一种网络文件系统协议,允许不同操作系统的计算机通过网络共享文件。</li>
<li><strong>优势</strong>:跨平台兼容、易于配置和管理,适用于文件共享和协作。</li>
<li><strong>应用场景</strong>企业文件共享、网络附加存储NAS设备、虚拟化环境等。</li>
</ul>
</li>
<li>
<p><strong>SMBServer Message Block</strong></p>
<ul>
<li><strong>定义</strong>:一种网络文件共享协议,允许计算机通过网络访问和共享文件、打印机和串行端口。</li>
<li><strong>优势</strong>:与 Windows 系统深度集成、易于使用,适用于 Windows 环境的文件共享。</li>
<li><strong>应用场景</strong>企业文件共享、家庭网络、网络附加存储NAS设备等。</li>
</ul>
</li>
</ul>
<h4 id="62-存储网络架构与配置">6.2 存储网络架构与配置<a aria-hidden="true" tabindex="-1" href="#62-存储网络架构与配置" class="internal"> §</a></h4>
<ul>
<li>
<p><strong>存储区域网络SAN</strong></p>
<ul>
<li><strong>定义</strong>:一种专用的高性能网络,用于连接存储设备和服务器,提供块级存储访问。</li>
<li><strong>架构</strong>由存储设备、交换机、HBA主机总线适配器和光纤通道组成。</li>
<li><strong>配置</strong>包括存储设备的分配和管理、交换机的配置和优化、HBA 的安装和配置。</li>
</ul>
</li>
<li>
<p><strong>网络附加存储NAS</strong></p>
<ul>
<li><strong>定义</strong>:一种通过网络提供文件级存储访问的设备,通常包含一个或多个硬盘,连接到网络并提供文件共享服务。</li>
<li><strong>架构</strong>:由 NAS 设备、网络交换机和客户端设备组成。</li>
<li><strong>配置</strong>:包括 NAS 设备的设置、网络连接和文件共享配置。</li>
</ul>
</li>
</ul>
<h4 id="63-数据传输与吞吐量优化">6.3 数据传输与吞吐量优化<a aria-hidden="true" tabindex="-1" href="#63-数据传输与吞吐量优化" class="internal"> §</a></h4>
<ul>
<li><strong>带宽管理</strong>:确保存储网络有足够的带宽处理数据传输,避免网络拥堵。</li>
<li><strong>负载均衡</strong>:分配数据流量到多个路径,优化网络资源利用率,减少单点故障。</li>
<li><strong>QoS服务质量</strong>:设置网络服务质量参数,优先处理关键任务的数据流,提高传输效率。</li>
<li><strong>缓存技术</strong>:使用缓存设备或技术(如 SSD 缓存)加速数据读取和写入,提高整体吞吐量。</li>
</ul>
<h4 id="64-存储网络的拓扑结构设计">6.4 存储网络的拓扑结构设计<a aria-hidden="true" tabindex="-1" href="#64-存储网络的拓扑结构设计" class="internal"> §</a></h4>
<ul>
<li><strong>星型拓扑</strong>:所有存储设备和服务器通过中央交换机连接,便于管理和扩展。</li>
<li><strong>树型拓扑</strong>:分级连接多个交换机,适用于大规模网络,提高网络的扩展性和容错性。</li>
<li><strong>环型拓扑</strong>:设备之间通过环形连接,提供冗余路径,提高网络的可靠性。</li>
<li><strong>网状拓扑</strong>:每个设备都与多个其他设备连接,提供高度冗余和灵活性,但管理复杂度高。</li>
</ul>
<h4 id="65-存储网络的安全性与防护">6.5 存储网络的安全性与防护<a aria-hidden="true" tabindex="-1" href="#65-存储网络的安全性与防护" class="internal"> §</a></h4>
<ul>
<li><strong>访问控制</strong>通过用户身份验证和访问控制列表ACL限制对存储资源的访问。</li>
<li><strong>数据加密</strong>:在传输和存储过程中对数据进行加密,防止数据泄露和未授权访问。</li>
<li><strong>防火墙和 VPN</strong>:使用防火墙保护存储网络免受外部攻击,通过 VPN 实现安全的远程访问。</li>
<li><strong>日志和审计</strong>:记录所有访问和操作日志,定期审计以发现和处理安全威胁。</li>
</ul>
<h4 id="66-存储网络的监控与故障排除">6.6 存储网络的监控与故障排除<a aria-hidden="true" tabindex="-1" href="#66-存储网络的监控与故障排除" class="internal"> §</a></h4>
<ul>
<li><strong>监控工具</strong>:使用存储网络监控工具(如 Nagios、SolarWinds实时监控网络性能和健康状态。</li>
<li><strong>性能分析</strong>:定期分析网络性能指标(如带宽利用率、延迟、吞吐量)识别潜在问题。</li>
<li><strong>故障排除</strong>
<ul>
<li><strong>诊断工具</strong>:使用网络诊断工具(如 Wireshark捕获和分析网络流量。</li>
<li><strong>日志分析</strong>:检查设备日志和错误报告,定位问题源。</li>
<li><strong>冗余路径</strong>:利用网络冗余路径和设备快速恢复故障,提高网络可用性。</li>
</ul>
</li>
</ul>
<h2 id="第三部分高级知识">第三部分:高级知识<a aria-hidden="true" tabindex="-1" href="#第三部分高级知识" class="internal"> §</a></h2>
<h3 id="7-高性能存储技术">7. 高性能存储技术<a aria-hidden="true" tabindex="-1" href="#7-高性能存储技术" class="internal"> §</a></h3>
<h4 id="71-nvme非易失性内存快车">7.1 NVMe非易失性内存快车<a aria-hidden="true" tabindex="-1" href="#71-nvme非易失性内存快车" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>NVMeNon-Volatile Memory Express是一种专为 SSD 设计的高性能接口协议,通过 PCIe 总线直接与 CPU 通信,减少了传统 SATA/SAS 接口的瓶颈。</li>
<li><strong>优势</strong>
<ul>
<li><strong>低延迟</strong>:直接访问闪存,减少了中间层带来的延迟。</li>
<li><strong>高吞吐量</strong>:通过并行处理大量 I/O 请求,提高了数据传输速度。</li>
<li><strong>高并发性</strong>:支持多个并发命令队列,适用于高性能计算和大数据处理。</li>
</ul>
</li>
<li><strong>应用场景</strong>:高性能数据库、虚拟化环境、大数据分析和实时应用等。</li>
</ul>
<h4 id="72-3d-nand-闪存技术">7.2 3D NAND 闪存技术<a aria-hidden="true" tabindex="-1" href="#72-3d-nand-闪存技术" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>3D NAND 是一种垂直堆叠的闪存技术,通过将多个闪存单元垂直堆叠在一起,增加存储密度和容量。</li>
<li><strong>优势</strong>
<ul>
<li><strong>高密度</strong>:相比传统 2D NAND3D NAND 能够在相同面积上提供更多的存储容量。</li>
<li><strong>高耐久性</strong>:改进的制造工艺和材料使用,延长了闪存的寿命。</li>
<li><strong>低成本</strong>:更高的存储密度和更低的单位存储成本。</li>
</ul>
</li>
<li><strong>应用场景</strong>:消费级 SSD、企业级存储设备和移动设备等。</li>
</ul>
<h4 id="73-储存级内存scm">7.3 储存级内存SCM<a aria-hidden="true" tabindex="-1" href="#73-储存级内存scm" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>储存级内存Storage Class MemorySCM是一种介于 DRAM 和传统存储设备之间的存储技术,结合了内存的高速度和存储设备的非易失性特点。</li>
<li><strong>类型</strong>
<ul>
<li><strong>Intel Optane</strong>:基于 3D XPoint 技术的 SCM具有高速度和高耐久性。</li>
<li><strong>MRAM磁性随机存取存储器</strong>:利用磁性材料实现数据存储,具有高速度和非易失性。</li>
</ul>
</li>
<li><strong>优势</strong>
<ul>
<li><strong>低延迟</strong>:接近 DRAM 的速度,适用于高性能应用。</li>
<li><strong>高耐久性</strong>:相比传统闪存,具有更高的写入耐久性。</li>
<li><strong>数据持久性</strong>:断电后数据不会丢失。</li>
</ul>
</li>
<li><strong>应用场景</strong>:实时数据处理、内存密集型应用和高性能计算等。</li>
</ul>
<h4 id="74-低延迟存储技术">7.4 低延迟存储技术<a aria-hidden="true" tabindex="-1" href="#74-低延迟存储技术" class="internal"> §</a></h4>
<ul>
<li><strong>Optane 存储</strong>
<ul>
<li><strong>定义</strong>:基于 3D XPoint 技术的存储解决方案,提供了接近 DRAM 的速度和传统存储的非易失性。</li>
<li><strong>优势</strong>
<ul>
<li><strong>超低延迟</strong>:大大降低了读取和写入延迟,提高了系统响应速度。</li>
<li><strong>高耐久性</strong>:支持大量的写入操作,适用于高负载环境。</li>
<li><strong>大容量</strong>:提供了比传统 DRAM 更高的容量选择。</li>
</ul>
</li>
<li><strong>应用场景</strong>:高频交易、实时分析、内存数据库和高性能计算等。</li>
</ul>
</li>
</ul>
<h4 id="75-存储缓存层和-tiering-技术">7.5 存储缓存层和 Tiering 技术<a aria-hidden="true" tabindex="-1" href="#75-存储缓存层和-tiering-技术" class="internal"> §</a></h4>
<ul>
<li>
<p><strong>存储缓存层</strong></p>
<ul>
<li><strong>定义</strong>:在存储系统中引入高速缓存层,将经常访问的数据存储在高速设备上,提高数据访问速度。</li>
<li><strong>技术</strong>
<ul>
<li><strong>SSD 缓存</strong>:将部分数据缓存到 SSD提高传统 HDD 的访问速度。</li>
<li><strong>RAM 缓存</strong>:利用内存作为缓存,加速数据的读取和写入操作。</li>
</ul>
</li>
<li><strong>优势</strong>:提高系统的整体性能,减少数据访问延迟。</li>
<li><strong>应用场景</strong>:数据库加速、虚拟化环境和高性能存储系统等。</li>
</ul>
</li>
<li>
<p><strong>Tiering 技术</strong></p>
<ul>
<li><strong>定义</strong>:将存储系统中的数据根据访问频率和重要性分层存储在不同性能和成本的存储设备上。</li>
<li><strong>技术</strong>
<ul>
<li><strong>自动分层</strong>:通过存储管理软件自动识别和移动数据到合适的存储层。</li>
<li><strong>手动分层</strong>:管理员根据业务需求手动调整数据存储位置。</li>
</ul>
</li>
<li><strong>优势</strong>:优化存储资源利用,提高存储系统的性能和成本效益。</li>
<li><strong>应用场景</strong>:企业存储系统、大数据分析和混合存储环境等。</li>
</ul>
</li>
</ul>
<h3 id="8-数据保护与安全">8. 数据保护与安全<a aria-hidden="true" tabindex="-1" href="#8-数据保护与安全" class="internal"> §</a></h3>
<h4 id="81-数据加密技术">8.1 数据加密技术<a aria-hidden="true" tabindex="-1" href="#81-数据加密技术" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:数据加密是通过算法将明文数据转换为密文,只有授权用户才能解密和访问数据。</li>
<li><strong>类型</strong>
<ul>
<li><strong>对称加密</strong>:使用同一个密钥进行加密和解密,如 AES、DES。</li>
<li><strong>非对称加密</strong>:使用公钥加密,私钥解密,如 RSA、ECC。</li>
</ul>
</li>
<li><strong>应用</strong>
<ul>
<li><strong>存储加密</strong>:对存储设备中的数据进行加密,保护静态数据的安全。</li>
<li><strong>传输加密</strong>:对网络传输的数据进行加密,保护传输过程中的数据安全。</li>
</ul>
</li>
<li><strong>实施</strong>
<ul>
<li><strong>硬件加密</strong>利用硬件设备如硬件安全模块HSM进行数据加密。</li>
<li><strong>软件加密</strong>:通过软件工具(如 OpenSSL实现数据加密。</li>
</ul>
</li>
</ul>
<h4 id="82-存储安全策略与实施">8.2 存储安全策略与实施<a aria-hidden="true" tabindex="-1" href="#82-存储安全策略与实施" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:存储安全策略是为保护存储系统及其数据免受威胁和攻击而制定的规则和措施。</li>
<li><strong>主要策略</strong>
<ul>
<li><strong>访问控制</strong>:通过身份验证和授权管理,限制对存储系统和数据的访问。</li>
<li><strong>数据隔离</strong>:将敏感数据与其他数据隔离,减少数据泄露风险。</li>
<li><strong>审计和监控</strong>:对存储系统的访问和操作进行记录和监控,及时发现和应对安全事件。</li>
</ul>
</li>
<li><strong>实施步骤</strong>
<ul>
<li><strong>风险评估</strong>:识别存储系统的安全风险和漏洞。</li>
<li><strong>策略制定</strong>:根据风险评估结果,制定存储安全策略。</li>
<li><strong>部署和实施</strong>:将安全策略应用于存储系统,并定期更新和优化。</li>
</ul>
</li>
</ul>
<h4 id="83-数据灾难恢复与业务连续性">8.3 数据灾难恢复与业务连续性<a aria-hidden="true" tabindex="-1" href="#83-数据灾难恢复与业务连续性" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:数据灾难恢复和业务连续性是为确保在灾难发生后快速恢复数据和业务运营而采取的措施。</li>
<li><strong>主要措施</strong>
<ul>
<li><strong>备份策略</strong>:定期备份重要数据,确保数据在灾难发生后可以恢复。</li>
<li><strong>容灾方案</strong>:建立异地灾难恢复中心,确保在主数据中心发生灾难时,业务可以快速切换到备用中心。</li>
<li><strong>业务连续性计划BCP</strong>:制定详细的业务连续性计划,包括灾难应对措施、恢复步骤和责任分工。</li>
</ul>
</li>
<li><strong>实施步骤</strong>
<ul>
<li><strong>风险评估</strong>:识别可能影响业务连续性的灾难和威胁。</li>
<li><strong>策略制定</strong>:根据风险评估结果,制定备份和容灾策略。</li>
<li><strong>演练和测试</strong>:定期进行灾难恢复和业务连续性演练,确保计划可行。</li>
</ul>
</li>
</ul>
<h4 id="84-数据防篡改技术">8.4 数据防篡改技术<a aria-hidden="true" tabindex="-1" href="#84-数据防篡改技术" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:数据防篡改技术是为保护数据的完整性,防止未经授权的修改而采取的措施。</li>
<li><strong>主要技术</strong>
<ul>
<li><strong>数字签名</strong>:利用公钥加密技术生成数据的数字签名,验证数据的完整性和来源。</li>
<li><strong>哈希函数</strong>:生成数据的唯一哈希值,用于检测数据是否被篡改。</li>
<li><strong>区块链技术</strong>:利用区块链的不可篡改性和分布式账本技术,保护数据的完整性。</li>
</ul>
</li>
<li><strong>应用</strong>
<ul>
<li><strong>文件完整性验证</strong>:使用哈希值验证文件的完整性。</li>
<li><strong>数据审计</strong>:利用数字签名和区块链技术,记录和验证数据操作的合法性。</li>
</ul>
</li>
</ul>
<h4 id="85-安全合规性标准与法规">8.5 安全合规性标准与法规<a aria-hidden="true" tabindex="-1" href="#85-安全合规性标准与法规" class="internal"> §</a></h4>
<ul>
<li>
<p><strong>GDPRGeneral Data Protection Regulation</strong></p>
<ul>
<li><strong>定义</strong>GDPR 是欧盟颁布的《通用数据保护条例》,旨在保护欧盟公民的个人数据隐私。</li>
<li><strong>主要要求</strong>
<ul>
<li>数据收集和处理需获得用户明确同意。</li>
<li>用户有权访问、修改和删除其个人数据。</li>
<li>企业需采取适当措施保护用户数据,并在数据泄露时及时通知用户。</li>
</ul>
</li>
<li><strong>实施</strong>企业需制定隐私政策进行数据保护影响评估DPIA确保数据处理符合 GDPR 要求。</li>
</ul>
</li>
<li>
<p><strong>HIPAAHealth Insurance Portability and Accountability Act</strong></p>
<ul>
<li><strong>定义</strong>HIPAA 是美国颁布的《健康保险携带和责任法案》,旨在保护患者的健康信息隐私。</li>
<li><strong>主要要求</strong>
<ul>
<li>医疗机构需确保患者的健康信息机密性和安全性。</li>
<li>采取技术和管理措施防止数据泄露和未经授权访问。</li>
<li>提供数据访问和修改权限给患者,并在数据泄露时通知患者。</li>
</ul>
</li>
<li><strong>实施</strong>:医疗机构需制定和实施数据保护策略,进行定期安全审计和风险评估,确保符合 HIPAA 要求。</li>
</ul>
</li>
</ul>
<h3 id="9-云存储">9. 云存储<a aria-hidden="true" tabindex="-1" href="#9-云存储" class="internal"> §</a></h3>
<h4 id="91-云存储概念与架构">9.1 云存储概念与架构<a aria-hidden="true" tabindex="-1" href="#91-云存储概念与架构" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:云存储是一种通过互联网提供的在线存储服务,允许用户将数据存储在远程服务器上,随时随地访问和管理数据。</li>
<li><strong>架构</strong>
<ul>
<li><strong>前端接口</strong>:用户通过 API、控制台或客户端应用访问云存储服务。</li>
<li><strong>存储层</strong>:包括分布式文件系统、对象存储和块存储,负责数据的存储和管理。</li>
<li><strong>管理层</strong>:提供数据管理、监控、备份和恢复等功能。</li>
<li><strong>网络层</strong>:通过高速网络连接用户和存储服务器,确保数据传输的稳定性和安全性。</li>
</ul>
</li>
</ul>
<h4 id="92-公有云私有云与混合云存储">9.2 公有云、私有云与混合云存储<a aria-hidden="true" tabindex="-1" href="#92-公有云私有云与混合云存储" class="internal"> §</a></h4>
<ul>
<li><strong>公有云存储</strong>
<ul>
<li><strong>定义</strong>:由第三方云服务提供商提供的存储服务,用户通过互联网访问和管理存储资源。</li>
<li><strong>优势</strong>:无需购买和维护硬件设备,按需付费,具备高可扩展性和灵活性。</li>
<li><strong>应用场景</strong>:中小企业、初创公司、动态负载应用等。</li>
</ul>
</li>
<li><strong>私有云存储</strong>
<ul>
<li><strong>定义</strong>:在企业内部或由第三方托管的数据中心部署的专用存储服务,企业独享存储资源。</li>
<li><strong>优势</strong>:更高的安全性和控制性,满足合规性要求,性能可控。</li>
<li><strong>应用场景</strong>:大型企业、政府机构、金融和医疗行业等。</li>
</ul>
</li>
<li><strong>混合云存储</strong>
<ul>
<li><strong>定义</strong>:结合公有云和私有云的存储解决方案,允许数据和应用在公有云和私有云之间自由迁移和管理。</li>
<li><strong>优势</strong>:兼具公有云的灵活性和私有云的安全性,优化资源利用,降低成本。</li>
<li><strong>应用场景</strong>:需要同时满足高安全性和高灵活性需求的企业。</li>
</ul>
</li>
</ul>
<h4 id="93-云存储服务">9.3 云存储服务<a aria-hidden="true" tabindex="-1" href="#93-云存储服务" class="internal"> §</a></h4>
<ul>
<li><strong>AWS S3Amazon Simple Storage Service</strong>
<ul>
<li><strong>特点</strong>高可用性、高持久性、可无限扩展的对象存储服务提供多种存储类型标准、智能分层、Glacier</li>
<li><strong>功能</strong>:数据加密、访问控制、版本控制、跨区域复制、事件通知等。</li>
<li><strong>应用场景</strong>:数据备份和恢复、大数据分析、内容分发、应用存储等。</li>
</ul>
</li>
<li><strong>Azure Blob Storage</strong>
<ul>
<li><strong>特点</strong>:适用于非结构化数据存储的对象存储服务,提供热存储、冷存储和存档存储三种层级。</li>
<li><strong>功能</strong>:数据加密、访问控制、生命周期管理、静态网站托管等。</li>
<li><strong>应用场景</strong>:备份和归档、流媒体存储、日志存储和分析、数据湖等。</li>
</ul>
</li>
<li><strong>Google Cloud Storage</strong>
<ul>
<li><strong>特点</strong>:全球统一命名空间的对象存储服务,提供标准、近线、冷线和存档四种存储类型。</li>
<li><strong>功能</strong>:数据加密、访问控制、版本控制、跨区域复制、对象生命周期管理等。</li>
<li><strong>应用场景</strong>:数据分析、机器学习、媒体内容存储、灾难恢复等。</li>
</ul>
</li>
</ul>
<h4 id="94-云存储的数据迁移策略">9.4 云存储的数据迁移策略<a aria-hidden="true" tabindex="-1" href="#94-云存储的数据迁移策略" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:将数据从本地存储或其他存储平台迁移到云存储的过程和方法。</li>
<li><strong>策略</strong>
<ul>
<li><strong>离线迁移</strong>:通过物理设备(如硬盘)将数据离线传输到云服务提供商的数据中心。</li>
<li><strong>在线迁移</strong>:通过网络直接将数据传输到云存储,常用工具包括 AWS Snowball、Azure Data Box、Google Transfer Appliance。</li>
<li><strong>混合迁移</strong>:结合离线和在线迁移方法,根据数据量和传输速度选择合适的策略。</li>
</ul>
</li>
<li><strong>步骤</strong>
<ul>
<li><strong>评估和规划</strong>:分析数据量、传输速度、安全性要求,制定迁移计划。</li>
<li><strong>数据准备</strong>:对数据进行清理、压缩和加密,确保数据完整性和安全性。</li>
<li><strong>迁移执行</strong>:按照计划进行数据迁移,监控迁移过程,处理异常情况。</li>
<li><strong>验证和优化</strong>:迁移完成后,验证数据完整性和可访问性,进行性能优化和成本管理。</li>
</ul>
</li>
</ul>
<h4 id="95-云存储的成本管理与优化">9.5 云存储的成本管理与优化<a aria-hidden="true" tabindex="-1" href="#95-云存储的成本管理与优化" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:通过优化资源使用和费用支出,提高云存储的成本效益。</li>
<li><strong>方法</strong>
<ul>
<li><strong>选择合适的存储类型</strong>:根据数据访问频率选择合适的存储层级(如热存储、冷存储、存档存储)。</li>
<li><strong>生命周期管理</strong>:设置数据生命周期策略,自动将不常访问的数据转移到低成本存储层级。</li>
<li><strong>数据压缩和重删</strong>:减少存储空间占用,降低存储成本。</li>
<li><strong>监控和分析</strong>:使用监控工具(如 AWS Cost Explorer、Azure Cost Management实时监控存储费用分析成本构成优化资源使用。</li>
<li><strong>按需付费和预留实例</strong>:结合按需付费和预留实例,平衡灵活性和成本效益。</li>
</ul>
</li>
</ul>
<h4 id="96-混合云环境下的数据管理">9.6 混合云环境下的数据管理<a aria-hidden="true" tabindex="-1" href="#96-混合云环境下的数据管理" class="internal"> §</a></h4>
<ul>
<li><strong>定义</strong>:在混合云环境中,对分布在公有云和私有云的数据进行统一管理和协调。</li>
<li><strong>方法</strong>
<ul>
<li><strong>统一管理平台</strong>:使用混合云管理平台(如 VMware Cloud Foundation、Microsoft Azure Arc实现跨云的数据管理和协调。</li>
<li><strong>数据同步和复制</strong>:设置数据同步和复制策略,确保公有云和私有云之间的数据一致性和高可用性。</li>
<li><strong>数据安全和合规</strong>:在混合云环境中,确保数据传输和存储的安全性,符合相关法规和标准(如 GDPR、HIPAA</li>
<li><strong>性能优化</strong>:监控和优化跨云数据传输性能,减少延迟,提高访问速度。</li>
<li><strong>成本管理</strong>:通过统一管理和监控工具,优化混合云环境中的存储成本。</li>
</ul>
</li>
</ul>
<h3 id="10-大数据存储">10. 大数据存储<a aria-hidden="true" tabindex="-1" href="#10-大数据存储" class="internal"> §</a></h3>
<h4 id="101-大数据存储需求与挑战">10.1 大数据存储需求与挑战<a aria-hidden="true" tabindex="-1" href="#101-大数据存储需求与挑战" class="internal"> §</a></h4>
<ul>
<li><strong>数据量</strong>:随着数据量的爆炸式增长,传统存储系统难以应对海量数据的存储需求。</li>
<li><strong>数据类型</strong>:大数据不仅包括结构化数据,还包括半结构化和非结构化数据,如文本、图像、视频等。</li>
<li><strong>数据访问</strong>:需要高效的数据读取和写入性能,以支持大数据分析和实时处理。</li>
<li><strong>成本控制</strong>:在满足性能需求的同时,控制存储系统的成本是一个重要挑战。</li>
<li><strong>数据安全与隐私</strong>:在存储和传输过程中,确保数据的安全性和隐私保护。</li>
<li><strong>数据管理</strong>:有效地管理和维护大量的数据,包括数据备份、恢复和生命周期管理。</li>
</ul>
<h4 id="102-分布式文件系统">10.2 分布式文件系统<a aria-hidden="true" tabindex="-1" href="#102-分布式文件系统" class="internal"> §</a></h4>
<ul>
<li>
<p><strong>HDFSHadoop Distributed File System</strong></p>
<ul>
<li><strong>架构</strong>NameNode 和 DataNode 的角色分工,主从架构。</li>
<li><strong>数据存储</strong>:数据分块存储和副本机制,提高数据的可靠性和可用性。</li>
<li><strong>优缺点</strong>:高容错性和可扩展性,但对小文件支持不佳。</li>
</ul>
</li>
<li>
<p><strong>其他分布式文件系统</strong></p>
<ul>
<li><strong>Ceph</strong>:一种统一的分布式存储系统,支持对象、块和文件存储。</li>
<li><strong>GlusterFS</strong>:开源的分布式文件系统,具备高可用性和高扩展性。</li>
</ul>
</li>
</ul>
<h4 id="103-对象存储系统">10.3 对象存储系统<a aria-hidden="true" tabindex="-1" href="#103-对象存储系统" class="internal"> §</a></h4>
<ul>
<li><strong>概念</strong>:对象存储将数据作为对象进行管理,每个对象包含数据、元数据和唯一标识符。</li>
<li><strong>优势</strong>:高扩展性、支持海量数据存储、灵活的数据管理和检索方式。</li>
<li><strong>常见对象存储系统</strong>
<ul>
<li><strong>Amazon S3</strong>AWS 提供的对象存储服务,具有高可用性和高耐久性。</li>
<li><strong>OpenStack Swift</strong>:开源的对象存储系统,支持大规模集群部署。</li>
<li><strong>MinIO</strong>:高性能的对象存储系统,兼容 Amazon S3 API。</li>
</ul>
</li>
</ul>
<h4 id="104-大数据存储的典型案例">10.4 大数据存储的典型案例<a aria-hidden="true" tabindex="-1" href="#104-大数据存储的典型案例" class="internal"> §</a></h4>
<ul>
<li>
<p><strong>Hadoop</strong></p>
<ul>
<li><strong>架构</strong>:基于 HDFS 进行数据存储,利用 MapReduce 进行数据处理。</li>
<li><strong>应用场景</strong>:适用于批量数据处理、大规模数据分析。</li>
<li><strong>优缺点</strong>:强大的数据处理能力,但实时性较差。</li>
</ul>
</li>
<li>
<p><strong>Cassandra</strong></p>
<ul>
<li><strong>架构</strong>:去中心化、无主节点的分布式数据库,支持多数据中心的高可用性。</li>
<li><strong>数据模型</strong>:基于列族存储,适合处理高吞吐量的写操作。</li>
<li><strong>应用场景</strong>:实时数据分析、事务处理、日志记录。</li>
<li><strong>优缺点</strong>:高扩展性和可用性,但查询复杂性较高。</li>
</ul>
</li>
</ul>
<h4 id="105-大数据存储的性能优化">10.5 大数据存储的性能优化<a aria-hidden="true" tabindex="-1" href="#105-大数据存储的性能优化" class="internal"> §</a></h4>
<ul>
<li><strong>数据分区</strong>:通过数据分区提高数据访问的并行度。</li>
<li><strong>缓存机制</strong>:利用缓存机制减少磁盘 I/O提高访问速度。</li>
<li><strong>压缩技术</strong>:通过数据压缩减少存储空间占用和数据传输时间。</li>
<li><strong>硬件优化</strong>:使用高速硬盘(如 SSD和高带宽网络设备提升整体性能。</li>
<li><strong>数据预处理</strong>:在数据写入前进行预处理,减少后续的处理负担。</li>
</ul>
<h4 id="106-大数据存储的扩展性设计">10.6 大数据存储的扩展性设计<a aria-hidden="true" tabindex="-1" href="#106-大数据存储的扩展性设计" class="internal"> §</a></h4>
<ul>
<li><strong>水平扩展</strong>:增加节点来扩展存储容量和计算能力,确保系统能处理越来越多的数据。</li>
<li><strong>负载均衡</strong>:通过负载均衡机制,均匀分配数据和请求,避免单点瓶颈。</li>
<li><strong>自动化运维</strong>:利用自动化工具进行运维管理,确保系统在扩展过程中的稳定性和可靠性。</li>
<li><strong>容错机制</strong>:设计健壮的容错机制,确保在硬件故障或网络中断时,数据不丢失且系统能快速恢复。</li>
<li><strong>弹性计算</strong>:结合云计算资源,实现按需扩展,满足动态变化的业务需求。</li>
</ul>
<h2 id="第四部分现代化与分布式存储">第四部分:现代化与分布式存储<a aria-hidden="true" tabindex="-1" href="#第四部分现代化与分布式存储" class="internal"> §</a></h2>
<h3 id="11-自建分布式存储系统">11. 自建分布式存储系统<a aria-hidden="true" tabindex="-1" href="#11-自建分布式存储系统" class="internal"> §</a></h3>
<h4 id="111-分布式存储概念与优势">11.1 分布式存储概念与优势<a aria-hidden="true" tabindex="-1" href="#111-分布式存储概念与优势" class="internal"> §</a></h4>
<ul>
<li><strong>分布式存储的定义</strong>:介绍分布式存储系统的基本概念,数据分布在多个节点上,通过网络进行访问和管理。</li>
<li><strong>优势</strong>
<ul>
<li><strong>扩展性</strong>:能够根据需要增加存储节点,实现存储容量的线性扩展。</li>
<li><strong>高可用性</strong>:通过数据冗余和多副本机制,确保系统在部分节点故障时仍能正常工作。</li>
<li><strong>高性能</strong>:分布式存储能够利用多节点并行处理,提升数据读写速度。</li>
<li><strong>成本效益</strong>:利用普通硬件构建高性能存储系统,降低成本。</li>
</ul>
</li>
</ul>
<h4 id="112-minio-安装与配置">11.2 MinIO 安装与配置<a aria-hidden="true" tabindex="-1" href="#112-minio-安装与配置" class="internal"> §</a></h4>
<ul>
<li><strong>MinIO 简介</strong>:介绍 MinIO 的特点和应用场景。</li>
<li><strong>安装步骤</strong>
<ul>
<li><strong>环境准备</strong>:系统要求和依赖安装。</li>
<li><strong>下载和安装</strong>:从官网下载 MinIO 并进行安装。</li>
<li><strong>配置</strong>:配置 MinIO 的存储路径、访问密钥等。</li>
</ul>
</li>
<li><strong>启动和访问</strong>
<ul>
<li><strong>启动 MinIO 服务</strong></li>
<li><strong>通过 Web 界面或命令行工具访问 MinIO</strong></li>
</ul>
</li>
</ul>
<h4 id="113-ceph-存储集群部署">11.3 Ceph 存储集群部署<a aria-hidden="true" tabindex="-1" href="#113-ceph-存储集群部署" class="internal"> §</a></h4>
<ul>
<li><strong>Ceph 简介</strong>Ceph 的架构和核心组件(如 OSD、Monitor、MDS 等)。</li>
<li><strong>部署步骤</strong>
<ul>
<li><strong>环境准备</strong>:系统要求、网络配置和依赖安装。</li>
<li><strong>集群初始化</strong>:安装 Ceph 部署工具(如 ceph-deploy初始化集群。</li>
<li><strong>节点部署</strong>:添加 OSD 节点、Monitor 节点等。</li>
<li><strong>配置和调优</strong>:配置 Ceph 的存储池、CRUSH map 等。</li>
</ul>
</li>
<li><strong>使用和管理</strong>
<ul>
<li><strong>数据存储和访问</strong>:通过 RADOS、CephFS、RBD 等方式访问存储数据。</li>
<li><strong>集群管理</strong>:常用管理命令和操作(如监控、扩展、维护)。</li>
</ul>
</li>
</ul>
<h4 id="114-glusterfs-架构与使用">11.4 GlusterFS 架构与使用<a aria-hidden="true" tabindex="-1" href="#114-glusterfs-架构与使用" class="internal"> §</a></h4>
<ul>
<li><strong>GlusterFS 简介</strong>:介绍 GlusterFS 的架构、特点和应用场景。</li>
<li><strong>安装与配置</strong>
<ul>
<li><strong>环境准备</strong>:系统要求和依赖安装。</li>
<li><strong>安装 GlusterFS</strong>:在各节点上安装 GlusterFS 软件包。</li>
<li><strong>配置卷</strong>:创建和配置分布式卷、复制卷等。</li>
</ul>
</li>
<li><strong>使用与管理</strong>
<ul>
<li><strong>挂载和访问</strong>:客户端挂载 GlusterFS 卷,读写数据。</li>
<li><strong>管理操作</strong>:卷扩展、缩减、迁移等操作。</li>
</ul>
</li>
</ul>
<h4 id="115-分布式存储系统的负载均衡">11.5 分布式存储系统的负载均衡<a aria-hidden="true" tabindex="-1" href="#115-分布式存储系统的负载均衡" class="internal"> §</a></h4>
<ul>
<li><strong>负载均衡的概念</strong>:介绍负载均衡在分布式存储系统中的作用。</li>
<li><strong>实现策略</strong>
<ul>
<li><strong>数据分片</strong>:将数据分散存储在不同节点上,实现负载均衡。</li>
<li><strong>读写分离</strong>:将读写操作分离,分别处理,减少单节点负担。</li>
<li><strong>动态调整</strong>:根据节点负载情况,动态调整数据分布和请求路由。</li>
</ul>
</li>
<li><strong>工具与实践</strong>
<ul>
<li><strong>常用负载均衡工具</strong>:如 HAProxy、LVS 等。</li>
<li><strong>实际案例分析</strong>:分析具体分布式存储系统中的负载均衡实现。</li>
</ul>
</li>
</ul>
<h4 id="116-数据复制与同步策略">11.6 数据复制与同步策略<a aria-hidden="true" tabindex="-1" href="#116-数据复制与同步策略" class="internal"> §</a></h4>
<ul>
<li><strong>数据复制的必要性</strong>:确保数据的高可用性和可靠性。</li>
<li><strong>复制策略</strong>
<ul>
<li><strong>同步复制</strong>:实时同步数据,保证数据一致性。</li>
<li><strong>异步复制</strong>:延迟同步,减少实时同步带来的性能开销。</li>
<li><strong>多副本机制</strong>:设置多个数据副本,提高数据冗余度。</li>
</ul>
</li>
<li><strong>同步工具与技术</strong>
<ul>
<li><strong>常用同步工具</strong>:如 rsync、DRBD 等。</li>
<li><strong>实际应用</strong>:在具体分布式存储系统中的数据同步实现。</li>
</ul>
</li>
</ul>
<h4 id="117-分布式存储系统的监控与维护">11.7 分布式存储系统的监控与维护<a aria-hidden="true" tabindex="-1" href="#117-分布式存储系统的监控与维护" class="internal"> §</a></h4>
<ul>
<li><strong>监控的必要性</strong>:实时了解系统运行状态,预防和快速响应故障。</li>
<li><strong>监控工具</strong>
<ul>
<li><strong>常用监控工具</strong>:如 Prometheus、Grafana、Zabbix 等。</li>
<li><strong>日志管理工具</strong>:如 ELKElasticsearch、Logstash、Kibana栈。</li>
</ul>
</li>
<li><strong>维护实践</strong>
<ul>
<li><strong>常见问题排查</strong>:识别和解决存储系统中的常见问题。</li>
<li><strong>系统升级和扩展</strong>:无缝升级系统和增加存储节点。</li>
<li><strong>备份与恢复</strong>:定期进行数据备份,制定灾难恢复计划。</li>
</ul>
</li>
</ul>
<h3 id="12-分布式文件系统与对象存储">12. 分布式文件系统与对象存储<a aria-hidden="true" tabindex="-1" href="#12-分布式文件系统与对象存储" class="internal"> §</a></h3>
<h4 id="121-分布式文件系统原理与实现">12.1 分布式文件系统原理与实现<a aria-hidden="true" tabindex="-1" href="#121-分布式文件系统原理与实现" class="internal"> §</a></h4>
<ul>
<li><strong>基本概念</strong>
<ul>
<li>分布式文件系统的定义和作用。</li>
<li>常见的分布式文件系统(如 HDFS、Ceph、GlusterFS 等)。</li>
</ul>
</li>
<li><strong>体系结构</strong>
<ul>
<li>分布式文件系统的整体架构和组成部分(如客户端、元数据服务器、数据节点)。</li>
<li>数据存储和访问机制。</li>
</ul>
</li>
<li><strong>实现原理</strong>
<ul>
<li>文件切分和分块存储。</li>
<li>数据冗余和副本机制。</li>
<li>负载均衡和数据分布策略。</li>
</ul>
</li>
<li><strong>关键技术</strong>
<ul>
<li>数据分片和分布算法。</li>
<li>元数据管理和一致性模型。</li>
<li>容错和恢复机制。</li>
</ul>
</li>
</ul>
<h4 id="122-对象存储与块存储的区别与应用场景">12.2 对象存储与块存储的区别与应用场景<a aria-hidden="true" tabindex="-1" href="#122-对象存储与块存储的区别与应用场景" class="internal"> §</a></h4>
<ul>
<li><strong>基本概念</strong>
<ul>
<li>对象存储、块存储和文件存储的定义。</li>
<li>三者的主要区别和各自的优缺点。</li>
</ul>
</li>
<li><strong>对象存储</strong>
<ul>
<li>对象存储的架构和实现方式。</li>
<li>对象存储的特点(如可扩展性、元数据自描述、扁平化存储结构)。</li>
<li>常见的对象存储系统(如 Amazon S3、OpenStack Swift、MinIO 等)。</li>
<li>典型应用场景(如大数据分析、备份和归档、内容分发网络)。</li>
</ul>
</li>
<li><strong>块存储</strong>
<ul>
<li>块存储的架构和实现方式。</li>
<li>块存储的特点(如高性能、低延迟、适合结构化数据存储)。</li>
<li>常见的块存储系统(如 iSCSI、Fibre Channel、NVMe-oF</li>
<li>典型应用场景(如数据库、虚拟机存储、事务处理)。</li>
</ul>
</li>
</ul>
<h4 id="123-高可用与数据一致性策略">12.3 高可用与数据一致性策略<a aria-hidden="true" tabindex="-1" href="#123-高可用与数据一致性策略" class="internal"> §</a></h4>
<ul>
<li><strong>高可用性</strong>
<ul>
<li>高可用性的定义和重要性。</li>
<li>实现高可用的技术(如副本机制、自动故障转移、负载均衡)。</li>
<li>分布式文件系统和对象存储的高可用设计。</li>
</ul>
</li>
<li><strong>数据一致性</strong>
<ul>
<li>数据一致性的基本概念和类型(如强一致性、最终一致性、因果一致性)。</li>
<li>一致性协议和算法(如 Paxos、Raft</li>
<li>CAP 定理及其影响。</li>
<li>数据一致性在分布式文件系统和对象存储中的实现策略。</li>
</ul>
</li>
</ul>
<h4 id="124-分布式文件系统的元数据管理">12.4 分布式文件系统的元数据管理<a aria-hidden="true" tabindex="-1" href="#124-分布式文件系统的元数据管理" class="internal"> §</a></h4>
<ul>
<li><strong>元数据管理的作用</strong>
<ul>
<li>元数据的定义和重要性。</li>
<li>元数据在分布式文件系统中的角色。</li>
</ul>
</li>
<li><strong>元数据架构</strong>
<ul>
<li>集中式元数据管理和分布式元数据管理的对比。</li>
<li>常见的元数据管理方式(如主从复制、一致性哈希)。</li>
</ul>
</li>
<li><strong>元数据操作</strong>
<ul>
<li>元数据创建、更新和删除的操作流程。</li>
<li>元数据的高效查询和检索机制。</li>
</ul>
</li>
<li><strong>元数据一致性</strong>
<ul>
<li>元数据一致性的挑战和解决方案。</li>
<li>元数据的一致性模型和实现策略。</li>
</ul>
</li>
</ul>
<h4 id="125-对象存储的生命周期管理">12.5 对象存储的生命周期管理<a aria-hidden="true" tabindex="-1" href="#125-对象存储的生命周期管理" class="internal"> §</a></h4>
<ul>
<li><strong>生命周期管理的概念</strong>
<ul>
<li>对象存储生命周期的定义和重要性。</li>
<li>生命周期管理的基本操作(如创建、修改、归档、删除)。</li>
</ul>
</li>
<li><strong>生命周期策略</strong>
<ul>
<li>自动化生命周期管理策略的制定和应用。</li>
<li>生命周期管理规则的配置和优化。</li>
</ul>
</li>
<li><strong>版本控制</strong>
<ul>
<li>对象存储的版本控制机制。</li>
<li>版本管理和恢复操作。</li>
</ul>
</li>
<li><strong>数据迁移和归档</strong>
<ul>
<li>数据迁移策略和工具。</li>
<li>数据归档和删除策略。</li>
<li>数据治理和合规性管理。</li>
</ul>
</li>
</ul>
<h4 id="126-分布式文件系统和对象存储的实际应用案例分析">12.6 分布式文件系统和对象存储的实际应用案例分析<a aria-hidden="true" tabindex="-1" href="#126-分布式文件系统和对象存储的实际应用案例分析" class="internal"> §</a></h4>
<ul>
<li><strong>案例选择</strong>
<ul>
<li>选择具有代表性的分布式文件系统和对象存储案例。</li>
<li>分析案例的背景和需求。</li>
</ul>
</li>
<li><strong>系统架构</strong>
<ul>
<li>详细描述系统的架构设计。</li>
<li>分析系统的组件和功能模块。</li>
</ul>
</li>
<li><strong>实现过程</strong>
<ul>
<li>描述系统的实现过程和技术选型。</li>
<li>分析系统在实施过程中遇到的问题和解决方案。</li>
</ul>
</li>
<li><strong>性能和优化</strong>
<ul>
<li>系统的性能评估和优化策略。</li>
<li>系统的可扩展性和维护性分析。</li>
</ul>
</li>
<li><strong>总结和反思</strong>
<ul>
<li>总结案例的成功经验和不足之处。</li>
<li>提出改进建议和未来发展方向。</li>
</ul>
</li>
</ul></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:1,&quot;scale&quot;:1.1,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:-1,&quot;scale&quot;:0.9,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc" class><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content"><ul class="overflow"><li class="depth-0"><a href="#第一部分基础知识" data-for="第一部分基础知识">第一部分:基础知识</a></li><li class="depth-1"><a href="#1-计算机存储基础" data-for="1-计算机存储基础">1. 计算机存储基础</a></li><li class="depth-1"><a href="#2-存储硬件" data-for="2-存储硬件">2. 存储硬件</a></li><li class="depth-1"><a href="#3-存储架构" data-for="3-存储架构">3. 存储架构</a></li><li class="depth-0"><a href="#第二部分中级知识" data-for="第二部分中级知识">第二部分:中级知识</a></li><li class="depth-1"><a href="#4-文件系统与数据管理" data-for="4-文件系统与数据管理">4. 文件系统与数据管理</a></li><li class="depth-1"><a href="#5-存储虚拟化" data-for="5-存储虚拟化">5. 存储虚拟化</a></li><li class="depth-1"><a href="#6-存储网络" data-for="6-存储网络">6. 存储网络</a></li><li class="depth-0"><a href="#第三部分高级知识" data-for="第三部分高级知识">第三部分:高级知识</a></li><li class="depth-1"><a href="#7-高性能存储技术" data-for="7-高性能存储技术">7. 高性能存储技术</a></li><li class="depth-1"><a href="#8-数据保护与安全" data-for="8-数据保护与安全">8. 数据保护与安全</a></li><li class="depth-1"><a href="#9-云存储" data-for="9-云存储">9. 云存储</a></li><li class="depth-1"><a href="#10-大数据存储" data-for="10-大数据存储">10. 大数据存储</a></li><li class="depth-0"><a href="#第四部分现代化与分布式存储" data-for="第四部分现代化与分布式存储">第四部分:现代化与分布式存储</a></li><li class="depth-1"><a href="#11-自建分布式存储系统" data-for="11-自建分布式存储系统">11. 自建分布式存储系统</a></li><li class="depth-1"><a href="#12-分布式文件系统与对象存储" data-for="12-分布式文件系统与对象存储">12. 分布式文件系统与对象存储</a></li></ul></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li>No backlinks found</li></ul></div><div class="explorer mobile-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{&quot;path&quot;:&quot;Basics&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Basics/english&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Blog&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/个人成长&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/医学健康&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/历史&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/哲学宗教&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/心理&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/政治军事&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/教育学习&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/文学&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/生活百科&quot;,&quot;collapsed&quot;:true},{&quot;path&quot;:&quot;Book/<2F><>
function toggleCallout() {
const outerBlock = this.parentElement;
outerBlock.classList.toggle(`is-collapsed`);
const collapsed = outerBlock.classList.contains(`is-collapsed`);
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
outerBlock.style.maxHeight = height + `px`;
let current = outerBlock;
let parent = outerBlock.parentElement;
while (parent) {
if (!parent.classList.contains(`callout`)) {
return;
}
const collapsed2 = parent.classList.contains(`is-collapsed`);
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
parent.style.maxHeight = height2 + `px`;
current = parent;
parent = parent.parentElement;
}
}
function setupCallout() {
const collapsible = document.getElementsByClassName(
`callout is-collapsible`
);
for (const div of collapsible) {
const title = div.firstElementChild;
if (title) {
title.removeEventListener(`click`, toggleCallout);
title.addEventListener(`click`, toggleCallout);
const collapsed = div.classList.contains(`is-collapsed`);
const height = collapsed ? title.scrollHeight : div.scrollHeight;
div.style.maxHeight = height + `px`;
}
}
}
document.addEventListener(`nav`, setupCallout);
window.addEventListener(`resize`, setupCallout);
</script><script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
mermaid.initialize({
startOnLoad: false,
securityLevel: 'loose',
theme: darkMode ? 'dark' : 'default'
});
document.addEventListener('nav', async () => {
await mermaid.run({
querySelector: '.mermaid'
})
});
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../postscript.js" type="module"></script></html>