日期:2014-05-16  浏览次数:20731 次

基础知识 -- Linux 逻辑卷管理技术1

Linux 逻辑卷管理器简介

????

LVM : 是Linux 逻辑卷管理器的英文缩写,它表示逻辑的磁盘,区别于传统的物理磁盘;?

LVM 技术的产生是由于传统磁盘分区满足不了日益高速增长的数据存储需求, 传统磁盘分区大小是固定的,每个分区容量是死的.随着数据的增加,总有一天数据会添满你的磁盘. 当更换磁盘时,也是相当繁琐,首先要关闭机算机,然后重新分区,然后格式化分区,然后才能 copy数据.

?? 有了LVM技术,我们就可以不需要关闭机算机, 不用重新分区. 利用现有的物理设备直接增加物理空间,我们可以随意放大或缩小存储空间.我们称之这样的空间为逻辑块或逻辑区.

在LVM中有几个重要的概念需要理解:

?pv: phisical volume (最基本的概念), 要创建PV 我们使用 pvcreate 命令

?vg: volume group? 要创建GV 我们使用 vgcreate 命令

?lv : logical? volume 要创建LV 我们使用 lvcreate 命令

它们三者的组成关系是,先创建PV, 然后基于PV创建VG, 然后就可以在VG在分配LV了.其中LV的大小可以增加直至VG的大小.要放大LV,我们使用e2fsadm , 例如在VG名称为vg1的中增加名称为data的LV的大小

e2fsadm? -L +10M /dev/vg1/data

当然如果VG不够了,那么我们也需要增加它,使用如下命令:

vgextend? vg1? /dev/sdb1

?

牢记VG和LV都是可以动态放大的

创建并使用逻辑卷管理器

我的实验环境为虚拟机环境 openSUSE 11.2 操作系统, 添加了两块物理磁盘 /dev/sda 和 /dev/sdb.现在我在 /dev/sdb中增加LV

1. 首先为 /dev/sdb增加3个分区

linux-0eob:~ # fdisk /dev/sdb

Partition number (1-4): 3
First cylinder (29-261, default 29): +100M
Value out of range.
First cylinder (29-261, default 29):
Using default value 29
Last cylinder, +cylinders or +size{K,M,G} (29-261, default 261): +20M

Command (m for help): p

Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xdc3e63cc

?? Device Boot????? Start???????? End????? Blocks?? Id? System
/dev/sdb1?????????????? 1????????? 14????? 112423+? 83? Linux
/dev/sdb2????????????? 15????????? 28????? 112455?? 83? Linux
/dev/sdb3????????????? 29????????? 32?????? 32130?? 83? Linux

?

2. 初始化这3个分区为pv

? 在改之前还得做一件事情就是 change a partition's system id ,就是? Id?这一栏的值,我们使用fdisk命令提供的t子命 令来完成即可:

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

保存退出

如果该磁盘没有被使用那么就不用重启操作系统, 否则必须重启操作系统.要不然接下来这一步不会成功哦

?

linux-0eob:~ # pvcreate /dev/sdb[1-3]
? Physical volume "/dev/sdb1" successfully created
? Physical volume "/dev/sdb2" successfully created
? Physical volume "/dev/sdb3" successfully created

这样pv就创建成功了

3. 创建VG

如果是第一次创建,那么要先运行vgsan命令,这个命令会新建vg数据库的东东.

linux-0eob:~ # vgscan
? Reading all physical volumes.? This may take a while...

linux-0eob:~ # vgcreate vg0 /dev/sdb1 /dev/sdb2
? Volume group "vg0" successfully created

linux-0eob:~ # vgdisplay vg0
? --- Volume group ---
? VG Name?????????????? vg0
? System ID????????????
? Format??????????????? lvm2
? Metadata Areas??????? 2
? Metadata Sequence No? 1
? VG Access???????????? read/write
? VG Status???????????? resizable
? MAX LV??????????????? 0
? Cur LV??????????????? 0
? Open LV?????????????? 0
? Max PV??????????????? 0
? Cur PV??????????????? 2
? Act PV??????????????? 2
? VG Size?????????????? 104.00 MB
? PE Size?????????????? 4.00 MB
? Total PE????????????? 26
? Alloc PE / Size?????? 0 / 0??
? Free? PE / Size?????? 26 / 104.00 MB
? VG UUID?????????????? MrDrOT-rGKL-QonT-XaSJ-Ob1H-lHSx-6