分类: LINUX
2008-05-02 18:25:59
// 未经测试,实践前请先阅读各自手册页,介绍的有很多遗漏,只是一个
// 最土的教程,不求全但求无误,欢迎指正:-)
* LVM 的用途
能整虚拟分区出来,分区大小可调,这样不用担心分区时给 / 的
是不是少了。
* LVM 的全称
Logical Volumn Manager
* LVM 的术语
PV: Physical Volumn,物理卷,可以理解为磁盘分区
PE: Physical Extent, 物理块,可以理解为磁盘块(多个连续扇区)
LV: Logical Volumn, 逻辑卷,在其上的文件系统看到的“磁盘分区”
LE: Logical Extent, 逻辑块,在其上的文件系统看到的“磁盘块”,
LVM 中 PE 和 LE 的大小一致。
VG: Volumn Group,卷组,可以理解为存储池,它和上面几个东西的关系
如下:
一个 PV 分成多个 PE,一个 LV 分成多个 LE;
一个 VG 由一个或多个 PV 组成;
一个 LE 从 VG 中分配出来,这个 LE 就是 mkfs 看到的分区,类似
于通常情况下的物理分区 /dev/hda1 这样的东西。
类比于内存管理:一个 PV 就是一根内存条,多个 PV 合在一起组成
一大块内存 VG,一个文件系统就像一个进程,从 VG 中分配虚拟内存 LV
出来,LV 中的每一个 LE (类比虚拟内存页) 映射到 PV 的每一个 PE (
物理内存页),这其中的映射关系由 LVM 驱动程序管理。由于这种映射
关系,LV 的大小是可以改变的。
* 1 * 1 1 * 1 *
PE ----- PV ------ VG ------ LV ----- LE
1 1
`----- File System
* 创建 PV
将整个磁盘创建为一个 PV: pvcreate /dev/hda
将单个分区创建为一个 PV: fdisk 修改这个分区类型为 0x8E(Linux LVM)
pvcreate /dev/hdc1
// 设备名应据实际情况而定
* 创建 VG
vgcreate myvg /dev/hda /dev/hdc1
* 向已有 VG 中添加 PV
vgextend myvg /dev/hdc2
* 创建 LV
查看 PE 大小: vgdisplay myvg
假设 PE 大小是 4MB,创建一个 4000 MB 的 LV:
lvcreate -l 400 -n mylv myvg
* 在 LV 上创建 reiserfs 格式文件系统
mkfs -t reiserfs /dev/myvg/mylv
* 增大一个 fs 的容量
首先需要增大 fs 其下的 LV 的大小,这里增加到 5000 MB:
lvextend -l 500 /dev/myvg/mylv
其次告诉 fs 使用多出来的空间:
resize_reiserfs -s 50000M /dev/myvg/mylv
更多功能请参考手册页。