位置:海鸟网 > IT > linux/Unix >

Linux下的Partition Magic-LVM

  Partition Magic可以说是windows下的分区利器,在一块硬盘上想怎么分就怎么分,分好之后一个重启就一切搞定。在Linux下又怎么样呢? fdisk不能很好的进行分区大小的resize,一旦用fdisk分好区,再想改变分区大小就很麻烦。那么是不是在Linux下就没有办法呢?非也!

  我们 Linuxer 也有硬盘分区管理超级武器--LVM。

  LVM(Logical Volume Manager),linux 下的多硬盘管理软件,它可以把多个硬盘(PV)当作一个硬盘组(VG),在这个硬盘组上用户可以任意的对分区(LV)进行操作。 比如,你有三块硬盘 PV1, PV2, PV3,LVM会把它们当作一个硬盘 (VG),在这个VG上你可以任意创建分区(LV),并可以对这些分区进行任意修改(类似Partition Magic),所有修改即时生效无须重启。除此之外,LVM还可以无限量的对VG进行扩充,也就是说,当你原有的所用硬盘都满了,想添加了一块新硬盘的时候,你可以通过LVM把新的硬盘添加到你原有的VG中,并把添加进来的硬盘空间分给你想要扩大的分区。简单的说就是,在不改变当前分区结构情况下,任意扩大分区大小。

  来看一个简单的例子。经过长时间的BT下载,你的硬盘已满,其中有一个media分区主要存放媒体文件,现在你要添加一个块新的硬盘,这块硬盘的主要用途是继续存放媒体文件。

  Windows下的做法

  装入硬盘,格式化,分出一个media分区来继续存放媒体文件,这样你就有两个media分区,如果再满,再分一个... 日积月累你会有N个分区存放相同类型的文件,文件查找起来相当不便。 这对于个人用户来说还能接受,但是对于服务器是致命的。

  Linux下不使用LVM

  和Windows下查不多,不同在于,多了很多挂载点而已

  Linux下使用LVM

  装入硬盘,把硬盘加入已有的硬盘组(VG)中,在硬盘组中扩充media分区。你始终还是只有一个media分区。

  说了那么多大道理,牛刀小试一下。在试刀之前要说明的是,现在大多数的linux发行版都使用了LVM进行默认分区安装,fedora 7当然也不例外。

  大部新人装 fedora 7都是一路 Next, 很少会去手动分区。安装玩后的默认分区大概如下:

  --/boot

  --VolGroup00

  |--LogVol00 ( / )

  |--LogVol01 ( Swap )

  fweewedsdfqweqw

  在我的分区表里

  /dev/sda7 是 /boot

  /dev/sda8 是 VolGroup00 (VG)

  如果你是默认安装,在root权限下用

  # vgdisplay VolGroup00 查看硬盘组(VG)信息

  # lvdisplay VolGroup00 查看分区(LV)信息

  由于是默认安装, 我的swap是2G,这样太浪费了。所以打算把它减少一点,因为swap在VolGroup00中,所以调整大小非常方便,

  具体操作如下:

  关闭swap先

  # swapoff -v /dev/VolGroup00/LogVol01

  减少1G(如果想加,只要把- 改成+就好了,前提是有多余空间)

  # lvm lvreduce /dev/VolGroup00/LogVol01 -L -1G

  格式化swap(只有更改swap的时候需要重新格式化,其他的分区不需要格式化,直接减完就可以了)

  # mkswap /dev/VolGroup00/LogVol01

  重新打开swap

  # swapon -va

  swap更改完毕,就这么简单。

  现在你已经有了多余的1G硬盘空间了,可以把它扩展到根目录( / )下,同样很简单,如下:

  增加1G到LogVol00

  # lvextend -L+1G /dev/LogVol00

  上一步只是增加了LogVol00,增加的部分还没有文件系统

  # resize2fs /dev/LogVol00

  根目录( / )增加完毕

  很简单吧,这只是LVM的一小部分应用