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的一小部分应用