LVM(逻辑卷管理器)总结

LVM(逻辑卷管理器)总结
LVM(逻辑卷管理器)总结

逻辑卷管理(LVM)指系统将物理卷管理抽象到更高的层次,常常会形成更简单的管理模式。通过使用LVM,所有物理磁盘和分区,无论它们的大小和分布方式如何,都被抽象为单一存储(single storage)源。例如,在图 1 所示的物理到逻辑映射布局中,最大的磁盘是80GB 的,那么用户如何创建更大(比如150GB)的文件系统呢?

图 1. 物理到逻辑的映射

LVM 可以将分区和磁盘聚合成一个虚拟磁盘(virtual disk),从而用小的存储空间组成一个统一的大空间。这个虚拟磁盘在LVM 术语中称为卷组(volume group)。

建立比最大的磁盘还大的文件系统并不是这种高级存储管理方法的惟一用途。还可以使用LVM 完成以下任务:

?在磁盘池中添加磁盘和分区,对现有的文件系统进行在线扩展

?用一个160GB 磁盘替换两个80GB 磁盘,而不需要让系统离线,也不需要在磁盘之间手工转移数据

?当存储空间超过所需的空间量时,从池中去除磁盘,从而缩小文件系统

?使用快照(snapshot)执行一致的备份(本文后面会进一步讨论)

LVM2是一个新的用户空间工具集,它为Linux 提供逻辑卷管理功能。它完全向后兼容原来的LVM 工具集。在本文中,将介绍LVM2 最有用的特性以及几种简化系统管理任务的方法。(随便说一句,如果您正在寻找关于LVM 的基本指南,那么可以看看参考资料中列出的LVM HowTo。)

我们来看看LVM 的结构是什么样子的。

LVM 的结构

LVM 被组织为三种元素:

?卷(Volume):物理和逻辑卷和卷组

?区段(Extent):物理和逻辑区段

?设备映射器(Device mapper):Linux 内核模块

Linux LVM 组织为物理卷(PV)、卷组(VG)和逻辑卷(LV)。物理卷是物理磁盘或物理磁盘分区(比如/dev/hda 或/dev/hdb1)。卷组是物理卷的集合。卷组可以在逻辑上划分成多个逻辑卷。

图2 显示一个三个磁盘构成的布局。

图 2. 物理到逻辑卷的映射

物理磁盘0 上的所有四个分区(/dev/hda[1-4])以及完整的物理磁盘1(/dev/hdb)和物理磁盘2

(/dev/hdd)作为物理卷添加到卷组VG0 中。

卷组是实现n-to-m映射的关键(也就是,将n个PV 看作m个LV)。在将PV 分配给卷组之后,就可以创建任意大小的逻辑卷(只要不超过VG 的大小)。在图 2 的示例中,创建了一个称为LV0 的卷组,并给其他LV 留下了一些空间(这些空间也可以用来应付LV0 以后的增长)。

LVM 中的逻辑卷就相当于物理磁盘分区;在实际使用中,它们就是物理磁盘分区。

在创建LV 之后,可以使用任何文件系统对它进行格式化并将它挂载在某个挂载点上,然后就可以开始使用它了。图 3 显示一个经过格式化的逻辑卷LV0 被挂载在/var。

图 3. 物理卷到文件系统的映射

区段

为了实现n-to-m物理到逻辑卷映射,PV 和VG 的基本块必须具有相同的大小;这些基本块称为物理区段(PE)和逻辑区段(LE)。尽管n 个物理卷映射到m 个逻辑卷,但是PE 和LE 总是一对一映射的。在使用LVM2 时,对于每个PV/LV 的最大区段数量并没有限制。默认的区段大小是4MB,对于大多数配置不需要修改这个设置,因为区段的大小并不影响I/O 性能。但是,区段数量太多会降低LVM 工具的效率,所以可以使用比较大的区段,从而降低区段数量。但是注意,在一个VG 中不能混用不同的区段大小,而且用LVM 修改区段大小是一种不安全的操作,会破坏数据。所以建议在初始设置时选择一个区段大小,以后不再修改。

不同的区段大小意味着不同的VG 粒度。例如,如果选择的区段大小是4GB,那么只能以4GB 的整数倍缩小或扩展LV。

图4 用PE 和LE 显示与前一个示例相同的布局(VG0 中的空闲空间也由空闲LE 组成,尽管图中没有显示它们)。

图 4. 物理到逻辑区段的映射

另外,请注意图 4 中的区段分配策略。LVM2 并非总是连续分配PE;细节参见关于lvm 的Linux 手册页(见参考资料中的链接)。系统管理员可以设置不同的分配策略,但是一般不需要这么做,因为默认策略(名为一般分配策略(normal allocation policy))使用符合常规的规则,比如不把并行的条带放在同一物理卷上。

如果决定创建第二个LV(LV1),那么最终的PE 布局可能像图 5 这样。

图 5. 物理到逻辑区段的映射

设备映射器

设备映射器(也称为dm_mod)是一个Linux 内核模块(也可以是内置的),最早出现在 2.6.9 内核中。它的作用是对设备进行映射—— LVM2 必须使用这个模块。

在大多数主流发行版中,设备映射器会被默认安装,常常会在引导时或者在安装或启用LVM2/EVMS 包时自动装载(EVMS 是一种替代LVM 的工具,更多信息见参考资料)。如果没有启用这个模块,那么对dm_mod执行modprobe命令,在发行版的文档中查找在引导时启用它的方法:modprobe dm_mod。在创建VG 和LV 时,可以给它们起一个有意义的名称(而不是像前面的示例那样使用VG0、LV0 和LV1 等名称)。设备映射器的作用就是将这些名称正确地映射到物理设备。对于前面的示例,设备映射器会在/dev 文件系统中创建下面的设备节点:

?/dev/mapper/VG0-LV0

o/dev/VG0/LV0 是以上节点的链接

?/dev/mapper/VG0-LV1

o/dev/VG0/LV1 是以上节点的链接

(注意名称的格式标准:/dev/{vg_name}/{lv_name} -> /dev/mapper/{vg_name}{lv_name})。

与物理磁盘相反,无法直接访问卷组(这意味着没有/dev/mapper/VG0 这样的文件,也不能执行dd

if=/dev/VG0 of=dev/VG1)。常常使用lvm(8)命令访问卷组。

常见任务

在使用LVM2 时常常执行的任务包括系统检验(是否安装了LVM2)以及创建、扩展和管理卷。

系统准备好运行LVM2 了吗?

检查您的Linux 发行版是否安装了LVM2 软件包。如果还没有,就安装它(最好安装发行版附带的软件包)。

设备映射器模块必须在系统启动时装载。用lsmod | grep dm_mod命令检查当前是否装载了这个模块。如果没有装载,那么可能需要安装并配置更多的软件包(文档会说明如何启用LVM2)。

如果只是想测试一下(或者挽救某个系统),那么可以使用以下命令启动LVM2:

清单 1. 启动LVM2 的基本命令

如果打算将根文件系统放在一个LVM LV 中,那么还要注意initial-ramdisk 映像。同样,发行版常常会负责处理这个问题——在安装LVM2 包时,它们常常会重新构建或更新initrd 映像,在其中添加适当的内核模块和启动脚本。但是,可能需要查看发行版的文档,确保系统支持LVM2 根文件系统。

注意,通常只有当探测到根文件系统在一个VG 中时,initial-ramdisk 映像才会启用LVM。这种探测常常是通过分析root=内核参数执行的。不同的发行版以不同的方式判断根文件系统是否在卷组中。细节参见发行版的文档。如果不确定的话,就需要检查initrd 或initramdisk 的配置。

创建新的卷

使用您喜欢的分区工具(比如fdisk、parted 或gparted),创建一个供LVM 使用的新分区。尽管LVM 支持在整个磁盘上使用LVM,但是不建议这么做:其他操作系统可能认为这个磁盘没有初始化,可能会破坏它!更好的方法是创建一个覆盖整个磁盘的分区。

大多数分区工具常常默认使用分区ID 0x83(或Linux)来创建新分区。可以使用这个默认ID,但是为了便于组织,最好将它改为0x8e(或Linux LVM)。

在创建分区之后,应该会在分区表中看到一个(或多个)Linux LVM 分区:

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 1623 13036716 7 HPFS/NTFS

/dev/hda2 1624 2103 3855600 8e Linux LVM

/dev/hda3 2104 2740 5116702+ 83 Linux

/dev/hda4 3000 9729 54058725 5 Extended

/dev/hda5 9569 9729 1293232+ 82 Linux swap /

Solaris

/dev/hda6 3000 4274 10241374+ 83 Linux

/dev/hda7 4275 5549 10241406 83 Linux

/dev/hda8 5550 6824 10241406 83 Linux

/dev/hda9 6825 8099 10241406 83 Linux

/dev/hda10 8100 9568 11799711 8e Linux LVM

Partition table entries are not in disk order

root@klausk:/tmp/a#

现在用pvcreate对每个分区进行初始化:

清单 2. 分区初始化

在一个步骤中同时创建PV 和VG:vgcreate:

清单 3. 创建PV 和VG

上面的命令创建一个称为test-volume的逻辑卷,它使用/dev/hda2 和/dev/hda10 作为最初的PV。在创建VG test-volume 之后,使用vgdisplay命令查看刚创建的VG 的基本信息:

清单 4. 查看刚创建的VG 的基本信息

Using volume group(s) on command line

Finding volume group "test-volume"

--- Volume group ---

VG Name test-volume

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 14.93 GB

PE Size 4.00 MB

Total PE 3821

Alloc PE / Size 0 / 0

Free PE / Size 3821 / 14.93 GB

VG UUID lk8oco-ndQA-yIMZ-ZWhu-LtYX-T2D7-7sGKaV

--- Physical volumes ---

PV Name /dev/hda2

PV UUID 8LTWlw-p1OJ-dF6w-ZfMI-PCuo-8CiU-CT4Oc6

PV Status allocatable

Total PE / Free PE 941 / 941

PV Name /dev/hda10

PV UUID vC9Lwb-wvgU-UZnF-0YcE-KMBb-rCmU-x1G3hw

PV Status allocatable

Total PE / Free PE 2880 / 2880

root@klausk:/dev#

在清单 4 中,可以看到有两个PV 被分配给这个VG,总大小为14.93GB,有3,821 个4MB 的PE,这些PE 都是空闲的!

既然卷组已经准备好了,就可以像使用磁盘一样用它创建分区(LV)、删除分区和重新设置分区大小——注意,卷组是一个抽象实体,只有LVM 工具集能够看到它们。使用lvcreate创建一个新的逻辑卷:

清单 5. 创建新的逻辑卷(分区)

清单 5 创建一个名为data的5GB LV。创建这个LV 之后,可以检查它的设备节点:

清单 6. 检查LV 的设备节点

还可以用lvdisplay命令查看LV 的属性:

清单7. 查看LV 的属性

root@klausk:~# lvdisplay /dev/test-volume/data

--- Logical volume ---

LV Name /dev/test-volume/data

VG Name test-volume

LV UUID FZK4le-RzHx-VfLz-tLjK-0xXH-mOML-lfucOH

LV Write Access read/write

LV Status available

# open 0

LV Size 5.00 GB

Current LE 1280

Segments 1

Allocation inherit

Read ahead sectors 0

Block device 253:4

root@klausk:~#

在这里可以看到,在实际使用时LV 的名称/路径是/dev/{VG_name}/{LV_name},比如

/dev/test-volume/data。除了用作/dev/{VG_name}/{LV_name} 链接的目标之外,不应该在其他地方使用/dev/mapper/{VG_name}-{LV_name} 文件。大多数LVM 命令要求以/dev/{vg-name}/{lv-name} 格式指定操作的目标。

建立逻辑卷之后,可以使用任何文件系统对它进行格式化,然后将它挂载在某个挂载点上:

清单8. 挂载LV

还可以编辑fstab(5)文件,从而在引导时自动挂载这个文件系统:

清单9. 自动挂载LV

在实际使用中,逻辑卷的表现就像一个块设备,比如可以将它用作数据库的原始分区。实际上,如果希望对数据库执行一致的备份,那么使用LVM 快照是标准的最佳实践。

展卷

扩展卷是非常容易的。如果卷组中有足够的空闲空间,那么只需使用lvextend来扩展卷,不需要卸载它。然后,还要扩展逻辑卷中的文件系统(请记住,它们是两回事儿)。根据所用文件系统的不同,也可以进行在线扩展(即在挂载状态下进行扩展)。

如果VG 中没有足够的空间,那么首先需要添加更多的物理磁盘。步骤如下:

?使用一个物理磁盘创建一个分区。建议将分区类型改为0x8e(Linux LVM),这样便于识别LVM 分区/磁盘。使用pvcreate对物理磁盘进行初始化:pvcreate /dev/hda3。

?然后,使用vgextend将它添加到现有的VG 中:vgextend test-volume /dev/hda2。还可以同时创建或添加多个物理磁盘:

添加了PV 之后,就有了足以扩展逻辑卷的空间,就可以使用lvextend扩展逻辑卷了:lvextend -L 8G /dev/test-volume/data。这个命令将/dev/test-volume/data LV 的大小扩展到8GB。

lvextend有一些有用的参数:

?如果希望让LV 增加5GB,那么可以使用-L +5G。

?可以指定扩展部分的位置(也就是,用哪些PV 提供新的空间);只需将希望使用的PV 附加在命令后面。

?还可以以PE 为单位指定绝对/相对扩展大小。

细节参见lvextend(8)。

在扩展LV 之后,不要忘记扩展文件系统(这样才能实际使用增加的空间)。根据文件系统类型,这个操作可以在文件系统挂载状态下在线执行。

清单10 是一个用resize_reiserfs重新设置LV 大小的示例(随便说一句,可以在挂载的文件系统上使用这个命令):resize_reiserfs /dev/test-volume/data。

管理卷

为了管理卷,需要知道如何减小LV 和删除PV。

减小逻辑卷

可以按照扩展LV 的方式使用lvreduce命令减小LV。从LVM 的角度来说,这个操作可以在卷在线的情况下执行;但是,大多数文件系统不支持缩小在线文件系统。清单10 给出这个过程的示例:

清单10. 减小LV

请注意大小和单位:文件系统不应该比LV 大!

删除物理卷

假设出现了以下情况:一个卷组包含两个80GB 的磁盘,希望将它们替换为160GB 的磁盘。在使用LVM 时,可以按照添加PV 的方式从VG 中删除PV(即在在线情况下执行删除)。但是注意,不能删除LV 中正在使用的PV。对于这些情况,可以使用pvmove,它可以释放在线的PV,这样就可以轻松地替换它们。在热交换环境中,甚至可以交换所有磁盘,而根本不需要停机!

pvmove的惟一要求是,VG 中连续空闲区段的数量必须等于要从PV 中删除的区段数量。没有直接判断连续空闲PE 的最大数量的简便方法,但是可以使用pvdisplay -m显示PV 分配图:

清单11. 显示PV 分配图

PE Size (KByte) 4096

Total PE 1200

Free PE 0

Allocated PE 1200

PV UUID BA99ay-tOcn-Atmd-LTCZ-2KQr-b4Z0-CJ0FjO

--- Physical Segments ---

Physical extent 0 to 2367:

Logical volume /dev/test-volume/data

Logical extents 5692 to 8059

Physical extent 2368 to 2499:

Logical volume /dev/test-volume/data

Logical extents 5560 to 5691

--- Physical volume ---

PV Name /dev/hda7

VG Name test-volume

PV Size 9.77 GB / not usable 1.37 MB

Allocatable yes

PE Size (KByte) 4096

Total PE 2500

Free PE 1220

Allocated PE 1280

PV UUID Es9jwb-IjiL-jtd5-TgBx-XSxK-Xshj-Wxnjni

--- Physical Segments ---

Physical extent 0 to 1279:

Logical volume /dev/test-volume/LV0

Logical extents 0 to 1279

Physical extent 1280 to 2499:

FREE

清单11 显示有2,499-1,280 = 1,219 个连续空闲区段,这表示最多能够将1,219 个区段从另一个PV 转移到/dev/hda7。

如果希望释放一个PV 以便进行替换,那么最好禁止它的分配,这样就可以在从卷组中删除它之前确保它一直是空闲的。在转移数据之前,执行以下命令:

清单12. 在释放之前禁止PV 的分配

释放之后,PV /dev/hda6 的大小为1,200 个区段,没有空闲区段了。使用以下命令将数据转移出这个PV:

清单13. 从释放的PV 移出数据

清单13 中的-i 10参数指示pvmove每10 秒报告一次状态。根据要转移的数据量,这个操作可能要花费几分钟(甚至几小时)。还可以使用-b参数将这个操作转到后台执行。在后台执行的情况下,状态报告会发送到系统日志。

如果没有足以进行pvmove操作的连续空闲区段,那么可以在VG 中添加一个或多个磁盘/分区,从而形成pvmove所需的连续空间。

其他有用的LVM 操作

关于下面这些LVM 操作的细节,请查阅手册页:

?pvresize:如果底层分区也已经扩展了,那么可以用这个操作扩展PV;如果分配图允许的话,它也可以缩小PV。

?pvremove:销毁PV(清空它的元数据)。只有在用vgreduce从VG 中删除PV 之后,才能使用这个操作。

?vgreduce:从卷组中删除未分配的PV,这会减小VG。

?vgmerge:将两个VG 合并成一个。目标VG 可以是在线的!

?vgsplit:分割一个卷组。

?vgchange:修改一个VG 的属性和权限。

?lvchange:修改一个LV 的属性和权限。

?lvconvert:在线性卷和镜像或快照之间进行转换。

用快照执行备份

如果在备份过程期间数据没有发生变化,那么就能够获得一致的备份。如果不在备份期间停止系统,就很难保证数据没有变化。

Linux LVM 实现了一种称为快照(Snapshot)的特性,它的作用就像是“拍摄” 逻辑卷在某一时刻的照片。通过使用快照,可以获得同一LV 的两个拷贝——一个可以用于备份,另一个继续用于日常操作。

快照有两大优点:

1. 快照的创建非常快,不需要停止生产环境。

2. 建立两个拷贝,但是它们的大小并不一样。快照使用的空间仅仅是存储两个LV 之间的差异所需

的空间。

快照由一个例外列表(exception list)来实现,每当LV 之间出现差异时就会更新这个列表(正式的说法是CoW,Copy-on-Write)。

创建新的快照

创建新的快照LV 也是使用lvcreate命令,但是要指定-s参数和原来的LV。在这种情况下,-L size指定例外列表的大小,这影响快照支持的最大差异量,如果差异超过这个量,就无法保持一致性。

清单14. 建立快照

可以使用lvdisplay查询特殊信息,比如CoW 的大小和使用情况:

清单15. CoW 的大小和使用情况

lvdisplay /dev/vg00/snap

--- Logical volume ---

LV Name /dev/vg00/snap

VG Name vg00

LV UUID QHVJYh-PR3s-A4SG-s4Aa-MyWN-Ra7a-HL47KL

LV Write Access read/write

LV snapshot status active destination for /dev/vg00/test

LV Status available

# open 0

LV Size 4.00 GB

Current LE 1024

COW-table size 2.00 GB

COW-table LE 512

Allocated to snapshot 54.16%

Snapshot chunk size 8.00 KB

Segments 1

Allocation inherit

Read ahead sectors 0

Block device 254:5

清单15 表明这个CoW 的大小为2GB,其中的54.16 % 已经使用了。

对于所有日常操作,快照看起来就是原LV 的一个拷贝。如果已经建立了文件系统的话,可以用以下命令挂载它:

在这个命令中,ro标志表示将它挂载为只读的。可以在lvcreate命令后面加上-p r,这样就在LVM 级将它设置为只读的。

挂载文件系统之后,就可以用tar、rsync或其他备份工具执行备份。如果LV 不包含文件系统,或者需要原始备份,那么也可以在这个设备节点上直接使用dd。

复制过程完成之后,就不需要快照了,这时只需用lvremove卸载并销毁它:

如果数据库建立在LV 上,并且需要一个一致的备份,那么一定要刷新表并在获得读取锁(read-lock)的情况下建立快照卷(见下面的伪代码):

备份脚本示例

清单16 中的脚本直接取自我的笔记本电脑,我在这个脚本中使用rsync向一台远程服务器执行每日备份。这个脚本并不适合企业环境;在企业环境中,带历史记录的增量备份更合适,但概念是相同的。

清单16. 简单的备份脚本示例

#!/bin/sh

# we need the dm-snapshot module

modprobe dm-snapshot

if [ -e /dev/vg00/home-snap ]

then

# remove left-overs, if any

umount -f /mnt/home-snap && true

lvremove -f /dev/vg00/home-snap

fi

# create snapshot, 1GB CoW space

# that should be sufficient for accommodating changes during copy

lvcreate -vs -p r -n home-snap -L 1G /dev/vg00/home

mkdir -p /mnt/home-snap

# mount recently-created snapshot as read-only

mount -o ro /dev/vg00/home-snap /mnt/home-snap

# magical rsync command__rsync -avhzPCi --delete -e "ssh -i

/home/klausk/.ssh/id_rsa" \

--filter '- .Trash/' --filter '- *~' \

--filter '- .local/share/Trash/' \

--filter '- *.mp3' --filter '- *Cache*' --filter '- *cache*' \

/mnt/home-snap/klausk klausk2@https://www.360docs.net/doc/cc3128550.html,This e-mail address is

being protected

from spam bots, you need JavaScript enabled to view it :bkp/

# unmount and scrap snapshot LV

umount /mnt/home-snap

lvremove -f /dev/vg00/home-snap

在某些特殊情况下,无法估计备份周期或者复制过程很长,那么脚本可以用lvdisplay查询Snapshot CoW 的使用情况并根据需要扩展这个LV。在极端情况下,可以让快照与原LV 同样大——这样就不需要执行查询,因为变化量不会比整个卷更大!

其他LVM2 系统管理技巧

最后,我要介绍一些可以用LVM2 执行的系统管理任务,包括按需虚拟化、用镜像提高容错能力以及透明地对块设备执行加密。

快照和虚拟化

在使用LVM2 时,快照可以不是只读的。这意味着,在创建快照之后,可以像常规块设备一样挂载和读写快照。

因为流行的虚拟化系统(比如Xen、VMWare、Qemu 和KVM)可以将块设备用作guest 映像,所以可以创建这些映像的完整拷贝,并根据需要使用它们,它们就像是内存占用量很低的虚拟机。这样做的好处是部署迅速(创建快照的时间常常不超过几秒)和节省空间(guest 共享原映像的大多数数据)。

设置的步骤如下:

1. 为原映像创建一个逻辑卷。

2. 使用这个LV 作为磁盘映像安装guest 虚拟机。

3. 暂停这个虚拟机。内存映像可以是一个常规文件,所有其他快照都放在里面。

4. 为原LV 创建一个可读写的快照。

5. 使用快照卷作为磁盘映像生成一个新的虚拟机。如果需要的话,要修改网络/控制台设置。

6. 登录已经创建的虚拟机,修改网络设置/主机名。

完成这些步骤之后,就可以让用户访问刚创建的虚拟机了。如果需要另一个虚拟机,那么只需重复步骤 4 到6(所以不需要重新安装虚拟机)。还可以用一个脚本自动执行这些步骤。

在使用完虚拟机之后,可以停止虚拟机并销毁快照。

更好的容错能力

最近的LVM2 开发成果为逻辑卷提供了高可用性。逻辑卷可以有两个或更多的镜像,镜像可以放在不同的物理卷(或不同的设备)上。当在设备上发现I/O 错误时,可以使用dmeventd让一个PV 离线,而不会影响服务。更多信息请参考lvcreate(8)、lvconvert(8)和lvchange(8)手册页。

如果硬件能够支持的话,可以用dm_multipath通过不同的通道访问同一设备,这样的话在一个通道发生故障时,可以转移到另一个通道。更多细节请参考dm_multipath和multipathd的文档。

透明的设备加密

可以用dm_crypt对块设备或逻辑卷执行透明的加密。更多信息请参考dm_crypt的文档和cryptsetup(8)手册页。

//////////////////////////////////////////////////////////////////////////////////////////////////////////

一LVM的基本概念

LVM(logical vol ume manager) 逻辑卷管理器

其中主要分为这几个概念

1物理卷-简称PV

物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的某一个分区

2卷组-简称VG

卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷

3逻辑卷-简称L V

逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组

4 物理区域-简称PE

物理区域是物理卷中最小的可分配储存单元

5 逻辑区域-简称-LE

逻辑区域是逻辑卷中可用于分配的最小储存单元

6 卷组描述区域-简称VGDA

用于描述物理卷,卷组,逻辑卷分配的所由信息

一个建立逻辑卷的流程如下

PV-VG-LV

物理卷包含卷组,卷组包含逻辑卷

二redhat9中使用逻辑卷管理器

1使用vgscan生成默认的配置文件,配置文件在/etc下的lvmconf 和lvmtab 2个文件

2 用逻辑卷管理器分配物理卷

我这里使用一个分区来作/dev/hda9

#fdi sk hda

>;t

>;9

>;8e (为LVM分区)

>;w

重起

#pvcreate /dev/hda9

使用

#pvdisplay /dev/hda9查看是否建立

这样就建立好了物理卷

3在物理卷中建立卷组

#vgcreate vg0 /dev/hda9 其中vg0为要建立的卷组名称.这里的PE值我们使用默认的4M如需要增大可

以使用-L 选项,记住一旦设定以后不可更改PE的值

#vgdisplay 查看是否建立成功

4 在卷组中建立逻辑卷

#lvcreate -L 100M -n vg1 vg0

其中-L 选项表示你想的逻辑卷大小,以后可以用命令增减 -n指定逻辑卷的名称和卷组的名称,也可以使用绝对路径来达到上述目的

#lvdi splay /dev/vg0/vg1

查看是否建立成功

5 为逻辑卷建立文件系统

#mkfs.ext3 /dev/vg0/vg0

然后挂载尝试是否建立成功

#mount /dev/vg0/vg1 /home

这样一个逻辑卷就基本成型了

三逻辑卷的管理

1增加新的物理卷到卷组

当卷组中没有足够的空间分配给逻辑卷时,可以用给卷组增加物理卷的方法来增加卷组的空间

# vgextend vg0 /dev/hda8

这里注意hda8必需为L VM分区

2 扩充和减小逻辑卷的容量

#e2fsadm -L +100M /dev/vg0/vg1

-L 表示增减空间 +表示加 -表示减

#e2fsadm -L -100M /dev/vg0/vg1

这里要注意文件系统必需是ext2或ext3,而且需要卸载文件系统来执行,减小的时候需要知道剪掉空间的大小,不然会造成丢失

在reiserfs文件系统中未作测试

3 删除逻辑卷-卷组-物理卷 (必需按照先后顺序来执行删除)

#lvremove /dev/vg0/vg1 删除逻辑卷

#vgremove /dev/vg0 删除卷组

这里有一个问题,如果建立的卷组是活动的,他就不能删除

这里需要使用一个命令来是他变成固定的,以便删除

#vgchage -a n /dev/vg0

-a 参数指定卷组是否是活动的,n表示固定,y表示活动

#vgremove /dev/vg0

成功

物理卷的删除,移除/etc下的l vmconf 和lvmtab的两个文件,然后将分区转换为linux的就可以了

四检查物理卷,卷组,逻辑卷

分别使用3个命令

1 pvscan 检查物理卷

2 vgscan 检查卷组

3 lvscan 检查逻辑卷

五为逻辑卷作备份

1当你要备份你的卷组信息是,你就需要为卷组作备份,使用vgcfgbackup来备份

#vgcfgbackup vg0

备份的信息就是我们前面提到的VGDA备份到/etc/lwmconf/VG.conf

2当你的卷组信息意外丢失时,你可以使用这个文件来恢复你的卷组信息,前提是你要备份了的

#vgcfgrestor -n vg0 /dev/hda8

或者

#vgcfgrestor -f /etc/l vmconf/XXX.conf

重卷组vg0中恢复物理卷的VGDA信息 -n参数指定卷组的名程 -f 制定备份文件路径

3 恢复了物理卷及卷组的信息后我们还要恢复原来的建立的卷组和逻辑卷的设备文件

#vgmknods

这样如果物理卷,卷组,逻辑卷的信息丢失或者设备文件被破坏是就可以用来及时恢复

六卷组的合并于拆分

当你想合并2个卷组时可以使用一下命令

这里有2个前提条件 1 卷组的PE(物理区域)大小相等 2 2个卷组必需是非活动的,这个可以用前面提到的vgchange命令来更改,做到以上2个条件就可以了

#vgmerge vg1 vg2

其中vg1为原始卷组,vg2是你想合并到到vg1的卷组

七逻辑卷管理器管理命令(针对整个逻辑卷管理器,不针对物理卷,卷组,逻辑卷,是全局命令)注:全局命令都是以lvm开头的

1复位逻辑卷管理器(全局命令)

#lvmchange -R

这个命令用来复位逻辑卷管理器,也就是reset,该命令会使所由的卷组和逻辑卷处于非活动状态,也就是不能使用卷组和逻辑卷,所以使用时一定小心

2 查看逻辑卷管理器日志

# lvmsadc

命令可以直接输出到标准输出,也就是屏幕上,也可输出到文件中

# lvmsadc 1.txt

使用lvmsar 命令可一查看lvmsdac生成的日志文件

#lnmsar 1.txt

日志文件显示逻辑卷管理器中设备的读写统计信息

显示如下

total read :12 total write :222

3 利用LVM作逻辑卷的镜像卷或成快照卷

快照卷不需要和父卷大小一致,我们假设不需要保存太多的快照文件,可以设置成10M

#lvcreate -s -L 10M -n kuaizhao /dev/vg0/vg1

这样就从逻辑卷vg1中分出快照卷/dev/vg0/kuaizhao

这里又有一个问题,redhat9默认快照卷是以只读方式挂载的,只读方式的快照卷是不能和父卷同步数据的

这里需要使用lvchange命令使快照卷为读写方式挂载

#lvchange -p rw /dev/vg0/kuaizhao

然后

#mount /dev/vg0/vg1 /home

#mount /dev/vg0/kuaizhao /opt

目录随便,我这里只是测试

#cd /home

#touch test

#cd /opt

#ls

恭喜你可以看到文件数据已经同步了

注:如快照卷不能容纳超过自身设置的容量时,将被L VM管理器自动删除

解决的方法:

1及时清理不必要的快照文件

2 设置逻辑快照卷和父逻辑卷大小一致

//////////////////////////////////////////////////////////////////////////////////////////

lvm(逻辑卷管理器)的介绍和常用功能流程实验

daweicheng

1) 前言

2) lvm组成和概念

3) 如何使用lvm,创建逻辑卷的流程和实例

4) 如何动态放大/缩小一个逻辑卷/逻辑卷组

5) 如何删除逻辑卷/逻辑卷组

6) lvm相关命令

1) 前言

一直想写一个简单的lvm方面的文章,可以作个背忘,主要以流程和实例为主,希望文章能起到抛砖引玉的作用.

L VM=(Logical V olume Mamager)逻辑卷管理器,L VM最先是用在IBM AIX系统上,它的最大作用是可以动态分配磁盘分区,并且可以让多个分区或者物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘).这种机制可以让磁盘分区容量划分变得很灵活.我们先举个简单例子.

比如我们有一个硬盘/dev/hda,分了3个主分区:hda1,hda2,hda3,后面磁盘空间没有划分,分别对应的挂载点是/boot,/,/home,如果我们的/home空间不够了,怎么办?传统的方法是在未划分的空间中分割一个分区,挂载到/home下,并且把hda3的内容复制到这个新分区上.

或者把这个新分区挂载到另外的挂载点上,然后在/home下创建链接,链接到这个新挂载点.这两种方法都不大好,第一种方法浪费了hda3,并且如果后面的分区容量小于hda3怎么办?第二种方法不大浪费容量,但是每次要额外创建链接,比较麻烦.

那么,如果用lvm呢?lvm的好处在于,可以动态放大一个逻辑卷(相当于一个逻辑分区),也就是说,hda3如果是一个逻辑分区,比如/dev/rootvg/lv3,那么lv3可以被动态放大.这样就解决了动态容量调整的问题.当然,前提是系统已设定好lvm支持,并且需要动态缩放的挂载点对应的设备是逻辑卷.

2) lvm组成和概念

这里参考了IB M 林彥明(Alex Lin)的>)

PV(Physical V olume) 物理卷。可以是单独磁盘,也可以是硬盘分区

VG(V olume Group) 卷组。是PV的组合,可以看成单独的逻辑磁盘

LV(Logical V olume) 逻辑分区。相当于物理分区的/dev/hdaX

PE(Physical Extent) 物理范围。VG单元,类似于R AID的条带大小。

当多个PV组成一个VG时,LVM会在所有PV上做类似格式化的动作,

将每个PV切成一块块的空间,这一块块的空间就称为PE, 通常是4MB。

LE(Logical Extent) 逻辑范围。L V的组成单位。大小为PE的倍数(通常为1:1)

那么,最常用的3个名词和意义列表如下:

名词意义操作系统对应设备

PV 物理卷/dev/hdaX

VG 卷组/dev/ (通常是个目录)

LV 逻辑卷/dev//

如果我们要使用lvm,顺序是pv->vg->lv。

就是说,我们先创建一个物理卷(对应一个物理硬盘分区或者一个物理硬盘),然后把这些分区/硬盘加入一个卷组中(相当于一个逻辑上的大硬盘),然后我们在这个大硬盘上划分分区l v(逻辑上的分区,就是逻辑卷)

这样,我们把lv逻辑卷格式化以后,就可以像使用一个传统分区那样,把它挂载到一个挂载点上,需要的时候,这个逻辑卷可以被动态缩放。

我们可以用一个长方蛋糕来说明这个对应关系。物理硬盘相当于一个长方蛋糕,我们把它切割成许多快,每个小块相当于一个pv,然后我们把其中的某些pv重新放在一起,抹上奶油,那么这么些个pv 的组合就是一个新的蛋糕,也就是vg。最后,我们切割这个新蛋糕vg,切出来的小蛋糕就叫做lv。有一点需要注意,就是/boot区不可以是lvm,因为引导程序lilo/grub并不能识别lvm,就像/boot同样不可以是软raid设备一样。

3) 如何使用lvm,创建逻辑卷的流程和实例

好了,我们来创建一个lv。

比如说,在一个物理硬盘/dev/hda上,我们需要将/dev/hda5,/dev/hda6作为pv

1 fdisk划分hda5,hda6,并且将这两个分区的标志(键入t改)改为(0x)8e

然后用partprobe通知OS磁盘分区的变化

2 pvcreate /dev/hda5 /dev/hda6(-s xxM可设定PE大小)

创建pv hda5,hda6

3 vgcreate rootvg /dev/hda5 /dev/hda6

将hda5,hda6加入逻辑卷组rootvg中

4 lvcreate -L 100M -n lv1 rootvg

从我们的rootvg中,创建一个100M的逻辑卷l v1

5 mkfs.ext3 /dev/rootvg/lv1

格式化我们的lv1,文件系统用ext3

6 mkdir /mnt/lvm;mount /dev/rootvg/lv1 /mnt/lvm

将lv1挂载到/mnt/lvm下

好了,这样一个创建lv的例子完成

4) 如何动态放大/缩小一个逻辑卷/逻辑卷组

我们如何放大lv?比如上面的lv1?流程:

1 lvextend -L+200M /dev/rootvg/lv1

将lv1增加200M

2 ext2online /dev/rootvg/lv1

让lv1容量更改立即生效

减小lv,网上很多文章介绍的是Rei serFS,这里我们是ext3文件系统,如果我们需要减少50M:

1 umount /mnt/lvm

这里,需要先卸载分区

2 mke2fs -n /dev/rootvg/lv1

计算lv1的block数

这里一定要加-n参数,这是计算l v1的block数,而不是格式化分区,注意。

并且注意,从MB->KB这些的计算,都是乘1024,不是1000,这是个细节问题

3 计算减少50M后的block数。从mke2fs -n /dev/rootvg/lv1,我们可以得出2个需要的信息:Block size和blocks,这两个数的乘积就是分区大小A(单位字节),

我们把需要减小的容量50M换算成字节B,然后A-B的结果除以Block size,就是剩余的block数4 resize2fs -f /dev/rootvg/lv1 剩余的block数

调整文件系统大小

5 lvreduce -L-50M /dev/rootvg/l v1

调整lv分区大小,减小50M

6 重新mount,df察看一下容量的减小

linuxLVM的创建和管理

linuxLVM的创建和管理 概述: LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。因此,使用LVM 主要是方便了对存储系统的管理,增加了系统的扩展性。 目前LVM在Linux下有两个版本,分别是LVM 1和LVM 2,LVM2不仅仅是Linux逻辑卷管理在版本与功能上的升级,而且是架构在一个新的内核存储子系统(DM,device-mapper)之上的。这个存储子系统提供了一个轻量级的、可扩展的卷管理设施。除了在原有LVM卷管理功能的基础上,Linux的逻辑卷管理将会为用户提供更多的存储管理方案,如镜像、加密卷、多路径技术。所以在本节将以LVM 2为例来详细介绍LVM的创建与管理。 LVM相关概念和术语 LVM是建立在磁盘分区和文件系统之间的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个逻辑的盘卷,再在盘卷上来建立文件系统。LVM的结构如图1如示: 图1 LVM结构图

在上面的LVM结构图中,涉及到了很多LVM的相关术语,那么关于这些术语的详细说明如下: 物理卷(physical volume,PV) 物理卷就是指硬盘分区,也可以是整个硬盘或已创建的软RAID ,是LVM的基本存储设备,与普通物理存储介质的区别是该设备包含有LVM相关的管理参数。 卷组(volume group,VG) 卷组是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个“LVM分区”(逻辑卷)。 逻辑卷(logical volume,LV) LVM的逻辑卷类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。可以做这样一个设想来理解以上三者的关系:如果把PV比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。 物理块(physical extent,PE) 物理卷以大小相等的物理块为存储的基本单位,同时也是LVM寻址的最小单元。 逻辑块(logical extent,LE) 逻辑卷以大小相等的逻辑块为存储的基本单位,在同一个卷组中,LE的大小和PE是相等的,并且一一对应。 卷组描述区域(Volume Group Descriptor Area,VGDA) 和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。 创建逻辑卷 创建逻辑卷通常包括如下步骤: ?创建分区 ? ?创建物理卷 ? ?创建卷组 ? ?激活卷组 ? ?创建逻辑卷

Linux逻辑卷管理LVM功能详解及应用实例

Linux逻辑卷管理LVM功能详解及应用实例 介绍 Linux管理员会遇到这样的困境:如何精确评估和分配各硬盘分区容量?不但要考虑到当前所需容量,还要预见以后可能需要的容量。逻辑卷管理(LVM)是一个完美的解决方案:可自如调整文件系统大小并跨越磁盘和分区。本文介绍LVM的功能并提供应用实例,相信会为你带来帮助。 更多信息 LVM概述 从RedHatLinux 8.0开始便可以使用Logical Volume Manager(LVM,逻辑卷管理)来做磁盘空间的分配。LVM是建立在硬盘和分区之上的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在其上建立文件系统,以提高磁盘分区管理的灵活性。 通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。 下图清晰地显示了LVM的层次结构: 关于物理卷PV、逻辑卷LV、卷组VG、分区Partition的概念,请见文档:https://https://www.360docs.net/doc/cc3128550.html,/docs/DOC-17855

Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。 LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM 逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。 LVM的配置过程也很简单,并不是很难,为此,我画了一张图文并茂的解析图,解析了LVM创建的整个过程。更详细的理论知识还请参看一些教程或者去Google哦! 实验环境:

首先从空的硬盘sdb上创建两个分区sdb1 1G,sdb2 2G. 为接下来做LVM做准备.

为了后期便于维护管理,记得给分区加上标示,这样即使你不在的情况下,别人看到标示了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存 一、创建逻辑卷 将新创建的两个分区/dev/sdb1 /dev/sdb2转化成物理卷,主要是添加LVM属性信息并划分PE存储单元.

创建卷组 vgdata ,并将刚才创建好的两个物理卷加入该卷组.可以看出默认PE大小为4MB,PE是卷组的最小存储单元.可以通过–s参数修改大小。 从物理卷vgdata上面分割500M给新的逻辑卷lvdata1.

使用mkfs.ext4命令在逻辑卷lvdata1上创建ext4文件系统. 将创建好的文件系统/data1挂载到/data1上.(创建好之后,会在/dev/mapper/生成一个软连接名字为”卷组-逻辑卷”)

LVM(动态逻辑卷管理)

Lvm 众所周知、硬盘是用于存储数据、信息的。硬盘也是最常用的存储设备之一。我们从市面上买回来的一块一块的这些硬盘叫做基本磁盘。它们都是有容量的、当容量达到最大存储量时则不能再往里面写入数据。正因为每块硬盘这个固定的容量限制了我们无法存储单个比较大的文件、或者说不能扩容。比如说:有三个100G容量的硬盘、但是要存储一个150G的文件、显然是没法存放的。那么是否有办法让这些单个硬盘“连接”起来形成一个更大容量的存储设备呢,而且只要有硬盘、就可以不断的把更多的硬盘“连接”起来从而实现更多更大的容量。。是否有这么一种方法的存在呢? 答:是有的。那就lvm (动态逻辑卷管理)、刚才上面说的为什么叫基本磁盘呢、是因为它是有固定的容量的,容量大小是定死了的。而这个lvm?为什么说是动态磁盘的呢?因为通过lvm这个技术、我们可以把许许多多个硬盘“连接”起来组成一个更大容量逻辑存储设备(这里指卷组,当然真正能存储数据的是在卷组中创建的lv而不是卷组,卷组并不能直接拿来存储)而且、只要有硬盘、我们就可以组成更大的逻辑存储设备。因此、假如我们的操作系统跑在这种动态磁盘(lv)上面、那么根本就不会出现存储空间不足的问题、因为既然操作系统是跑在动态逻辑磁盘上面、那么只要存储空间不足、我们就可以用lvm技术把新的一块硬盘加进来、让逻辑存储设备的容量更大。那么这样的话、就可以直线无限的扩容了。这就是lvm技术。。 先理解上面这张图: 1、最下面的表示存储块设备、如硬盘、(这个在虚拟机实验中、我们一般会用一个分区来模拟一个块设备)块设备必须初始化成物理卷,只有初始化成了物理卷才具备组成vg(卷组)的功能。否则,一个块设备是无法直接跳跃、组成vg(卷组)的。。 初始化命令:pvcreate Ege: pvcreate /dev/sda6 2、pv (物理卷) 一个块设备初始化之后对应一个物理卷。 3、vg (卷组) 卷组是由一个或者多个pv组成的。 创建vg : Vgcreate vg01 /dev/sda{7,8,9,10}

AIX系统LVM管理

AIX系统 LVM 管理 一、逻辑卷管理LVM LVM是一种与传统UNIX分区策略完全不同的磁盘管理方法,它的优点之一是允许动态地给一个文件系统分配更多的空间。LVM的组成要素有:物理卷(PV)、卷组(VG)、物理分区(PP)、逻辑卷(LV)、逻辑分区(LP)等。 1、AIX存储管理的思想 (1)层次结构:Physical Volume→Volume Group→Logical Volume→File System (2)物理硬盘系统定义为hdisk(x)、rhdisk(x);Hdisk由多个PPs组成,每 个PP的大小可以为1M/2M/4M/6M…256M。 (3)一个或多个hdisk组成VG,系统定义为“*vg”。一个VG中的hdisk只 能使用相同大小的PP。 (4)在VG上可以划分LV。LV是面向应用的设备,有五种类型(jfs、 jfslog、paging、boot、sysdump),用户可以在LV上建立文件系统, 也可以将其用作原始设备。 (5)在Informix中使用的是LV的原始设备,如数据空间、物理日志和逻辑 日志空间。 2、基本概念 (1)物理卷(Physical Volume):一个物理卷指一个硬盘。 (2)卷组(Volume Group):卷组是可用物理硬盘的集合,可以逻辑地看成一 块大硬盘。一个卷组由一个或多个物理卷组成,最多可达32个(AIX 4.3.2以上版本已经增至128个)。 (3)物理分区(PP):卷组中的物理卷划分成固定大小的块(缺省为4MB), 这样的块称为物理分区。 (4)逻辑卷(Logical Volume):每个卷组中可以定义一个或多个逻辑卷,逻 辑卷是位于物理分区上信息集合:可以是一个文件系统、调页空间、日 志或转储设备空间等。 (5)逻辑分区(LP):逻辑卷由一定数量的逻辑分区组成。 二、增加硬盘: 以蓬莱联社为例,说一下在RS/6000系统中如何增加一个SCSI硬盘。蓬莱联社备机测试环境数据库空间不够,需要增加一个SCSI硬盘来扩充数据空间。 步骤如下: 1、查看原配置: 备机为RS/6000 F50,原系统中有两个物理卷,可用以下命令查看: #lsdev -Cc disk hdisk0 Available 10-80-00-0,0 Other SCSI Disk Drive hdisk1 Available 10-80-00-4,0 16 Bit SCSI Disk Drive hdisk0:本机硬盘卷组为rootvg hdisk1:共享磁盘阵列卷组为vg01

linux LVM的创建和管理

Linux LVM的创建和管理 概述: LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。因此,使用LVM主要是方便了对存储系统的管理,增加了系统的扩展性。 目前LVM在Linux下有两个版本,分别是LVM1和LVM2,LVM2不仅仅是Linux逻辑卷管理在版本与功能上的升级,而且是架构在一个新的内核存储子系统(DM,device-mapper)之上的。这个存储子系统提供了一个轻量级的、可扩展的卷管理设施。除了在原有LVM卷管理功能的基础上,Linux的逻辑卷管理将会为用户提供更多的存储管理方案,如镜像、加密卷、多路径技术。所以在本节将以LVM2为例来详细介绍LVM的创建与管理。 LVM相关概念和术语 LVM是建立在磁盘分区和文件系统之间的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个逻辑的盘卷,再在盘卷上来建立文件系统。LVM的结构如图1如示: 图1 LVM结构图 在上面的LVM结构图中,涉及到了很多LVM的相关术语,那么关于这些术语的详细说明如下: 物理卷(physical volume,PV) 物理卷就是指硬盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备,与普通物理存储介质的区别是该设备包含有LVM相关的管理参数。 卷组(volume group,VG)

卷组是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个“LVM分区”(逻辑卷)。 逻辑卷(logical volume,LV) LVM的逻辑卷类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。可以做这样一个设想来理解以上三者的关系:如果把PV 比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。 物理块(physical extent,PE) 物理卷以大小相等的物理块为存储的基本单位,同时也是LVM寻址的最小单元。 逻辑块(logical extent,LE) 逻辑卷以大小相等的逻辑块为存储的基本单位,在同一个卷组中,LE的大小和PE是相等的,并且一一对应。 卷组描述区域(VolumeGroup Descriptor Area,VGDA) 和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷的VGDA中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA 加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。 创建逻辑卷 创建逻辑卷通常包括如下步骤: ?创建分区 ? ?创建物理卷 ? ?创建卷组 ? ?激活卷组 ? ?创建逻辑卷 ? ?创建文件系统 下面将通过一个具体的实例来详细介绍创建逻辑卷的整个过程。

Linux下Lvm安装配置

Linux下Lvm安装配置 LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM 管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。因此,使用LVM主要是方便了对存储系统的管理,增加了系统的扩展性。 一、准备lvm环境 1.硬盘的准备 添加了一块硬盘/dev/hdb。 准备了三个分区,方案如下:容量为100M,仅为了实验准备。 /dev/hdb1 /dev/hdb2 /dev/hdb3 2.转换分区类型为lvm卷 fdisk /dev/hdb t转换为lvm卷类型 Device Boot Start End Blocks Id System /dev/hdb1 1 208 98248+ 8e Linux LVM /dev/hdb2 209 416 98280 8e Linux LVM /dev/hdb3 417 624 98280 8e Linux LVM 然后w保存并且 #partprobe /*使用磁盘分区生效*/ 二、lvm创建过程 1.从硬盘驱动器分区中创建物理卷(physical volumes-PV)。 2.从物理卷中创建卷组(volume groups-VG) 3.从卷组中创建逻辑卷(logical volumes-LV),并分派逻辑卷挂载点,其中只有逻辑卷才可以写数据。 lvm的最大的特点就是可以动态的调整分区的大小,并且可以随着分区容量的增长而增加磁盘空间的容量。 LVM配置与创建 三、LVM的物理卷PV 1.相关命令 pvcreate 创建PV pvscan 扫描PV pvdisplay 显示PV pvremove 删除PV partprobe 2.创建物理卷

Linux系统LVM的创建与管理指南

Linux系统中LVM的创建与管理指南 华为赛门铁克科技有限公司 2010年5月 2013-3-28 华赛资料,未经许可不得扩散第1页, 共11页

目录 Linux系统中LVM的创建与管理指南 (3) LVM相关概念简介 (3) 如何创建逻辑卷 (4) LVM的维护 (8) 2013-3-28 华赛资料,未经许可不得扩散第2页, 共11页

Linux系统中LVM的创建与管理指南 LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。 LVM可以帮助系统管理员为应用与用户方便地分配存储空间,在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。 本文主要通过以下3个章节对Linux中LVM的创建与管理作以讲解: ●LVM相关概念简介 ●如何创建逻辑卷 ●如何管理逻辑卷 LVM相关概念简介 LVM是建立在磁盘分区和文件系统之间的一个逻辑层,专门为文件系统屏蔽下层磁盘分区布局,提供一个逻辑的盘卷,再在盘卷上来建立文件系统。 LVM的结构如图1所示: 图 1. LVM结构示意图 2013-3-28 华赛资料,未经许可不得扩散第3页, 共11页

图1展示了LVM的基本结构,那么图中的VG是什么,PV又是什么?下面对LVM逻辑卷涉及的概念作以简单的介绍。 1、物理卷(Physical Volume,PV) 物理卷就是指硬盘分区,也可以指整个硬盘或已创建的软RAID ,是LVM的基本存储设备,与普通物理存储介质的区别是该设备包含有LVM相关的管理参数。 2、卷组(Volume Group,VG) 卷组是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个“LVM分区”(逻辑卷)。 3、逻辑卷(Logical Volume,LV) 逻辑卷LV类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。 可以做这样一个设想来理解以上三者的关系:如果把PV比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。 4、物理块(Physical Extent,PE) 物理卷是由大小相等的物理块PE为存储的基本单位,同时也是LVM寻址的最小单元。 5、逻辑块(Logical Extent,LE) 逻辑卷是由大小相等的逻辑块为存储的基本单位。在同一个卷组中,LE的大小和PE是相等的,有一一对应的关系。 6、卷组描述区(Volume Group Description Area,VGDA) VGDA中保存了逻辑卷以及卷组相关的元数据,它和磁盘将包含分区信息的元数据保存在位于分区的起始位置的分区表类似。 VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM 时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。 如何创建逻辑卷 创建逻辑卷通常包括如下步骤: ●创建分区 ●创建物理卷 2013-3-28 华赛资料,未经许可不得扩散第4页, 共11页

LVM动态磁盘管理

逻辑卷管理器(LVM) 一、什么是LVM? LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。 LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。 二、LVM的优缺点 1.优点 ①.可以在系统运行的状态下动态的扩展文件系统的大小。 在Linux操作系统中我们的磁盘管理机制和Windows上的都差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底层也就是自动将所有的分区挂载好,然后我们就可以对该分区进行使用了。 可这样做的话会带来很多问题,比如我们使用的一个分区所剩空间大小已经不够使用了,这个时候我们没法对分区进行扩充,我们只能通过增加硬盘,然后在新的硬盘上创建分区,对分区进行格式化,然后将之前分区的所有东西都拷贝到新的分区里面才行。但是新增加的硬盘是作为独立的文件系统存在的,原有的文件系统并没有得到任何的扩充,上层应用只能访问到一个文件系统。这样的方式对个人的电脑来说可能还能接受,但是如果对于生产环境下的服务器来说,这是不可接受的。因为如果要把一个分区的内容都拷贝到另一个分区上去,势必要首先卸载掉之前的那个分区,然后再对整个分区进行拷贝,如果服务器上运行着一个重要的服务,要求是7*24 小时运行正常的,那么卸载掉分区这是不可想象的,同时如果该分区保存的内容非常非常的多,那么在对分区进行转移时时间可能会耗费很久,所以,这个时候我们就会受到传统磁盘管理的限制,因为其不能够进行动态的磁盘管理。因此,为了解决这个问题,LVM技术就诞生了!这也是LVM 最大的优点。

Linux逻辑卷管理LVM步骤

Linux逻辑卷管理LVM详解 摘要:Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如Patition Magic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,本文就深入讨论LVM技术,使得用户在无需停机的情况下方便地调整各个分区大小。 一、前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。 虽然现在有很多动态调整磁盘的工具可以使用,例如Partation Magic等等,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解决问题。 因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是Linux提供的逻辑卷管理(LVM,Logical Volume Manager)机制就是一个很好的解决方案。 LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上,文件系统之下的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“ development ”和“ sales ”,而不是使用物理磁盘名“ sda ”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。 二、LVM基本术语 LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语: 物理存储介质(The physical media) 这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda1等,是存储系统最低层的存储单元。

LVM常用命令汇总

【术语解释】 ?物理卷physical volumes(PV):物理卷处于逻辑卷管理器中的底层,任何的逻辑卷和卷组都必需依靠物理卷来建立;物理卷可以是一个完整的硬盘,也可以是硬盘中的一个分区 ?逻辑卷logical volumes(LV):逻辑卷建立在卷组之上,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意在卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组。LV 是位于PV 上的信息的组合,在LV 上的数据可以连续或者不连续地出现在PV。 ?卷组logical volume group(VG):卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷。所有的物理卷属于一个称作rootvg 的卷组。 ?卷组描述区域Volume Group Descriptor Area (VGDA):用于描述物理卷、卷组、逻辑卷分配的所由信息。逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA( 卷组描述符区域) 中。 1、查看lvm状态: [root@LOCALHOST ~]# pvs --partial [root@LOCALHOST ~]# vgs --partial [root@LOCALHOST ~]# lvs --partial 2、查看pv、vg、lv是否异常 [root@LOCALHOST ~]# pvs [root@LOCALHOST ~]# vgs [root@LOCALHOST ~]# lvs [root@LOCALHOST ~]# lsblk #列出所有可用块设备的信息 3、PV (物理卷) 命令: pvcreate(创建)pvmove(移动)pvdisplay(显示)pvremove(移除)pvs(显示)

linux逻辑卷管理

摘要:Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如PatitionMagic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,本文就深入讨论LVM技术,使得用户在无需停机的情况下方便地调整各个分区大小。 一、前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。 虽然现在有很多动态调整磁盘的工具可以使用,例如PartationMagic等等,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解决问题。 因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。幸运的是Linux提供的逻辑盘卷管理(LVM,LogicalV olumeManager)机制就是一个完美的解决方案。 LVM是逻辑盘卷管理(LogicalV olumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。 二、LVM基本术语 前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语: *物理存储介质(Thephysicalmedia) 这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。 *物理卷(physicalvolume)

AIX系统LVM管理PV-VG-LV常用命令总结与实战

AIX系統LVM管理PV/VG/LV常用命令總結與實戰 本文總結了AIX系統LVM工具管理物理卷PV、卷組VG、邏輯卷LV的常用命令,並為每一條命令附加應用實例。為AIX系統管理員創建、刪除、擴容、查看及修改 PV/VG/LV提供參考。 更多資訊 PV管理 修改PV屬性 chpv [-h Hotspare ] [-a Allocation ] [-v Avaliability] [-c ] Pvname 如: 1.使一個可用硬碟成為一個PV,該命令為該disk分配了一個PVID。 chdev –l hdisk##–a pv=yes 2.設置PV的可分配許可權 chpv –a y hdisk## 3.設置PV的可用性 chpv –v r hdisk##停止該PV上所有VGDA和VGSA的拷貝 chpv –v a hdisk## 刪除PV rmdev –dl hdisk## 加入-d參數,是為了在ODM庫中刪除該PV的定義

列出PV相關資訊 1.列出系統中PV lspv或lsdev –Cc disk 2.列出PV的屬性 lspv hdisk## 該命令輸出VG Descriptor和VG State的資訊。 3.列出PV上物理分區的分佈情況 lspv –p hdisk## 4.列出PV上分配的邏輯卷資訊 lspv –l hdisk##

5.列出PV與LV的對應情況 lspv –M hdisk## VG管理 創建VG mkvg –f –y yourname vg hdisk## -f 強制創建 -y vol_group_name -s size (4 MB)- -m max PPs (1016) -d max PVs (32) 修改VG屬性 1.設置VG在系統啟動時能否自動啟動 chvg –ay(-an) yourname vg 2.LVM非正常結束時可能導致卷組被鎖,使用以下命令解鎖:chvg –u yourname vg

项目6 lvm逻辑卷管理器

实训项目6 lvm逻辑卷管理器 一.实训目的 掌握利用lvm创建磁盘分区的办法 掌握利用Disk Druid 中的LVM创建磁盘分区的办法 二.项目背景 某企业在Linux服务器中新增了一块硬盘/dev/sdb,要求Linux系统的分区能自动调整磁盘容量。请使用fdisk命令在新建/dev/sdb1、/dev/sdb2、/dev/sdb3和/dev/sdb4为LVM类型,并在这四个分区上创建物理卷、卷组和逻辑卷。最后将逻辑卷挂载。 三.实训内容 物理卷。卷组。逻辑卷的创建:卷组,逻辑卷的管理 四.实训步骤 子项目1、创建lvm分区 1.利用fdisk 命令在/dev/sdb上建立LVM类型的分区,如下所示: 利用同样的方法创建LVM类型的分区/dev/sdb2,/dev/sdb3和/dev/sdb4 2.建立物理卷

Pvdisplay 查看物理卷 3.建立卷组 Vgdisplay vg0 查看 4.建立逻辑卷 Lvdisplay /dev/vg0/lv0查看 子项目2、LVM逻辑卷的管理 1.增加新的物理卷到卷组 lve 2.逻辑卷容量的到动态调整 增加逻辑卷的容量 减少逻辑卷的容量 3.删除逻辑卷-卷组-物理卷(必须按照先后顺序来执行删除) 子项目3、物理卷、卷组和逻辑卷的检查 1.物理卷的 2.卷组的检查

3.逻辑卷的检查 4.查看空间使用情况 五.实训思考题 1、怎样实现将/dev/vg0/lv0自动挂载到/mnt/lv0挂载点下? 2、利用LVM逻辑卷管理器和使用fdisk等基本磁盘管理工具实现磁盘管理有什么不同?六.实训报告要求 a)实训目的 b)实训内容 c)实训步骤 d)实训中的问题和解决方法 e)回答实训思考题 f)实训心得与体会建议与意见

逻辑卷管理实验

逻辑卷管理实验 实验目的: 理解LVM(逻辑卷管理器),添加、删除和调整LVM大小。 实验说明:完成添加、删除和调整LVM大小 实验要求: 1. 新建三个分区,并将新分区的系统类型改为Linux LVM 2. 建立并查看PV(物理卷) 3. 建立VG(卷组) 将刚刚建立的PV中的2个分配到VG中,将VG命名为vg1 4. 建立LV(逻辑卷) 建立新的LV,分配VG中全部的空间,并命名为LV1 使用ext3格式,建立LV的文件系统 6. 挂载LV分区到目录/tmp/lvm/ 7. 增大LVM 为VG添加新的PV使其增加容量,为LV增加容量并显示LV信息,在线格式化新加的LV,让其可以正常使用并查看挂载点的信息。 8. 减小LV容量,释放LV容量150M,查看LV信息。删除VG中的容量100M 的分区并显示VG信息。 删除PV“/dev/hda6” 9. 删除所有的LVM,取消挂载的分区,删除LV,删除VG,删除PV. 实验步骤: 1. 新建分区,并将新分区的系统类型改为Linux LVM 使用“fdisk”交互模式新增分区 [root@linux tmp]# fdisk /dev/hda Command (m for help): n //使用“n”新建分区 First cylinder (7797-9729, default 7797): Using default value 7797 Last cylinder or +size or +sizeM or +sizeK (7797-9729, default 9729): +100M // 设定分区大小 Command (m for help): n First cylinder (7810-9729, default 7810): Using default value 7810 Last cylinder or +size or +sizeM or +sizeK (7810-9729, default 9729): +100M Command (m for help): n First cylinder (7823-9729, default 7823): Using default value 7823 Last cylinder or +size or +sizeM or +sizeK (7823-9729, default 9729): +50M Command (m for help): p //使用“p”查看分区信息 我们刚刚建立的分区如下

LVM逻辑卷管理

一、LVM的基本概念 LVM(logical volume manager) 逻辑卷管理器 其中主要分为这几个概念 1物理卷-简称PV 物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的某一个分区 2卷组-简称VG 卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷 3逻辑卷-简称LV 逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组 4 物理区域-简称PE 物理区域是物理卷中最小的可分配储存单元 5 逻辑区域-简称-LE 逻辑区域是逻辑卷中可用于分配的最小储存单元 6 卷组描述区域-简称VGDA 用于描述物理卷,卷组,逻辑卷分配的所由信息 一个建立逻辑卷的流程如下 PV-VG-LV 物理卷包含卷组,卷组包含逻辑卷,如图所示: 二、LVM基本命令 1.pvcreate命令初始化物理卷分区 例:对/dev/sdb1 /dev/sdc1 /dev/sdd1初始化 pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1

2.vgcreate命令创建卷组 例:将/dev/sdb1 /dev/sdc1 两个已经初始化过的物理卷(PV)创建为名为vg0的卷组(VG)vgcreate vg0 /dev/sdb1 /dev/sdc1 3.lvcreate命令在卷组的基础上创建逻辑卷 例:在vg0上新创建一个名为lv0,大小为10M的逻辑卷(LV), lvcreate -n lv0 -L 10M vg0 4.e2fsadm 命令对现有逻辑卷增加或减小空间大小,只适用于ext2和ext3的文件类型 是e2fsck,lvextend和resize2fs集合 例:为vg0增加10M的大小 e2fsadm –L +10M /dev/vg0 5.vgextend命令当逻辑卷充满整个卷组空间时,用此命令来增加卷组的空间 例:将/dev/sdd1这个初始化好的物理卷也增加到vg0卷组中 vgextend vg0 /dev/sdd1 6.pvmove命令将PV中某个分区的数据移到另一个分区 例:将/dev/sdb1中的数据转移到/dev/sdc1 pvmove /dev/sdb1 /dev/sdc1 若不加/dev/sdc1系统会自动将/dev/sdb1中的数据转移到逻辑卷中的其他空间去

LVM逻辑卷管理器图形界面操作

LVM逻辑卷管理器图形界面操作 LVM有关概念 LVM(Logical Volume Manager)即逻辑卷管理器,它最先是在Linux 2.4内核中被集成到内核中去的,它的出现改变了传统的磁盘空间管理理念。以往在安装操作系统时需要规划好分区大小,即使利用了RAID技术也要规划好每个分区的大小,因为一旦分好区后要改变其大小是非常困难的事情。在Windows下有大家熟悉的Partition Magic工具可以用来调整分区大小,但它有一个缺点是要么在调整前要关闭系统或调整后重启系统。 这在普通PC机上使用还行,要在提供不间断服务的服务器上使用就会造成服务中断,不过这个问题在Linux下随着LV技术的出现一切都得到解决,LV可以在不用重启系统的情况动态增加可用空间大小,不过前提得是使用热插拔硬盘,或事先将硬盘装入而不使用。 先了解几个关键名词概念: 物理介质:就是我们通常说的硬盘,简称pm。 物理卷:就是我们通常说的硬盘分区,简称pv。 物理分区:它是由LVM命令在物理卷上创建的最小LVM寻址单元,在创建物理卷时可以指定物理分区的大小,默认值是4M,简称pe。 卷组:由一个多多个物理卷组成的逻辑单元,简称vg。 逻辑分区:它与物理分区一一对应,大小相等,简称le。 逻辑卷:从卷组中分配一定大小的空间创建的逻辑单元,也可以使用一个完整的卷组空间大小来创建一个逻辑卷,简称lv。 首先pv1和pv2是物理卷,pv1对应的可能是一整块硬盘,也可能是硬盘中的一个分区,如/dev/hda1,pv2也应这样理解;pv1中包含的pe1,pe2,pe3都是经过pvcreate命令在pv1上做的标记,可以理解为将pv1分解成3个小块,响应的pv2下的pe1,pe2,pe3也做

如何在Ubuntu中管理和使用逻辑卷管理LVM讲解

如何在Ubuntu中管理和使用逻辑卷管理LVM 在我们之前的文章中,我们介绍了什么是 LVM 以及能用 LVM 做什么,今天我们会给你介绍一些 LVM 的主要管理工具,使得你在设置和扩展安装时更游刃有余。 正如之前所述,LVM 是介于你的操作系统和物理硬盘驱动器之间的抽象层。这意味着你的物理硬盘驱动器和分区不再依赖于他们所在的硬盘驱动和分区。而是你的操作系统所见的硬盘驱动和分区可以是由任意数目的独立硬盘汇集而成的或是一个软件磁盘阵列。 要管理 LVM,这里有很多可用的 GUI 工具,但要真正理解 LVM 配置发生的事情,最好要知道一些命令行工具。这当你在一个服务器或不提供 GUI 工具的发行版上管理 LVM 时尤为有用。 LVM 的大部分命令和彼此都非常相似。每个可用的命令都由以下其中之一开头:?Physical Volume (物理卷) = pv ?Volume Group (卷组)= vg ?Logical Volume (逻辑卷)= lv 物理卷命令用于在卷组中添加或删除硬盘驱动。卷组命令用于为你的逻辑卷操作更改显示的物理分区抽象集。逻辑卷命令会以分区形式显示卷组,使得你的操作系统能使用指定的空间。 可下载的 LVM 备忘单 为了帮助你理解每个前缀可用的命令,我们制作了一个备忘单。我们会在该文章中介绍一些命令,但仍有很多你可用但没有介绍到的命令。 该列表中的所有命令都要以 root 身份运行,因为你更改的是会影响整个机器系统级设置。

如何查看当前 LVM 信息 你首先需要做的事情是检查你的 LVM 设置。s 和 display 命令可以和物理卷(pv)、卷组(vg)以及逻辑卷(lv)一起使用,是一个找出当前设置的好起点。 display 命令会格式化输出信息,因此比 s 命令更易于理解。对每个命令你会看到名称和 pv/vg 的路径,它还会给出空闲和已使用空间的信息。

Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理

Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一、传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,win dows的话其实底层也就是自动将所有的分区挂载好,然后我们就可以对该分区进行使用了。 但是这种传统的磁盘管理经常会带来很多的问题,比如说当我们使用的一个分区,其空间大小已经不再够用了,这个时候我们没有办法通过拉伸分区来进行分区扩充,当然目前也有其他第三方的磁盘管理软件可以进行磁盘的分区空间划分,但是这样会给我们的文件系统造成很大的伤害,有时会导致文件系统崩溃等问题。对于传统的磁盘管理如果说我们碰到当分区大小不足的时候,我们只能通过增加新的硬盘,然后在新的硬盘上创建分区,对分区进行格式化以后,然后将之前分区的所有东西都拷贝到新的分区里面才行。但是新增加的硬盘是作为独立的文件系统存在的,原有的文件系统并没有得到任何的扩充,上层应用只能访问到一个文件系统。这样的方式对个人的电脑来说可能还能接受,但是如果对于生产环境下的服务器来说,这是不可接受的。因为如果要把一个分区的内容都拷贝到另一个分区上去,势必要首先卸载掉之前的那个分区,然后*对整个分区进行拷贝,如果服务器上运行着一个重要的服务,比如说WWW或者FTP,其要求是 7*24 小时运行正常的,那么卸载掉分区这是不可想象的,同时如果该分区保存的内容非常非常的多,那么在对分区进行转移时时间可能会耗费很久,所以,这个时候我们就会受到传统磁盘管理的限制,因为其不能够进行动态的磁盘管理。因此,为了解决这个问题,LVM技术就诞生了!!! 二、LVM的磁盘管理 正是因为传统的磁盘管理不能对我们的磁盘空间进行动态的管理,因此就诞生出了LV M这个技术,那么LVM到底是什么呢?它又是怎么对磁盘进行管理的呢? LVM(Logical volume Manager)是逻辑卷管理的简称。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。 LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。 LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!!!

相关文档
最新文档