⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1682.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 4 页
字号:
vgreduce -- /dev/hda1<br>
<br>
FIXME: we need clarity on a few things. Should the volume group be active? When do we get data loss?<br>
<br>
6.1 当事情发生在晚期时<br>
如果一个磁盘没有出现警告就失败了,你就不能移走它上面的物理分区到另一个物理卷上,这样你可能会丢失数据,除非在这个失败的PV上的逻辑卷是镜像了的。正确的行为是用一个同样的PV或者至少同样大小的分区来替换这个失败的PV。<br>
<br>
/etc/lvmconf目录包含了LVM数据和结构的备份,包括哪些磁盘做成了PV,每个PV属于哪个VG,每个VG中有哪些LV。<br>
<br>
替换了出错的磁盘之后,你可以用vgcfgrestor命令来恢复LVM数据到新的PV上。它恢复卷组和所有它的信息,但是不会恢复在逻辑卷上的数据。这是因为当LVM数据做一些更改时,LVM命令自动做备份。<br>
<br>
<br>
--------------------------------------------------------------------------------<br>
<br>
7. 为一致性备份做快照<br>
这是更加难以置信的一个可能性。假设你有一个非常繁忙的服务器,有许多东西运行。为了一个有用的备份,你需要停止大量的程序,否则,你将以数据不一致告终。<br>
<br>
一个规范的例子是从/tmp移动一个文件到/root下,而且/root将先备份。当/root被读的时候,这个文件还不在那里。当/tmp被备份时,这个文件已经不在了。<br>
<br>
另一个事例是保存数据库或目录。如果一个文件在使用状态,我们就没有任何线索了,除非我们给应用程序时间做一个清除的关闭。<br>
<br>
这样的话,新的问题又出现了。我们关闭程序,做我们的备份,接着重新启动它们。如果备份只花几分钟这是很好的,但是,如果它要花数小时,或者你根本不确定它到底要花多久的时候,事情就真的痛苦了。<br>
<br>
LVM可以营救。<br>
<br>
使用LVM,我们可以做一个LV瞬间的快照,然后mount它,再备份它。<br>
<br>
让我们试验一下:<br>
<br>
<br>
# mount /dev/test/HOWTO /mnt<br>
# echo &gt; /mnt/a.test.file<br>
# ls /mnt/<br>
a.test.file lost+found<br>
# ls -l /mnt/<br>
total 13<br>
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file<br>
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found<br>
<br>
Ok,我们现在有些事情要用它一起做。让我们产生这个快照:<br>
<br>
<br>
# lvcreate --size 16m --snapshot --name snap /dev/test/HOWTO<br>
lvcreate -- WARNING: all snapshots will be disabled if more than 16 MB are changed<br>
lvcreate -- INFO: using default snapshot chunk size of 64 KB<br>
lvcreate -- doing automatic backup of "test"<br>
lvcreate -- logical volume "/dev/test/HOWTO" successfully created<br>
<br>
对于“--size”参数以后再详述。让我们mount这个快照:<br>
<br>
<br>
# mount /dev/test/snap /snap<br>
# ls /snap<br>
total 13<br>
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file<br>
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found<br>
<br>
现在我们从原处删除a.test.file,并且检查它是否仍然在快照里:<br>
<br>
<br>
# rm /mnt/a.test.file<br>
# ls /snap<br>
total 13<br>
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file<br>
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found<br>
<br>
太令人惊讶了!<br>
<br>
7.1 它是如何工作的?<br>
记得我们不得不设置“--size”参数吗?真正发生的事情是,“snap”卷需要有那些当LVM调用时,在原处要被改变的所有块的一个拷贝。<br>
<br>
当我们删除a.test.file时,它的i节点被删除。这引起64KB要被标注成“脏的”--同时原始数据的一个拷贝被写到“snap”卷。这个例子中,我们分配了16MB给快照,因此如果多于16MB的块要被修改,快照就会无效了。<br>
<br>
要决定一个快照分区的正确大小,你将不得不推测基于主LV的使用模式、快照要激活的总时间。例如,在午夜,当无人使用系统的情况下,一个几小时的备份可能要求很小的空间。<br>
<br>
请注意,快照不是永久的。如果你卸下LVM或重启,它们就丢失了,需要重新创建。<br>
<br>
<br>
--------------------------------------------------------------------------------<br>
<br>
8. 冗余 & 性能<br>
为了性能的考虑,可以将数据分散在几个条块化的磁盘上。这意味着块1在PV A上,块2在PV B上,块3又在PV A上。你也可以条块化跨多余2块磁盘。<br>
<br>
这样的安排意味着你有更多有效的磁盘带宽。也就是说包含了更多的“轴”。以后会详述。<br>
<br>
除此之外,为了提高性能,也可以将你的数据在多个磁盘上有多份拷贝。这叫做镜像。目前,LVM本身还不支持它,但是有多种方法能实现镜像。<br>
<br>
8.1 为何要条块化?<br>
磁盘的性能至少受三种因素的影响。最明显的是一块磁盘上的数据能连续被读或写的速度。这是当读或写仅连接了一个单一的磁盘的SCSI/IDE总线上的一个大文件时的限制因素。<br>
<br>
接着是到磁盘的有效带宽。如果你在一个SCSI总线上有7块盘,这也许会小于你的磁盘本身写的速度。如果你愿意花足够的钱,你可以避免这个瓶颈成为一个问题。<br>
<br>
然后是响应时间。当成谚语说,响应时间总是坏消息。甚至更坏的是,你不可能通过花更多的钱来降低响应时间!现在出产的大多数磁盘有一个大约7ms的响应时间。还有SCSI响应时间,通常是大约25ms。<br>
<br>
FIXME: need recent numbers!<br>
<br>
这意味着什么?在一个典型情形,总的响应时间大约是30ms。因此你每秒钟只能执行大约33个磁盘操作。如果你想每秒钟能做数千个查询,并且你没有大量的缓存,那么你就非常不走运了。<br>
<br>
如果你有多个磁盘,或者“轴”,在并行工作,那么你可以有多个命令很好地围绕你的响应问题同时执行。有些应用程序,比如一个大的新闻服务器,如果没有条块化或其它I/O敏捷性它甚至不再工作。<br>
<br>
这就是条块化做的事。如果你的总线能胜任,甚至连续的读和写可能会更快。<br>
<br>
8.2 为何不条块化<br>
条块化没有进一步的措施来解除你的错误机会,按一个“每次一比特”的基本原则。如果你的磁盘任一块死了,你全部的逻辑卷都会丢失。如果你正好连接数据,仅仅文件系统部分丢失。<br>
<br>
最终的选项是镜像的条块化。<br>
<br>
FIXME: make a mirrored stripe with LVM and md<br>
<br>
8.3 LVM本身的条块化<br>
当用lvcreate创建LV时,指定条块化配置项。有两个相关参数。-i参数告诉LVM应该在多少个PV上分散数据。条块化不是真的按一次一比特的基础来做的,而是按块。-I参数指定单位为KB的块大小。注意它必须是2的一个幂,而且最大的块大小为128KB。<br>
<br>
例如:<br>
<br>
<br>
# lvcreate -n stripedlv -i 2 -I 64 mygroup -L 20M<br>
lvcreate -- rounding 20480 KB to stripe boundary size 24576 KB / 6 PE<br>
lvcreate -- doing automatic backup of "mygroup"<br>
lvcreate -- logical volume "/dev/mygroup/stripedlv" successfully created<br>
<br>
性能注意事项<br>
如果跨同一块磁盘的两个分区来条块化,性能的“增加”可能会是非常消极的--注意避免这样。跨单一的IDE总线上的两个磁盘来条块化也是没用的--除非IDE已经改进了我所记忆的。<br>
<br>
FIXME: is this still true?<br>
<br>
很老的主板可能有两个IDE总线,但是第二个通常是用于一个相对慢的cdrom驱动器。你可以用几个工具来执行基准,最令人注目的是“Bonnie”。ReiserFS人们已经发布了Bonnie++,它可以用来测试性能数据。<br>
<br>
8.4 硬件RAID<br>
多数高速的Inter x86服务器有硬件RAID控制器。它们中大部分至少有2个独立的SCSI通道。幸运的是,这些在LVM上很少有关系。在Linux能看到如此一个控制器上的任何东西之前,管理员必须在RAID控制器自身里定义一个逻辑驱动器。举一个例子,他(她)可能选择条块化在SCSI通道A上的两个磁盘,然后镜像它们到通道B上的两块磁盘上。这是一个典型的RAID 0/1配置,最佳化性能和数据安全。当Linux在一台采用这种配置的机器上启动时,它只能“看”到在RAID控制器上的一块磁盘,那就是包含了RAID 0/1条块组上四块磁盘的逻辑驱动器。这就是说,至于LVM关心的,仅仅是在这台机器上的一块磁盘,它将被同样地使用。如果这些磁盘中的一个失败了,LVM甚至不知道。当管理员替换了磁盘(甚至很快的用热备硬件),LVM也不知道任一种情况发生了。控制器会重新同步镜像的数据,一切都良好。这里多数人会退一步来询问“那么使用这个RAID控制器,LVM为我带来什么好处呢?”最容易的回答是,多数情况下,你在RAID控制器里定义了一个逻辑驱动器后,你不可能在以后添加更多的磁盘到那个驱动器了。因此,如果你误算了所要求的空间,或者你只是需要更多的空间,你都不可能添加一个新的磁盘或一组磁盘到原来的条块组里。这意味着你必须在这个控制器里创建一个新的RAID条块组,然后用LVM你可以简单的扩展LVM的LV,以致它无缝的跨越RAID控制器里的两个条块组。<br>
<br>
FIXME: Is there more needed on this subject ?<br>
<br>
8.5 Linux软件RAID<br>
Linux 2.4带着一个非常好的RAID代替出现了。Linux 2.2缺省的,当被Alan Cox发布时,是一个初期的RAID版本的特写,它没有被很好的重视。2.2仍然是早期版本特色的原因是写内核的人们不想在一个稳定的版本里做改动,那样会要求使用者更新。<br>
<br>
更多的人们,包括Red Hat,Mandrake和SuSE,选择用表现得很完美的0.90版本来替换它。<br>
<br>
这里我们只论述0.90版本。<br>
<br>
FIXME: write more of this<br>
<br>
<br>
--------------------------------------------------------------------------------<br>
<br>
9. Cookbook<br>
9.1 在计算机之间移动LVM磁盘<br>
使用这些新技术,简单的任务象从一台计算机移动磁盘到另一台计算机就变得有些机警了。在用LVM之前,用户只需要把这块盘放到新的机器上并且mount这些文件系统。使用LVM,就多一点事情要做。LVM结构既保存在磁盘上也保存在/etc/lvmconf目录里,因此,移动一个或一组包含了一个VG的磁盘所要做的唯一的事情是确保这个VG属于的机器不会破坏它的数据。这是通过vgexport命令来实现的。vgexport仅仅从/etc/lvmconf删除关于这个VG的结构,而不会更改磁盘上的任何内容。一旦磁盘放到新的机器上(他们没必要有相同的ID),唯一要做的事情就是修改/etc/lvmconf。这是通过vgimport来做的。<br>
<br>
例如:<br>
<br>
在机器#1:<br>
<br>
<br>
vgchange -a n vg01<br>
vgexport vg01<br>
<br>
在机器#2:<br>
<br>
<br>
vgimport vg01 /dev/sda1 /dev/sdb1<br>
vgchange -a y vg01<br>
<br>
注意你没必要为这个VG使用相同的名字。如果vgimport命令没有保存配置的备份,那就用vgcfgbackup来做。<br>
<br>
9.2 重建/etc/lvmtab 和/etc/lvmtab.d<br>
FIXME: write about more neat stuff<br>
<br>
<br>
--------------------------------------------------------------------------------<br>
<br>
10. 进一步阅读<br>
LVM站点<br>
主要的有效LVM资源<br>
德文LVM HOWTO<br>
如果你能读懂德文,它就已经包含了许多信息<br>
德文HOWTO的翻译<br>
Peter.Wuestefeld@resnova.de正在将德文HOWTO翻译成英语。看来他们会花许多时间在上面。如果你怀疑我们的HOWTO,或者想知道些什么,请试试他们的努力。<br>
HP/UX管理磁盘向导<br>
因为Linux LVM几乎就是HP/UX执行的一个原样,他们的文档对我们也是非常有用的。是一个很好的资料。<br>
<br>
11. 致谢<br>
我们尝试在这里列出所有帮助我们写这篇HOWTO的人。包括呈报更新、修复或投稿的人,还有帮助我们理解这个主题的人。<br>
<br>
Axel Boldt<br>
Sean Reifschneider<br>
Alexander Talos<br>
Eric Maryniak<br>
</FONT><br>
                                      </TD>
                                    </TR>
                                <TR>
                                <TD colSpan=2><FONT 
                                class=middlefont></FONT><BR>
                                        <FONT 
                                class=normalfont>全文结束</FONT> </TD>
                                    </TR>
                                <TR>
                                <TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2 
                                height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
                        <TD vAlign=top width="20%" 
                      background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2> 
                          <DIV align=center> 
                            <table class=tableoutline cellspacing=1 cellpadding=4 
                        width="100%" align=center border=0>
                              <tr class=firstalt> 
                                <td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
                                <font class=normalfont><b>所有分类</b></font></td>
                              </tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td>    </tr>  </table></td></tr>                            </table>
                          </DIV></TD></TR>
                    <TR vAlign=top>
                        <TD width="80%"> 
                          <DIV align=center><BR>
                          </DIV>
                        </TD></TR></TBODY></TABLE></TD></TR>
                </TABLE></TD></TR>
          </TABLE>
      <TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee 
        border=0><TBODY>
        <TR>
          <TD width="50%">
              <P><FONT class=middlefont>版权所有 &copy; 2004 <A 
            href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
                违者必究. </FONT></P>
            </TD>
          <TD width="50%">
              <DIV align=right><FONT class=middlefont>Powered by: <A 
            href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
            </TD></TR></TBODY></TABLE>
      <CENTER></CENTER></TD></TR>
    </TABLE></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -