当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux服务器存储空间巧妙管理

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

Linux服务器存储空间巧妙管理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 224 ::
收藏到网摘: n/a

对于Linux用户而言,在安装一台Linux机器的时候,遇到的问题之一就是给各分区估计和分派足够的硬盘空间。无论对一个正在为服务器寻找空间的系统管理员,还是一个磁盘即将用尽的普通用户来说,这都是一个非常常见的问题。一般我们会想到解决的方法是:

1.挂接一个新的硬盘,然后使用符号链接,链接到新的硬盘。
2.利用一些调整分区大小的工具(比如Pqmagic),进行无损伤数据分区。

一、问题的提出

但是,这些都只是暂时性的解决办法,而且都需要让机器停止运行或者持续很长时间的分区工作而不能正常提供服务。即使缓解了硬盘空间问题,不久,仍然会面临同样的问题。

这对于一个大型站点来说,有着数量众多的客户、又连接在互联网上,只要你的服务器关机一分钟,都会给公司带来很大损失。此外,使用这种方法,在修改了分区表之后,每一次都得重新启动系统。因此,我们可以采用新技术LVM(逻辑卷管理程序)可以帮助我们解决这些问题。

二、什么是LVM

LVM(LogicalVolumeManager,逻辑卷管理器)是一种把硬盘驱动器空间分配成逻辑卷的方法,使硬盘不必使用分区也能被简单地重新划分大小。传统上,一个分区大小是静态的。假如一个用户在这个分区上没有空间时,他要么重新分区(这可能要求整个操作系统重装),要么像符号连接一样使用组装机。

使用LVM,硬盘驱动器或硬盘驱动器集合就会分配给一个或多个物理卷(physicalvolumes)。物理卷被合并成逻辑卷组(logicalvolumegroup),惟一例外的是/boot分区。由于物理卷无法跨越一个以上驱动器,如果想让逻辑卷组跨越一个以上驱动器,就应该在驱动器上创建一个或多个物理卷。逻辑卷组被分成逻辑卷(logicalvolumes),被分配了挂载点(如/home和/),以及文件系统类型(如ext3)。当“分区”达到了它们的极限,逻辑卷组中的空闲空间就可以被添加给逻辑卷来增加分区的大小。当某个新的硬盘驱动器被添加到系统上,它也可以被添加到逻辑卷组中,逻辑卷是可以扩展的分区。由于LVM允许在机器的物理存储资源以外创建逻辑卷,并且逻辑卷可以在系统仍处于运行状态时扩充和缩减,所以就为Linux系统管理员提供了他们梦寐以求的存储器灵活性。

LVM的作用:LVM的实际运作情形则根据作法不同,而有所差异;但LVM通常包括实体储存分群(physicalstoragegrouping)、重设逻辑扇区大小(logicalvolumeresizing)、以及数据转移(datamigrating)。

三、LVM的历史

当然,LVM并不是最新技术,早在UNIX操作系统时代,像HP,IBMAIX上就可以看到VM的身影,作为IBM的旗舰产品,AIX很早就支持了动态逻辑分区(DVM),当然,它的DVM设计是比较厉害的,此后在AIX5L中,重构了UNIX内核,增加了逻辑卷管理(LVM)和日志文件系统(JFS)等功能。使之AIX更加强大。在各种商业UNIX系统中,譬如AIX,HP-UNIX,Tru64UNIX等系统中,逻辑卷管理已经被广泛采用,成了事实上的一个标准。

LVM的功能于2.3内核发展中版本纳入支持。2001年1月,Linux2.4.0内核发布,开始正式支持逻辑卷管理,使得Linux新内核更适应于服务器的应用。以前版本的Linux必须要在内核上打上相应的补丁才到实现LVM功能。现在,我们看到从RedhatLinux9.0已经在内核级支持LVM。因此,我们可以使用LVM来帮助我们更加有效的管理磁盘。

要注意的是LVM有两个版本,分别为LVM1与LVM2,相关工具与设定方式会有些差异性,本文都会使用LVM2的环境介绍使用。LVM1命令只能在2.4内核上工作。当运行2.6内核时,不能使用LVM1命令。关于更多关于LVM2的信息,请参阅/usr/share/doc/lvm2*/WHATS_NEW。一个完整的LVM2命令被安装在/usr/sbin/。在/usr/还无效的启动环境中,每个命令前需要加上/sbin/lvm.static(例如,/sbin/lvm.staticvgchange-ay)。在/usr/有效的环境中,不再需要在每个命令前加lvm(例如,/usr/sbin/lvmvgchange-ay变为/usr/sbin/vgchange-ay)。新的LVM2命令(例如,/usr/sbin/vgchange-ay和/sbin/lvm.staticvgchange-ay)会检测您是否在运行2.4内核。如果是,它会调用旧的LVM1命令。

四、LVM结构和分类

LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,它将多个物理分区汇聚为一个卷组(VolumeGroup),而且这些物理卷的大小可以不相同,甚至类型也可以不同(如SCSI、SATA磁盘)。组成的卷组就像一块大硬盘,然后再从中分割出一块一块的逻辑卷(LogicalVolume),并进一步在逻辑卷组上创建文件系统。如图1。
图1LVM结构
LVM最大的优点是不在考虑物理磁盘的特征,中间构架了一层“绝缘层”,或者以现代名词,叫作服务层,提供磁盘空间服务。如果没有这个中间层,必然存在物理磁盘大小的限制,这是不可克服的事实,在这个磁盘上进行的分区,必然受到物理条件制约,存储数据很不方便。在一台计算机只有一个100M磁盘的年代,这并不是大问题,LVMlogicalvolumemanager设计之初,就认识到了人类懒惰的本质,在性能、可管理性、兼容、功能支持等方面,实现了很好的平衡。

LVM支持两种模式的逻辑卷(LogicalVolumes),一种是串连模式(Concatenation)另一种是条块模式(Striping),系统默认是串连模式。这两种模式有什么区别呢?比如,有两块IDE接口的30GB硬盘/dev/hdb、/dev/hdc,它们共同组成了一个卷组vg1,在此卷组上创建了一个40GB的逻辑卷lv1。如果这个逻辑卷是串连模式,数据在两块硬盘上将顺序存放,只有当一块硬盘存满之后才去使用另一块硬盘。如果这个逻辑卷是条块模式,数据将被分割成固定大小的条块,然后分散存放到两块硬盘上。这样意味着你有更多有效的磁盘带宽,数据的读写速度将大幅提高。条块模式尽管给我们带来了高性能,但也带来了高风险,如果任一块磁盘坏掉,那全部的逻辑卷都会丢失,其结果将是灾难性的。然而LVM技术对这种灾难已经早有防范,LVM的实现不仅可以在磁盘分区上实现也可以在RAID卷上实现。无论是硬件RAID还是软件RAID,LVM都给予了很好的支持。
图2LVM支持两种模式的逻辑卷

五、LVM的Snapshots(快照)特性

LVM提供了一个非常好的特性:snapshots(快照)。它允许管理员建立一个块设备:该设备是一逻辑卷在某一时刻冻结的精确拷贝。这个特性通常用于批处理过程(如备份)需要处理逻辑卷,但又不能停止系统。当操作完成时,snapshot(快照)设备可以被移除。这个特性要求在建立snapshot(快照)设备时逻辑卷处于相容状态。使用LVM,我们可以做一个LV瞬间的快照,然后挂载(mount)它,再备份它。请注意,快照不是永久的。如果你卸下LVM或重启,它们就丢失了,需要重新创建。图3是LVMSnapshots(快照)示意图。
图3LVMSnapshots(快照)示意图
快照有2种方式:一种是只读另一种是可读写。如果你只须拷贝数据,那么只读快照看起来不错,不过可读写快照则有好几个优点。首先是无需额外处理日至文件系统--你可以快照上简单地实现日志恢复。只读快照则必须保证文件系统在开始快照之前就得和设备同步,因此需要日志重现。

六、常用术语

物理存储介质(ThePhysicalMedia):系统的存储设备:硬盘或硬盘上的分区,如:/dev/sda、/dev/hda等等,是存储系统底层的存储。

物理卷(PV)PhysicalVolume:硬盘分区或从逻辑上与硬盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,和基本的物理存储介质(如分区、磁盘等)不同的是,其中包含有LVM管理参数。

卷组(VG)VolumeGroup:LVM中的最高抽象层,由一个或多个物理卷组成。一个逻辑卷管理系统中可以只有一个卷组,也可以拥有多个卷组。

逻辑卷(LV)LogicalVolume:逻辑卷(LV)在卷组上建立,相当于非LVM系统中的分区,可以在其上创建文件系统,如/home或者/var等。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

物理区域(PE)PhysicalExtent:每一个物理卷被划分为大小相等的称为PE(PhysicalExtents)的基本单元。物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。PE的大小是可配置的,默认为4MB。

逻辑区域(LE)LogicalExtent:逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

VGDA(卷组描述符区域):和非LVM系统将包含分区信息的元数据保存在位于分区起始位置的分区表中一样,逻辑卷以及卷组相关的元数据被保存在位于物理卷起始处的VGDA中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

图4磁盘分区、卷组、逻辑卷和文件系统之间的逻辑关系的示意图


七、有了LVM,还要RAID干嘛?

既然LVM跟RAID的功能相近(例如可以动态换坏掉的硬盘),又有后者所不及之处(例如为卷册动态加入更多空间),那许多使用者会想,我们还要RAID干什么?事实上,RAID与LVM是互补的技术,可以搭配使用(就跟复合式RAID一样),互采所长,互补其短。

介绍了LVM的原理和基础入门知识。我们知道,RedhatLinux8.0开始内核内置了对LVM的支持而REHL3.0-4.0中更是把LVM作为安装时的默认卷管理方式),而且可以在安装时使用LVM。也可安装后使用。下面介绍在使用图形方式安装过程中使用逻辑盘卷管理的步骤。本文介绍RedhatAS4.0下的LVM2配置方法。由于LVM的配置相对复杂,在RedhatAS4.0中支持图形方式安装对逻辑卷管理配置的支持,所以用户如果需要在安装过程中建立逻辑卷,只能选择图形方式不能选择文本安装方式安装。RedhatAS4.0整个安装过程一共30多个步骤限于篇幅这里只列出和逻辑盘卷管理相关的步骤。

1.选择使用“DiskDruid”进行手工分区

首先,在进行分区时,选择使用“DiskDruid”进行手工分区。如图1所示。

图1选择使用“DiskDruid”进行手工分区(D)


按“下一步”按钮继续。

2.选择创建新分区

磁盘分区管理的界面如图2所示,该硬盘中没有进何分区。

图2选择创建新分区


这个屏幕上的按钮可用来接受你所做的改变,或退出DiskDruid。为更进一步解释,让我们依次来看一看这些按钮:

「新建」:用来请求一个新分区。当选择后,一个对话框就会出现,其中包括的字段(如挂载点和大小)都必须被填充。
「编辑」:用来修改目前在「分区」部分中选定分区的属性。选择「编辑」打开一个对话框。部分或全部字段可被编辑,这要依据分区信息是否已被写入磁盘而定。
你还可以编辑图形化显示所表示的空闲空间,从而在那个空间内创建一个新分区。你既可以突出显示空闲空间,然后选择「编辑」按钮,也可以双击空闲空间来编辑它。
「删除」:用来删除目前在「当前磁盘分区」部分中突出显示的分区。你会被要求确认对任何分区的删除。
「重设」:用来把DiskDruid恢复到它最初的状态。如果你「重设」分区,你所做的所有改变将会丢失。
「RAID」:用来给部分或全部磁盘分区提供冗余性。它只有在你有使用RAID的经验时才应使用。要制作一个RAID设备,你必须首先创建软件RAID分区。一旦你已创建了两个或两个以上的软件RAID分区,选择「RAID」来把软件RAID分区连接为一个RAID设备。
「LVM」:允许你创建一个LVM逻辑卷。LVM(逻辑卷管理器)的目的是用来表现基本物理贮存空间如硬盘的简单逻辑视图。LVM管理单个物理磁盘—或者更确切地说,磁盘上的单个分区。它只有在你有使用LVM的经验时才应使用。
按“下一步”按钮继续。

3.创建/boot分区

LVM是一种把硬盘驱动器空间分配成逻辑卷的方法,这样硬盘就不必使用分区而被简易地重划大小。使用LVM,硬盘驱动器或硬盘驱动器集合就会分配给一个或多个物理卷(physicalvolumes)。物理卷无法跨越一个以上驱动器。物理卷被合并成逻辑卷组(logicalvolumegroup),唯一的例外是/boot/分区。/boot/分区不能位于逻辑卷组,因为引导装载程序无法读取它。如果你想把/分区放在逻辑卷上,你需要创建一个分开的/boot/分区,它不属于卷组的一部分。如图3所示。

图3创建/boot分区


说明:

下面是一个典型的linux目录结构如下:
/根目录
/bin存放必要的命令
/boot存放内核以及启动所需的文件等,建议单独的放在一个分区。
/dev存放设备文件
/etc存放系统的配置文件
/home用户文件的主目录,用户数据存放在其主目录中
/lib存放必要的运行库
/mnt存放临时的映射文件系统,我们常把光驱挂装在这里的cdrom子目录下。
/proc存放存储进程和系统信息
/root超级用户的主目录
/sbin存放系统管理程序
/tmp存放临时文件的目录
/usr包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
/var包含系统产生的经常变化的文件,例如打印机、邮件、新闻等假脱机目录、日志文件、格式化后的手册页以及一些应用程序的数据文件等等。
按“下一步”按钮继续。

4.创建三个物理卷(PhysicalVolume,PV)

选择「新建」,从「文件系统类型」拉下菜单中选择「物理卷(LVM)」,如图4所示。

图4创建物理卷


说明:

你不能够首次输入挂载点(创建了卷组后你便可以输入)。物理卷必须局限于一个驱动器上。对于「允许的驱动器」项目,选择你要在其中创建物理卷的驱动器。如果你有多个驱动器,所有驱动器都会在这里被选择,你必须取消选择其它的驱动器,只保留一个你想在其中创建物理卷的驱动器。输入你所需的物理卷的大小。选择「固定大小」来使物理卷具备指定大小,选择「指定空间大小(MB)」,输入以MB为单位的大小来给物理卷大小规定一个范围,或选择「使用全部可用空间」来使它的大小扩充到填满整个硬盘的可用空间。如果你有不止一个可扩展的物理卷,它们会分享磁盘上的可用空闲空间。如果你想让这个分区成为主分区,选择「强制为主分区」。最后点击「确定」来返回到主屏幕。然后重复两次步骤来创建三个LVM设置所需的物理卷。例如,如果你想让卷组跨越不止一个驱动器,则在每个驱动器上都创建一个物理卷。最好你在逻辑卷组中保留一些空闲空间,因此以后你可以扩展逻辑卷。图5是建立的三个物理卷的主屏幕。

图5建立的三个物理卷的主屏幕


5.将这三个物理卷(PV)组合成一个卷组(VG)

点击「LVM」按钮来把物理卷汇集到卷组中。基本上说,卷组是物理卷的集合。你可以有多个逻辑卷组,但是一个物理卷只能位于一个卷组中。如图6。
图6将这三个物理卷(PV)组合成一个卷组(VG)
说明:

如果需要,你可以改变「卷组名称」(笔者设置为caovg)。卷组内的所有逻辑卷必须按物理范围(physicalextent)单位被分配。按照默认设置,物理范围被设置为4MB;因此,逻辑卷的大小必须能够被4MB整除。如果你输入的大小不是4MB的整倍数,安装程序将会自动选择最接近4MB整倍数的数值。建议你不要改变这个设置。选择要用在卷组中的物理卷。按“确定”按钮继续。

6.新增逻辑扇区(LV)

新增逻辑扇区名称caolv、其挂载点设定为/,如图7。

图7新增逻辑扇区


说明:

文件类型设置为ext3,大小是2000MB。按“确定”按钮继续。

7.新增逻辑扇区名称homelv、其挂载点设定为/home,如图8。

图8新增逻辑扇区
说明:

文件类型设置为ext3,大小是512MB。按“确定”按钮继续。

8.新增交换逻辑扇区名称LogVol00,如图9。

图9新增交换扇区
说明:

文件类型设置为swap,大小是256MB。和Windows不同的是,运行Linux至少要有Linuxswap交换分区和Linux主分区两个分区。主分区用来存放Linux常用文件。交换分区在Linux运行时提供虚拟内存,关机后内容清空。在Linux中可以物理上存在几个分区,但在逻辑上只有一个根分区。交换分区(Linuxswap)是不需要加载点的,其它所有设备安装都要有加载点。一个交换分区(至少256MB)—交换分区被用来支持虚拟内存。换一句话说,当内存不足以贮存系统正在处理的数据时,数据就会被写入交换分区。如果你不能肯定要创建的交换分区大小,把它定为系统内存的两倍(但是不超过2GB)。创建大小合适的交换空间依赖于以下几个因素(按重要性依次排列):

在机器上运行的应用程序。

在机器上安装的物理内存数量。

操作系统的版本。

物理内存小于等于2GB的系统,其交换空间应该相当于物理内存的两倍,内存超过2GB的部分则为内存的一倍,但是绝不少于32MB。按“确定”按钮完成DiskDruid对LVM分区。

9.完成DiskDruid对LVM分区如图10。

图10完成DiskDruid对LVM分区


按“下一步”按钮继续。

10.检查LVM是否设置成功

按上述步骤划分完分区后,就可以继续安装系统了。限于篇幅这里只列出和逻辑盘卷管理相关的步骤。安装完毕开机时各位会看到如图11的红色框内信息,便代表LVM设定基本完成。
图11LVM设置成功启动界面
11.LVM在kickstart安装过程中被配置

自从5.2版开始,RedHatLINUX便增加了一个称为kickstart的功能,其主要是为了减少安装过程中需要交互式(interactive)的系统参数输入,提高安装效率。将其运用于自动安装LINUX,特别是需要在短时间迅速安装至成百台LINUX工作站这种特殊场合尤为适用。

kickstart安装是什么?

许多系统管理员更倾向于使用自动化的安装方法来在他们的机器上安装RedHatLinux。为满足这种需要,RedHat开创了kickstart安装方法。使用kickstart,系统管理员可以创建单个文件,该文件包括对典型RedHatLinux安装中所询问的问题的回答。kickstart文件可以被保留在单个服务器系统上,并可以被个体计算机在安装过程中读取。这种安装方法能够支持使用单个kickstart文件来在多台机器上安装RedHatLinux,从而成为网络和系统管理员的理想选择。kickstart让你自动化大部分RedHatLinux的安装任务。kickstart文件是一个简单的文本文件,包含一个项目列表,每个项目都用关键字标明。限于篇幅这里只列出和逻辑盘卷管理相关的内容。
logvol使用以下语法来为逻辑卷管理(LVM)创建逻辑卷:
logvol<mntpoint>--vgname=<name>--size=<size>--name=<name><options>
volgroup用来创建逻辑卷管理(LVM)组,其语法格式为:
volgroup<name><partition><options>
这些options(选项)如下所示:
--noformat:使用一个现存的卷组,不要格式化它。
--useexisting:使用一个现存的卷组,重新格式化它。
首先创建分区,然后创建逻辑卷组,再创建逻辑卷。例如:
partpv.01--size3000
volgroupmyvgpv.01
logvol/--vgname=myvg--size=2000--name=rootvol
下面是一个典型LVM设置例子:
part/boot--fstypeext3--size=75--asprimary
partpv.00--size=1--grow--asprimary
volgroupvgrootpv.00
logvol/--name=root.fs--vgname=vgroot--size=1024
logvolswap--name=swap.vol--vgname=vgroot--size=256


总结:

本文介绍了如何通过用DiskDruid程序配置LVM,另外简单介绍了LVM在kickstart安装过程中被配置要点下篇文章会介绍LVM在Linux下具体使用方法,敬请关注。

介绍了如何通过用DiskDruid程序配置LVM,另外简单介绍了LVM在kickstart安装过程中配置要点。下面介绍LVM在Linux下具体使用方法。

红帽企业Linux4提供了一个图形化的LogicalVolumeManager(LVM)配置工具-system-config-lvm。system-config-lvm允许用户为本地的物理磁盘和磁盘分区建立卷组群。它使得被创建的逻辑卷非常灵活,可扩展,并可以让系统象使用普通的物理磁盘一样使用这个逻辑卷。system-config-lvm使用图形来代表系统的磁盘和卷。这可以帮助用户更直观地查看存储设备的使用情况并为卷的管理任务提供了一个界面。

1.安装system-config-lvm

如果在系统安装时已经把system-config-lvm安装上了,那么我们就可以直接对LVM进行配置使用了。否则,可以通过RatHetEnterpriseLinux图形界面下的“添加/删除应用程序”工具进行安装。具体方法是,选择“主选单”→“系统设置”→“添加/删除应用程序”,在弹出的界面中选中“管理工具”中的“system-config-lvm”,单击“更新”即可。如图1。

图1安装system-config-lvm
2.启动system-config-lvm

打开一个终端运行system-config-lvm即可,界面如图2。
图2system-config-lvm界面
从图2可以看到在使用用DiskDruid程序配置LVM已经出现在system-config-lvm界面中。
system-config-lvm界面分成三个部分:

左侧是LVM控制区,显示物理卷(PV)PhysicalVolume和逻辑卷(LV)LogicalVolume基本情况。
中间通过图形化界面显示物理卷(PV)PhysicalVolume和逻辑卷(LV)LogicalVolume情况。
右侧是物理卷(PV):PhysicalVolume和逻辑卷(LV):LogicalVolume详细参数。

3.查看逻辑卷(LV)LogicalVolume详细情况

使用鼠标点击左侧是LVM控制区的LV名称即可,如图3。

图3查看逻辑卷(LV)LogicalVolume详细情况

4.添加一个新的逻辑卷(LV)LogicalVolume

如果硬盘中有没有使用的空间就可以建立一个新的逻辑卷(LV)LogicalVolume,点击“CreatNEWLogicalVolume”

按钮系统会弹出一个对话框如图4。

图4添加一个新的逻辑卷(LV)LogicalVolume
5.重新查看逻辑卷(LV)LogicalVolume情况

可以看到刚才新添加的cao1lv已经出现在VG中。如图5,添加成功。
图5重新查看逻辑卷(LV)LogicalVolume情况
6.删除一个逻辑卷(LV)LogicalVolume

选择一个存在的逻辑卷,点击“RemoveSelectedLogicalVolume(s)”按钮系统会弹出一个对话框如图6。
图6删除一个逻辑卷(LV)LogicalVolume


在警告对话框内选择“是(Y)”按钮即可删除所选的逻辑卷LogicalVolume。然后重新查看逻辑卷(LV)LogicalVolume情况,可以看到刚才新添加的cao1lv已经没有出现在VG中。删除成功。

7.system-config-lvm存在的一个BUG

那就是当我尝试扩展逻辑卷时(在屏幕上,有一个按钮栏(ExtendLogicalVolume)可以选择),弹出一个消息说在这个版本中还没有执行此种功能的能力。为什么要在这里放置还不能够工作的按钮我不知道。如图7。

图7system-config-lvm存在的一个BUG

8.升级system-config-lvm版本方法

(1)使用wget+rpm升级

RedHatEnterpriseLinux4.0内置的system-config-lvm版本是0.9.18。这个版本存在一定问题。我们可以使用centos的最新版本1.0.19-1.0替换它获取更多的功能。这里我们选择wget命令下载文件。wget是一个Linux环境下用于从WorldWideWeb上提取文件的工具,这是一个GPL许可证下的自由软件,其作者为HrvojeNiksic。wget支持HTTP和FTP协议,支持代理服务器和断点续传功能,能够自动递归远程主机的目录,找到合乎条件的文件并将其下载到本地硬盘上;如果必要,wget将恰当地转换页面中的超级连接以在本地生成可浏览的镜像。由于没有交互式界面,wget可在后台运行,截获并忽略HANGUP信号,因此在用户推出登录以后,仍可继续运行。通常,wget用于成批量地下载Internet网站上的文件,或制作远程网站的镜像。Wget下载ystem-config-lvm-1.0.19-1.0.noarch.rpm过程如下:
#wgethttp://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/system-config-lvm-1.0.19-1.0.noarch.rpm
--10:02:26--http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/system-config-lvm-1.0.19-1.0.noarch.rpm
=>`system-config-lvm-1.0.19-1.0.noarch.rpm'
正在解析主机mirror.centos.org...66.147.238.146
正在连接mirror.centos.org[66.147.238.146]:80...已连接。
已发出HTTP请求,正在等待回应...200OK
长度477,662[application/x-rpm]
100%[=======================>]477,66245.69K/sETA00:00
10:02:39(40.92KB/s)-`system-config-lvm-1.0.19-1.0.noarch.rpm'saved[477,662/477,662]
然后使用rpm命令的-U选项升级,如果想要将某个包升级到更新的版本,可使用-U开关来升级。下面是使用升级开关来加载rpm包的例子:
#rpm-Uvhsystem-config-lvm-1.0.19-1.0.noarch.rpm
warning:system-config-lvm-1.0.19-1.0.noarch.rpm:V3DSAsignature:NOKEY,keyID443e1821
Preparing...###########################[100%]
1:system-config-lvm#########################[100%]

(2)使用Apt+Synaptic升级

虽然RPM提供的管理功能使得软件安装和删除高度自动化,简化了Linux环境下软件安装和管理的难度,但是RPM为保持系统一致性而具有的软件包依赖性问题,需要管理员手工解决,并且在安装和卸载程序时非常繁琐。Debian发布的软件管理系统发明了APT(高级软件包工具,AdvancedPackageTool),它在系统软件安装维护方面更加方便、易用。APT能够在发现软件包依赖性的同时,自动下载相应的软件包并加以安装,使得管理员能毫无故障地执行系统软件的升级。

其工作原理大致为:用户安装APT客户端工具,查寻APT服务器端的资料库(repositories)上的RPM软件包信息,并分析软件包之间的依赖性然后下载并进行安装。APT除了可以让你很方便且快速地安装RPM软件外,你也可以用它来更新系统。虽然APT是基于Debian的软件包管理工具,但是已经被一个巴西公司Conectiva移植到基于RPM的系统上。因此对于基于RPM软件包管理的平台,如RedHat、TurboLinux、SuSe、Mandrake等Linux发行版本,APT是一个非常优秀的软件管理工具。
因为版权的关系,网上已经找不到可用的rhel的apt源了,centos是一个根据rhelrebuild的版本,它的目录结构,文件命名,所有软件包都跟rhel是完全兼容的,因此,我们完全可以用centos的apt源来进行系统和软件更新。synaptic是图形化的apt软件包管理工具。能够管理RHEL4.0系统及升级源的所有的软件包;是一个极为方便的软件包管理工具;两者配合,效果最佳。
#wgetftp://ftp.nluug.nl/pub/oshttp://Linux.chinaitlab.com/distr/CentOS/4.3/extras/i386/RPMS/apt-0.5.15cnc6-4.centos4.i386.rpm
接着需要加入freshrpms.net的公共钥匙GPG-KEY,然后在/etc/apt下建立一个/gpg文件夹,将GPG-KEY保存在那里,以便日后管理。
#rpm--importhttp://ftp.freshrpms.net/pub/freshrpms/RPM-GPG-KEY
APT系统其中常用:apt-cache、apt-cdrom、apt-config和apt-get四个命令,用户使用最多的就是apt-get命令。下面安装图形前端,freshrpms.net站点提供了一个图形界面的apt-rpm接口Synaptic,使用图形界面的apt更加方便,可以直接利用apt安装Synaptic:
#apt-getinstallsynaptic
ReadingPackageLists...Done
BuildingDependencyTree...Done
ThefollowingNEWpackageswillbeinstalled:
synaptic(0.57.2-1.fc4)
0upgraded,1newlyinstalled,0removedand234notupgraded.
Needtoget1682kBofarchives.
Afterunpacking4311kBofadditionaldiskspacewillbeused.
Get:1http://ayo.freshrpms.netfedora/linux/4/i386/extrassynaptic0.57.2-1.fc4[1682kB]
Fetched1682kBin46s(36.2kB/s)
CheckingGPGsignatures...####################[100%]
Committingchanges...
Preparing...####################[100%]
1:synaptic###################[100%]
Done.
在几行提示之后Synaptic就安装好了,进入Xwindow,Synaptic会出现在“系统设置”菜单里面。使用“搜索”选项输入“system-config-lvm”系统自动发现system-config-lvm目前版本和最新版本界面见图8。

图8APT图形化前端Synaptic
点击“应用”按钮系统会自动下载最新版本然后自动安装,过程界面见图9。

图9APT图形化前端Synaptic自动更新system-config-lvm目前版本

9.重新使用system-config-lvm

打开一个终端运行system-config-lvm即可,界面如图10。

图10更新后的system-config-lvm界面


从更新后的system-config-lvm界面可以看到新版本进行了汉化而且消除前面的BUG,可以动态调整LVM大小。

10.动态调整/homelv目录系统大小

点击“编辑属性”按钮系统会弹出一个对话框如图11。
图11动态调整/homelv目录系统大小
在LV大小栏目选择“17”,在文件系统栏目选择“Ext3”,在“挂载”和“重新启动时挂载”前面打钩。然后按“确定”按钮这样就将/homelv目录系统大小放大32兆。然后重新查看逻辑卷(LV)LogicalVolume情况可以看到刚才新添加的homelv已经从512兆变为544兆操作成功。也可以使用lvscan命令查看:
[root@host~]#lvscan
ACTIVE'/dev/caovg/caolv'[1.97GB]inherit
ACTIVEOriginal'/dev/caovg/homelv'[544.00MB]inherit
ACTIVE'/dev/caovg/LogVol00'[256.00MB]inherit

11.建立一个/homelv目录的系统SnapShot快照

SnapShot快照可以通过手动或者人为预先定制策略的方式来自动创建。点击“生成快照”按钮系统会弹出一个对话框如图12。

图12建立/homelv目录的系统快照
在LV大小栏目选择“32MB”,在逻辑卷名称选择“home1lv”。然后重新查看逻辑卷(LV)LogicalVolume情况可以看到已经建立系统快照。如图13。

图13建立/homelv目录的系统快照后的界面
也可以使用lvscan命令查看:
#[root@host~]#lvscan
ACTIVE'/dev/caovg/caolv'[1.97GB]inherit
ACTIVEOriginal'/dev/caovg/homelv'[544.00MB]inherit
ACTIVE'/dev/caovg/LogVol00'[256.00MB]inherit
ACTIVESnapshot'/dev/caovg/home1lv'[32.00MB]inherit
可以看到快照已经建立。

总结:

到此为止Unix上为人称道的LVM机制,如今顺利地移植到Linux,让Linux向企业级的应用再迈向一步。在这三篇文章我们介绍如何利用DiskDruid建立LVM,不过DiskDruid这个工具只有在安装系统时才能使用。如果一开始安装时未利用DiskDruid设定LVM(或者您使用的Linux发行版本没有提供类似工具),就得利用Linux提供命令的方式来设定LVM,这部份笔者将会在后续文章中介绍。

上一页[1][2][3][4][5][6][7][8][9]