通用线程: 学习 Linux LVM

通用线程: 学习 Linux LVM

“逻辑卷管理”为存储器管理带来的魔力html

Daniel Robbins ( drobbins@gentoo.org), 总裁兼 CEO, Gentoo Technologies, Inc.

简介: 在本文中,Daniel 向您介绍了 Linux LVM(逻辑卷管理)背后的概念,并告诉您如何将最新的内核补丁和工具安装到您的系统上。LVM 可让您在除机器上的物理存储资源之外建立逻辑卷。不过,与物理卷不一样,逻辑卷能够在系统仍处于运行状态时扩充和缩减,这样就为 Linux 系统管理员提供了他们求之不得的存储器灵活性。linux

在这一系列中,我要向您介绍如何安装和使用新的内置在 Linux 2.4 内核中的“逻辑卷管理”支持。若是您之前从未使用过任何形式的 LVM ,那么您得好好学一学;它是一种很是棒的技术。 在咱们真正设置和运行 LVM 以前,我要解释一下它到底是什么以及它是如何工做的。而后,咱们准备对 LVM 作一些测试来充分了解它。web

LVM 介绍服务器

若是您象我同样,那么您对 UNIX 和 Linux 的体验是从 PC 平台,而不是从大型的商业 UNIX 服务器和工做站上开始的。在基本 PC 上,咱们老是不得不对硬盘驱动器执行分区。使用 PC 的人一般至关了解 fdisk 这样的在硬盘上建立和删除主要分区和扩展分区的工具。硬盘分区是一种使人厌烦,但公认是使操做系统设置和运行进程不可或缺的一部分。jsp

由于要作好工做,确实须要精确地估计每一个分区须要多少空间,因此硬盘驱动器分区多是很是烦人的事。若是估计得不许确,Linux 系统极可能会顾此失彼 -- 为解决这个问题,您甚至可能须要执行整个系统备份、将硬盘清除干净,而后将全部数据恢复到新的(可能比原来好一些)分区布局中。讨厌!这些就是系统管理员在一开始就尽力避免的状况。编辑器

虽然分区曾一度是静态存储器的天下,但值得庆幸的是,咱们如今有许多 PC 从新分区工具(PowerQuest 的 Partition Magic 产品就是最流行的一种)。这些工具可让您用一个特殊磁盘来引导系统,并能够动态地从新调整分区和文件系统的大小。从新引导后,您就拥有了从新调整过大小的新分区,这样就有望将您从存储器危境中解脱出来。这些从新调整分区大小的工具颇有效,并从某种程度上解决了一些存储器管理问题。但它们是否是就完美了呢?不必定。工具

象 Partition Magic 这样的工具对于工做站来讲很是有效,但对服务器来讲就不合适了。首先,它们须要从新引导系统。 而这正是大多数系统管理员尽可能避免的。若是在每次须要调整存储器(例如,若是每周存储器调整都须要作很大调整)时不能从新引导机器怎么办?若是须要扩充文件系统使它能跨越多个硬盘驱动器会发生什么,或者若是在容许 Apache 继续提供 Web 页面的同时须要动态扩充或缩减卷的存储容量,您该怎么作?在一个高度可用的动态环境中,基本的分区大小调整器没法知足这些要求。对于这样一些和其它一些状况,“逻辑卷管理”是一种很是出色(若是不是最完美)的解决方案。布局

回页首性能

进入 LVM学习

如今,让咱们看看 LVM 是如何解决这些问题的。咱们执行下面的三步骤过程来建立 LVM 逻辑卷。首先,咱们须要选择用于 LVM 的物理存储器资源。这些一般是标准分区,但也能够是咱们已建立的 Linux Software RAID 卷。若是使用 LVM 术语,这些存储器资源称为“物理卷”。设置 LVM 的第一步是正确初始化这些分区以使它们能够被 LVM 系统识别。若是添加物理分区,它还包括设置正确的分区类型,以及运行 pvcreate 命令。

在初始化 LVM 使用的一个或多个物理卷后,能够继续进行第二步 -- 建立卷组。您能够把卷组看做是由一个或多个物理卷所组成的存储器池。 在 LVM 运行时,咱们能够向卷组添加物理卷,甚至从中除去它们。不过,咱们不能直接在卷组上安装或建立文件系统。而是告诉 LVM 使用咱们的卷组存储器池建立一个或多个“逻辑卷”:


在物理卷上建立卷组
 

建立 LVM 逻辑卷很是容易,并且一旦建立它之后,咱们就能够把文件系统放在它上面、安装它,而后开始使用卷来存储文件。使用 "lvcreate" 命令来建立逻辑卷,指定新卷的名称、所但愿的卷的大小,以及但愿这个特定逻辑卷所属的卷组。 而后,LVM 系统从咱们指定的卷组中分配存储量来建立准备使用的新卷。建立新卷后,能够将 ext2 或 ReiserFS 文件系统放在上面、安装它,而后照咱们喜欢的方式使用它。


从现有卷组建立两个逻辑卷
 

回页首

范围

在幕后,LVM 系统以大小相等的“块”(称为“范围”)为单位分配存储量。咱们能够指定在建立卷组时使用的特定的范围大小。范围的大小缺省为 4Mb,这对于大多数状况来讲至关理想。LVM 的一个好处是在已经安装了逻辑卷并在使用逻辑卷的状况下,能够动态地改变逻辑卷使用的范围的物理存储位置(换句话说,就是存储它们所在的磁盘)。LVM 系统确保逻辑卷在管理员物理地改变存储位置的同时可以继续正常操做。

固然,由于全部事物都是在大小相等的范围之上建立的,因此要为已存在的逻辑卷分配一些额外的范围实际上很容易 -- 换句话说,动态“增加”卷:


从卷组添加额外的范围,扩展逻辑卷的大小
 

一旦扩充了逻辑卷,接下来就能够扩充 ext2 或 ReiserFS 文件系统来利用这一新的磁盘空间。若是使用例如 resize_reiserfs 这样的程序,也能够 在已安装和正使用卷时扩充文件系统!真正使人称奇的是 -- 使用 LVM 和联机文件系统扩充实用程序,能够在改变存储器配置时再也不须要从新引导系统,甚至不须要下降到运行级别 1。

惟一须要关闭系统的状况是在须要添加新的物理磁盘时。添加了新磁盘后,能够将这些新的物理卷添加到卷组中来建立新的范围补给。

回页首

设置 LVM

好,让咱们开始安装 LVM。LVM 由两部分组成:内核部分和一套用户空间工具。为了开始,先跳到主要 LVM 页面(请参阅本文稍后部分的 参考资料)并下载能够找到的最新版本的 LVM tar 文件(当前是 lvm_0.9.1_beta3.tar.gz)。LVM tar 文件包含了全部用户空间工具以及一组内核补丁程序。这正是使人感兴趣的地方。

若是已经安装了 2.4 系列内核,则系统上已有 LVM 支持,若是没有,很简单,只须要从新编译内核来启用 LVM 支持便可。不过,您可能不但愿使用自带的(或发行版提供的)2.4 内核所包括的 LVM 支持。若是但愿使用最新的 LVM 版本,要将 LVM tar 文件中的补丁程序应用到当前的 2.4 内核源码树。如下是执行方法。

为了开始,进入内核源码目录 (/usr/src/linux) 并建立一个称为 "extras" 的目录。而后进入该目录并抽取 LVM tar 文件:

# cd /usr/src/linux
# mkdir extras
# cd extras
# tar xzvf /path/to/location/of/lvm_0.9.1_beta3.tar.gz

执行完这一步后,您会注意到在 extras 中有一个称之为 "LVM" 的目录,它包含了另外一个根据您刚刚解包的 LVM 版本命名的目录。进入这两个目录找到 LVM 源码:

清单 1:找到 LVM 源码

您将看到几个文本文件、脚本和源目录。您会在 "INSTALL" 文件中找到安装指令;我将指导您完成这一过程。首先,咱们但愿运行配置脚本,以下:

# ./configure --prefix=/ --mandir=/usr/man

回页首

修补

执行完这条命令后,将建立并配置 Makefile,以在 /sbin 中安装全部 LVM 工具,在 /usr/man 中安装帮助页面。若是您的帮助页面位于 /usr/share/man 中(按照 FHS 2.1),则对上述路径做相应的调整。若是内核源码不在 /usr/src/linux 中,还须要将 "--with-kernel_dir=/path/to/usr/src/linux" 选项添加到一行中。配置脚本完成后,咱们就能够准备安装这些工具并生成当前内核的补丁了。让咱们首先对内核加以修补。进入 PATCHES 目录:

# cd PATCHES

如今输入 "make"。makefile 将生成专用于特定 2.4 系列内核源码的补丁:

# make

补丁名为 lvm-[lvmversion]-[kernelversion].patch。例如,由于我使用的是版本 0.9.1_beta3 的 LVM 和内核 2.4.0-ac11,因此补丁名为 lvm-0.9.1_beta3-2.4.0-ac11.patch。您能够在当前目录中找到它。如今该应用补丁了。要应用补丁,须要将目录切换到内核源码所在的位置,而后使用 patch 命令,如清单 2 所示:

清单 2:patch 命令

虽然 LVM INSTALL 文档并无提到,但我一般将 "-l" 选项传递给 patch。该选项让补丁程序补偿空白中的任何变化(例如细微的缩排变化),这些变化通常会形成补丁的某些部分失败。若是上述命令完成时没有任何带有 "FAILED" 的行,那么就能够准备安装用户磁盘空间工具了。若是不是这样,您须要审视 /usr/src/linux 目录来查找 ..rej 文件,而后使用文本编辑器手工将被拒绝的部分插入到源码中 -- 真麻烦!不过,在大多数状况下,应用补丁都很顺利,您能够迅速使用它。

回页首

配置、编译和安装

好,如今有了一个通过修补的内核,所以它具备最新可用的 LVM 代码。如今须要配置内核来启用 LVM 支持。我建议您直接将 LVM 支持编译到内核中而不是将它配置成做为一个模块编译。启动您喜好的 Linux 内核配置方法:

# cd /usr/src/linux
# make menuconfig

您在 "Multi-device support (RAID and LVM)" 部分中能够找到 LVM 选项。一旦启用了第一个选项:

[*] Multiple devices driver support (RAID and LVM)

....您将看到如下选项,您也应该启用它们:

<*>   Logical volume manager (LVM) support

根据您使用的 LVM 版本,可能还有其它一些但愿启用的与 LVM 相关的选项。完成后,保存内核配置,并执行标准内核编译例程,而后从新引导。 恭喜 -- 您现已启用了内核 LVM 支持;如今,咱们须要编译和安装用户磁盘空间工具。这一步很简单:

# cd /usr/src/linux/extras/LVM/0.9.1_beta3
# make
# make install

另外还有一步,它是可选的。若是您要作的不只是测试 LVM,还须要将如下几行添加到启动 rc 脚本中:

/sbin/vgscan
/sbin/vgchange -a y

这些行将浏览全部可用的卷组并激活它们。而后,将如下这行添加到关机 rc 脚本中,并确保它在卸装了全部文件系统后执行:

/sbin/vgchange -a n

若是只是测试 LVM,能够跳过这些步骤。只是要记住,在每次从新引导后,在逻辑卷可使用前,须要以 root 输入 "vgscan" 和 "vgchange -a y"。

以上就是这篇文章的内容。在下一篇文章中,我将介绍如何建立您本身的逻辑卷,以及如何发挥 LVM 的威力。到时候再见!



在 我前一篇 LVM 文章 中,我解释了 LVM 背后的概念。如今该是发挥 LVM 做用的时候了。在本文中,我将在官方 Gentoo Linux web/cvs/email 服务器 -- cvs.gentoo.org -- 上设置 LVM。尽管 cvs.gentoo.org 只有一个硬盘,但灵活性很强的 LVM 仍然使人难以置信地提供了比标准静态分区方法好得多的改进。我将为您介绍 LVM 转换过程的的全部步骤,这样,若是您有兴趣,能够在本身的机器上执行相似的转换。

在开始以前有一个告诫。由于实现 LVM 是对系统进行的一项重要的变更(包括建立新分区和其它一些潜在的冒险操做),因此在开始这一过程以前备份整个系统 不失为 一个好主意。若是您不想进行备份,我但愿您能使用一台没有什么重要数据的测试机器 :) 应该说我在转换到 LVM 时并无遇到任何问题,但最好作好准备以防万一。

那么,让咱们继续。在开始转换过程以前,我对 cvs.gentoo.org 进行了升级,让它使用下列软件包。在我执行 LVM 转换的时候,这些是当时的最新版本(请参阅本文稍后部分的 参考资料):

  • Linux 内核 2.4.1-ac19
  • LVM 0.9.1_beta5
  • reiserfs-utils 3.6.25

如今轮到硬盘驱动器了。cvs.gentoo.org 有一个不错的新的 IBM 45 GB 硬盘驱动器;不过,当我在 cvs 上安装 Gentoo Linux 时,我只对驱动器中的 10 GB 进行了分区,而将余下的 35 GB 留做“未来的分区”使用。这些是在不使用 LVM 时耍的一点小计谋 -- 将部分驱动器保留不分区是一种为从此的扩充做准备的简单但有效的方式。不过,若是使用 LVM,会有更好的方法。

空间问题

在过去的几个星期中,我注意到个人根 ReiserFS 分区在被缓慢地填满,这能够从下面的 "df" 输出中看出:

Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda3              9765200   6989312   2775888  72% /
tmpfs                   269052         0    269052   0% /dev/shm

如今,72% 被占满的根分区并不构成什么危机,但也决不是一种良好的情况。ReiserFS 和许多其它文件系统同样,随着它愈来愈满而开始逐渐减慢速度,在根文件系统被彻底填满、文件系统的性能遭到重创以前,这只是时间问题。

我决定在硬盘驱动器的结尾处使用 LVM,从 35 GB 的当前未分区空间中建立新逻辑卷来解决这一问题。而后,我会在这个卷上建立一个文件系统,并将 /dev/hda3 的大部份内容转移到其中。

若是您考虑在本身的机器上进行相似的转换,首先须要作的就是在根文件系统上找一个合适的部分转移到逻辑卷上。对我来讲,选择很容易 -- 个人 /home 树占用了大约 5.7 GB。经过将 /home 转移到它本身的 LVM 逻辑卷,个人根文件系统处于大约 20% 容量的位置。由于大多数新数据被添加到 /home,因此个人根文件系统极可能也停留在大约 20% 容量的位置 -- 一种很是健康的状态。

回页首

解决方案的开始

在开始转换以前,首先在硬盘驱动器的结尾处对未使用的空间进行分区。我使用 cfdisk 建立了一个 35 GB 的分区 (/dev/hda5),而后将分区的分区类型设置成 "8E"(正规 LVM 分区类型)。在这一更改后,我进行了从新引导以强制从新读取分区表。在从新引导后,个人分区表以下:

# sfdisk -l
Disk /dev/hda: 89355 cylinders, 16 heads, 63 sectors/track
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
   Device Boot Start     End   #cyls   #blocks   Id  System
/dev/hda1   *      0+    247     248-   124960+  83  Linux
/dev/hda2        248     743     496    249984   82  Linux swap
/dev/hda3        744   20119   19376   9765504   83  Linux
/dev/hda4      20120   89354   69235  34894440    5  Extended
/dev/hda5      20120+  89354   69235- 34894408+  8e  Linux LVM

既然有了空的 35 GB 的分区,我就准备为 LVM 初始化它。如下是过程 -- 首先,我将 35 GB 初始化成 物理卷;而后,使用这个物理卷建立一个 卷组 ,最后,在卷组上分配一些范围,建立将包含新文件系统并存放当前 /home 中全部文件的 逻辑卷

为开始这个过程,我使用 pvcreate 命令将 /dev/hda5 初始化成物理卷:

# pvcreate /dev/hda5
pvcreate -- physical volume "/dev/hda5" successfully created

pvcreate 在 /dev/hda5 上设置一个特殊的“记账”区域,称做 VGDA(“卷组描述符区域”)。LVM 使用该区域来记录物理范围是如何分配的,以及其它一些操做。

下一步是建立卷组并向该卷组添加 /dev/hda5。卷组将充当范围池(许多存储块)。建立卷组以后,建立所需数量的逻辑卷。我决定将卷组称为 "main":

# vgcreate main /dev/hda5
vgcreate -- INFO: using default physical extent size 4 MB
vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte
vgcreate -- doing automatic backup of volume group "main"
vgcreate -- volume group "main" successfully created and activated

vgcreate 命令执行几个操做。除了建立 "main" 卷组之外,它还设置 /dev/hda5,使它使用 4 MB 的范围,4 GB 是缺省范围大小。这意味着在卷组上建立的全部逻辑卷均可以以 4 MB 为增量单位来进行扩充或缩减。

因为内核限制的缘由,范围大小决定了逻辑卷的最大大小。您能够从上面的输出中看出,4 MB 的范围大小决定了逻辑卷大小限制为 256 GB,若是您向卷组添加几个高容量驱动器,这是很容易达到的逻辑卷组大小。若是每个卷最后都大于 256 GB,我建议您在运行 vgcreate 时指定更大一些的范围大小。范围的大小能够是从 8 KB 到 512 MB 之间的任何值,而且必须老是 2 的倍数。经过将范围大小增长到 4 MB 以上,最大的物理卷大小将相应地增长到最大为 1 Petabyte(尽管当今现实世界中,x86 系统上的大小限制是 2 Terabytes)。例如,若是但愿使用 32 MB 的范围建立卷组,我会输入:

# vgcreate -s 32M main /dev/hda5

32 MB 是个合适的范围大小,由于 32 MB 的颗粒度仍然便于管理,并将引导的最大逻辑卷大小增长到 2 TB。建立卷组以后,能够经过输入 "vgdisplay" 来查看其信息:

# vgdisplay
--- Volume group ---
VG Name               main
VG Access             read/write
VG Status             available/resizable
VG #                  0
MAX LV                256
Cur LV                0
Open LV               0
MAX LV Size           255.99 GB
Max PV                256
Cur PV                1
Act PV                1
VG Size               33.28 GB
PE Size               4 MB
Total PE              8519
Alloc PE / Size       0 / 0
Free  PE / Size       8519 / 33.28 GB
VG UUID               2qC2H2-iA8s-qW6F-cwXx-JVIh-I6VC-VVCGmn

既然有了本身的卷组,我准备建立逻辑卷。我决定在最初时将它的大小设置为 8 GB,并称它做 "lv_home":

# lvcreate -L8G -nlv_home main
lvcreate -- doing automatic backup of "main"
lvcreate -- logical volume "/dev/main/lv_home" successfully created

而后,在逻辑卷上建立文件系统:

# mkreiserfs /dev/main/lv_home
 
  
  <----------- MKREISERFSv2 ----------->
   
   Block size 4096 bytes
   Block count 2097152
   Used blocks 8275
           Journal - 8192 blocks (18-8209), journal header is in block 8210
                   Bitmaps: 17, 32768, 65536, 98304, 131072, 163840, 
                   196608, 229376, 262144, 294912, 327680, 360448, 
                   393216, 425984, 458752, 491520, 524288, 557056, 
                   589824, 622592, 655360, 688128, 720896, 753664,
                   786432, 819200, 851968, 884736, 917504, 950272,
                   983040, 1015808, 1048576, 1081344, 1114112,
                   1146880, 1179648, 1212416, 1245184, 1277952,
                   1310720, 1343488, 1376256, 1409024, 1441792,
                   1474560, 1507328, 1540096, 1572864, 1605632,
                   1638400, 1671168, 1703936, 1736704, 1769472,
                   1802240, 1835008, 1867776, 1900544, 1933312,
                   1966080, 1998848, 2031616, 2064384
    Root block 8211
Hash function "r5"
ATTENTION: ALL DATA WILL BE LOST ON '/dev/main/lv_home'! (y/n)y
journal size 8192 (from 18)
Initializing journal - 0%....20%....40%....60%....80%....100%
Syncing..done.

既然建立了文件系统,我就能够在 /mnt/newhome 上安装它:

# mkdir /mnt/newhome
# mount /dev/main/lv_home /mnt/newhome
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda3              9765200   6989840   2775360  72% /
tmpfs                   291388         0    291388   0% /dev/shm
/dev/main/lv_home      8388348     32840   8355508   1% /mnt/newhome

您能够从上面看出,我几乎准备复制 /home 中的全部数据。 在开始以前,我把系统下降到运行级别 1 以确保在复制 /home 中的文件时,没有用户或进程可以访问或修改它们:

# init 1

而后,开始复制文件:

# cp -avx /home/* /mnt/newhome

复制操做须要大约 10 分钟的时间完成。而后,我将原始 /home 备份成 /home.old,这只是为在复制过程当中有任何错误而准备的。建立一个新的安装点,而后在 /home 上从新安装新 home:

# cd /
# mv home home.old
# mkdir home
# umount /mnt/newhome
# mount /dev/main/lv_home /home

而后,应该设置服务器以使个人新 /home 分区能够在每次启动机器时使用。首先修改 /etc/fstab 以使它包括新的 /home 项:

# /etc/fstab: static file system information.
#
# fs                mountpoint       type         opts          dump/pass
/dev/hda3           /                reiserfs     defaults      1 1
/dev/main/lv_home   /home            reiserfs     defaults      2 2
/dev/hda2           none             swap         sw            0 0
/dev/hda1           /boot            reiserfs     noauto        0 0
/dev/cdrom          /mnt/cdrom       iso9660      noauto,ro     0 0
proc                /proc            proc         defaults      0 0
none                /dev/pts         devpts       mode=620      0 0
tmpfs               /dev/shm         tmpfs        defaults      0 0

而后,我对初始化脚本进行了一些小小改动。我修改了 "checkroot" 启动脚本,使如下命令能够在根分区从新安装读/写后当即运行:

/sbin/vgscan
/sbin/vgchange -a y

接下来,我修改了在关机时运行的文件系统卸装脚本,使如下命令在卸装了全部文件系统 当即运行:

/sbin/vgchange -a n

完成了这些步骤后,我从新引导了机器,让我高兴的是一切都工做正常。在接下去的一天左右的时间里彻底没有问题,随后我删除了 /home.old 以释放根文件系统上的一些空间。太棒了!到 LVM 的转换成功了。

回页首

LVM 的优势

虽然到 LVM 的转换有些痛苦,但一旦转换完成以后,管理文件系统就变得很是简单。例如,我决定从新调整新的 /home 逻辑卷大小,向文件系统结尾添加大约 2 GB 的空间。首先,我向 "lv_home" 逻辑卷添加了额外的容量,而后使用 resize_reiserfs 实用程序来扩充文件系统,使它可使用额外的容量。如下是执行全部这些操做的两个命令:

# lvextend -L+2G /dev/main/lv_home
# resize_reiserfs -f /dev/main/lv_home

在大约一秒钟的时间里,我将 /home 文件系统扩大了 2 GB;使人惊奇的是,我不须要从新引导、下降到运行级别 1,甚至不须要卸装 /home 来执行大小调整。一切都照常工做。是否是很了不得?下面是个人文件系统的当前状态:

# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda3              9765200   1413340   8351860  15% /
/dev/main/lv_home     10485436   5609836   4875600  54% /home

您能够看出 LVM 的确可让管理员的工做轻松许多。我但愿在从此能将根文件系统的其它部分转移到 LVM,最终甚至将个人根文件系统转换成 LVM 逻辑卷。下面的参考资料能够帮助您了解有关 LVM 的更多知识。


参考资料

  • 您能够参阅本文在 developerWorks 全球站点上的 英文原文

  • 有关 LVM 的概念和如何在系统上安装最新的内核补丁和工具的建议,请参阅 developerWorks上 Daniel 的前一篇文章, 学习 LVM,第 1 部分。 

  • 从 Sistina Software 下载 LVM tar 文件。 

  • 如今 Sistina 有一个很是棒的 LVM HOWTO (它与简单的 HOWTO 相比,更接近于一个完整描述的手册)。 

  • 请务必仔细查看 Linux LVM FAQ。 

  • 等不及的读者能够查看 Heinz Mauelshagen 的 LVM 快速入门,它包含了有关如何设置卷组和逻辑卷的更多示例。 

  • 另外还有一个有意思的 HOWTO,告诉您 如何在逻辑卷上设置根文件系统 。LVM-0.9.1_final 问世后,我会尝试执行这一操做。 

  • Andreas Dilger 参与了 Linux LVM 项目,他有一个看上去不错的 联机。 

  • ReiserFS 是一种很是好的文件系统(特别在与 LVM 结合使用时)。若是使用的是 ReiserFS,须要获取 reiserfs-utils tar 文件,它包含了一个称为 "reiserfs_resize" 的程序 -- 容许对 ReiserFS 文件系统联机调整大小。 

  • 有关设置 Linux 软件 RAID 卷的详细信息,请参阅 Daniel 在 developerWorks上有关软件 RAID 系列的 第 1 部分和 第 2 部分。 

  • 对于复习进修者,请参阅 developerWorks Linux 内核编译教程。 

关于做者

做者

Daniel Bobbins 居住在美国新墨西哥州的阿尔布开克,他是 Gentoo Technologies, Inc. 的总裁兼 CEO、 Gentoo Linux (一种用于 PC 的高级 Linux)和 Portage 系统(用于 Linux 的下一代移植系统)的主创人。他仍是几本 Macmillan 出版的书籍 Caldera OpenLinux Unleashed、 SuSE Linux Unleashed 和 Samba Unleashed 的投稿人。Daniel 自二年级起就与计算机结下不解之缘,那时他首先接触的是 Logo 程序语言,并沉溺于 Pac-Man 游戏中。这也许就是他至今仍担任 SONY Electronic Publishing/Psygnosis 的首席图形设计师的缘由所在。Daniel 喜欢与妻子 Mary 和新出生的女儿 Hadassah 一块儿共度时光。可经过 drobbins@gentoo.org 与 Daniel 联系。

相关文章
相关标签/搜索