📄 vinum-objects.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>Vinum 目标</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="Vinum 卷管理程序" href="vinum-vinum.html" /><link rel="PREVIOUS" title="数据的完整性" href="vinum-data-integrity.html" /><link rel="NEXT" title="一些例子" href="vinum-examples.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="vinum-data-integrity.html"accesskey="P">后退</a></td><td width="80%" align="center" valign="bottom">章 17. Vinum 卷管理程序</td><td width="10%" align="right" valign="bottom"><a href="vinum-examples.html"accesskey="N">前进</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="VINUM-OBJECTS" name="VINUM-OBJECTS">17.5. Vinum 目标</a></h1><p>为了解决这些问题,Vinum 提出了一个四层的目标结构:</p><ul><li><p>T最显著的目标是虚拟磁盘, 叫做 <span class="emphasis"><iclass="EMPHASIS">卷(volume)</i></span>. 卷本质上与一个UNIX 磁盘驱动器有同样的属性,虽然它们是有些不太一样。它们没有大小的限制。</p></li><li><p>卷下面是 <span class="emphasis"><i class="EMPHASIS">plexes</i></span>,每一个表示卷的所有地址空间。在层次结构中的这个水平能够提供 冗余功能。可以把plex想象成用一个镜象排列的方式组织起来的 独立磁盘,每个都包含同样的数据。</p></li><li><p>由于Vinum 存在于UNIX 磁盘存储框架中,所以它也可能 使用UNIX 分区作为多个磁盘plex的组成部分, 但事实上这并不可靠:UNIX 磁盘只能有有限数量的分区。 取而代之,Vinum把一个简单的UNIX 分区 (the <span class="emphasis"><i class="EMPHASIS">drive</i></span>)分解成叫做<span class="emphasis"><i class="EMPHASIS">subdisks</i></span>的相邻区域,它可以使用这个 来为plex 建立块。</p></li><li><p>Subdisks 位于 Vinum <span class="emphasis"><i class="EMPHASIS">驱动器上</i></span>,当前的UNIX 分区。Vinum 驱动器可以包含很多的subdisks。除了驱动器开始的一小块区域用来存储配置和描述信息以外,整个 驱动器都可以用于存储数据。</p></li></ul><p>下面的章节描述了这些目标提供了Vinum 所要求的功能的方法。</p><div class="SECT2"><h2 class="SECT2"><a id="AEN25621" name="AEN25621">17.5.1. 卷的大小要求</a></h2><p>在Vinum的配置中,Plex可以把多个subdisk 分布在所有的驱动上。 结果,每个独立的驱动器的大小都不会限制plex 的大小,从而不会限制卷的大小</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN25624" name="AEN25624">17.5.2. 多余的数据存储</a></h2><p>Vinum 通过给一个卷连上多个plex 来完成镜象的功能。 每个plex是一个在一个卷中的数据的描述。一个卷可以包含一个 到八个plex。</p><p>Although虽然一个plex 描述了一个卷的所有数据,,但可能描述的部分被物理地丢失了。可能是设计的问题 (没有为plex部分定义一个subdisk)也可能是意外的故障 (由于驱动器的故障导致)。只要至少有一个plex能够为 卷的完全地址范围提供数据,卷就能够正常工作。</p></div><div class="SECT2"><h2 class="SECT2"><a id="AEN25628" name="AEN25628">17.5.3. 性能问题</a></h2><p>Vinum 在plex 水平既执行串联也执行分段:</p><ul><li><p>一个<span class="emphasis"><i class="EMPHASIS">串连的plex</i></span>轮流使用每个subdisk 的地址空间。</p></li><li><p>一个 <span class="emphasis"><i class="EMPHASIS">分段的plex</i></span> 在每个subdisk 上划分数据. Subdisk 必须是大小一样的,为了从一个连接的plex 中区分开它,必须至少有两个subdisk。</p></li></ul></div><div class="SECT2"><h2 class="SECT2"><a id="AEN25638" name="AEN25638">17.5.4. 哪种plex 组织更有效?</a></h2><p>FreeBSD 5.2.1提供的Vinum 版本能实现两种plex:</p><ul><li><p>串联的plex 更加灵活:它们可以包含任何数量的subdisk, subdisk 也可能有不同的长度。Plex可以通过添加额外的subdisk 来得到扩展。 它们需要更少的 <acronymclass="ACRONYM">CPU</acronym> 时钟相对分段plexes, 尽管 <acronymclass="ACRONYM">CPU</acronym> 上的负载差异是不可测量的。另一方面,它们的负载可能不平衡,一个磁盘可能负载很重, 而其他的可能很空闲。</p></li><li><p>分段(<acronym class="ACRONYM">RAID-0</acronym>) plexes 的最大优点是它们减少了负载不平衡的情况: 通过选择一个最合适大小的分段 (大约是256 kB),你甚至可以在各个组成的驱动器上降低负载 . 这种方法的缺点是在subdisk上受到非常复杂的编码限制 : 它们必须是同样大小, 通过添加新的subdisk 来扩展一个plex是非常复杂的,以至Vinum 当前没有实现它. Vinum 利用一个额外的,代价不高的限制:一个分段的plex 必须有至少两个subdisk,因为否则的话,它是无法从一个连接的plex 进行区分的。</p></li></ul><p><a href="vinum-objects.html#VINUM-COMPARISON">表格 17-1</a> 总结一下每个plex 组织的优点和缺点.</p><div class="TABLE"><a id="VINUM-COMPARISON" name="VINUM-COMPARISON"></a><p><b>表格 17-1. Vinum Plex组织图</b></p><table border="0" frame="void" class="CALSTABLE"><col /><col /><col /><col /><col /><thead><tr><th>Plex 类型</th><th>最少subdisks</th><th>可否添加subdisks</th><th>必须相同大小</th><th>应用</th></tr></thead><tbody><tr><td>串联</td><td>1</td><td>可以</td><td>不可以</td><td>带有很大弹性和适中性能的大数据量存储。</td></tr><tr><td>分段</td><td>2</td><td>不可以</td><td>可以</td><td>大量并发访问时,具有较高性能。</td></tr></tbody></table></div></div></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="vinum-data-integrity.html"accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">起点</a></td><td width="33%" align="right" valign="top"><a href="vinum-examples.html"accesskey="N">前进</a></td></tr><tr><td width="33%" align="left" valign="top">数据的完整性</td><td width="34%" align="center" valign="top"><a href="vinum-vinum.html"accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">一些例子</td></tr></table></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -