㈠ linux中logical是什么意思
LVM Logical Volume Manager(逻辑卷管理)
它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现 某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如PatitionMagic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下方便地调整各个分区大小。
物理存储介质(Thephysicalmedia) 这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
*物理卷(physicalvolume) 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
*卷组(VolumeGroup) LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
*逻辑卷(logicalvolume) LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
*PE(physicalextent) 每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
*LE(logicalextent) 逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
㈡ AIX,oracle
物理卷(physical volume,PV):
物理卷就是指硬盘分区,也可以是整个硬盘或已创建的软RAID ,是LVM的基本存储设备,与普通物理存储介质的区别是该设备包含有LVM相关的管理参数。
卷组(volume group,VG):
卷组是由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个“LVM分区”(逻辑卷)。
逻辑卷(logical volume,LV):
LVM的逻辑卷类似于非LVM系统中的硬盘分区,它建立在卷组之上,是一个标准的块设备,在逻辑卷之上可以建立文件系统。可以做这样一个设想来理解以上三者的关系:如果把PV比做地球的一个板块,VG则是一个地球,因为地球是由多个板块组成的,那么在地球上划分一个区域并标记为亚洲,则亚洲就相当于一个LV。
㈢ 什么是逻辑卷
是电脑的逻辑卷吗?
逻辑卷(Logical
Volume)是由逻辑磁盘形成的虚拟盘,也可称为磁盘分区。
㈣ redhat /dev/hda1 分区扩大的问题!
LVM是可以的,可以动态的划分分区的空间,可以找相关的资料看看。
大致上就是先建pv,然后建vg,把pv加入到vg当中,最后建lv,然后挂载就可以了。呵呵,详细的东西太麻烦。看下边的东西吧
一份非常内行的Linux LVM HOWTO
1. 绪论
欢迎你,亲爱的读者。
写这个文档的目的是为了告诉你什么是LVM,它怎样工作,你怎样运用它使你的生活变得更容易。虽然有一份LVM FAQ,但仍是德文的,它是从不同的角度来描写的。它是一份“真的”HOWTO,在传授理解(有希望的)的时候也是非常内行的。
我要说清楚我不是一个Linux逻辑卷管理器(Logical Volume Manager)的作者。我向那些作者表示敬意,同时我希望能和他们合作。
不可思议的是我甚至不知道LVM的开发者。我希望这种情况不久会改变。我事先向他们表示道歉。
1.1 免责声明 & 许可
分发这个文档是希望它对你有用,但是不提供任何担保,也没有销售或适应特殊目的的隐含担保。
如果你的磁盘融化了,你公司解雇了你--这决不是我们的错。对不起。请记得经常做备份,在没有重要数据的系统上做实验。
此外,Richard Allen不代表他老板说话。
Linux是Linus Torvalds的注册商标。
英文原文(若翻译有误,以原文为准)
This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
If your disks melt and your company fires you - its never our fault. Sorry. Make frequent backups and do your experiments on non-mission critical systems.
Furthermore, Richard Allen does not speak for his employer.
Linux is a registered trademark of Linus Torvalds.
1.2 预备知识
不是太多。如果你曾经安装过Linux和创建过文件系统(fdisk/mkfs),那你就准备就绪了。但因为总是以root身份操作,所以一定要小心谨慎!错误的命令或操作设备文件都可能损坏已经存在的数据。
如果你知道怎样配置HP/UX LVM,那你几乎都完成了,Linux工作得很象HP上的处理。
1.3 注意事项
关于这份文档有几点需要注释。虽然我写了大部分,但我真的不希望它停步。我坚决相信Open Source,我鼓励你反馈、更新、打补丁等等。不要不愿意告诉我们有关排版或普通的老错误。
如果你感觉你更有资格来维护一部分,或者你认为你能创作和维护一个新的部分,欢迎你。这个HOWTO的SGML格式是通过CVS可用的。我预想这会是个合作计划。
这份文档里,你会发现许多FIXME的通知。补丁总是欢迎的!无论你在哪里发现FIXME,你都要明白你正踩在未知的领域。这不是说其他地方没有错误,而是说这里是要特别注意的地方。如果你已经验证了什么,请告诉我,我好删除这FIXME通知。
1.4 访问,CVS & 更新
这份HOWTO的规范定位在 这里。
我们现在有匿名的CVS访问,对全世界普遍有效。这使你更容易获得最新版的HOWTO,并提供改变和增强。
如果你想通过CVS获得这份HOWTO,下面教你怎样做:
$ export CVSROOT=:pserver:[email protected]:/var/cvsroot
$ cvs login
CVS password: [enter cvs (without s)]
$ cvs co lvm-howto
cvs server: Updating lvm-howto
U lvm-howto/lvm-howto.sgml
如果你发现错误,或者想增加什么,本地修复它,并运行“cvs diff -u”,同时将结果发给我们。
提供了一个Makefile文件来帮助你创建postscript,dvi,pdf,html 和 plain text格式。你可能需要安装sgml-tools,ghostscript 和 tetex 以获得所有格式。
1.5 这份文档的编排
我们将首先解释一些需要的基本知识。我们尽量设法包括例子来帮助理解。
2. 什么是LVM?
传统上,一个分区大小是静态的。这要求一个系统安装人员必须考虑的不是“我要在这个分区上存储多少数据”,而是“我‘究竟’要在这个分区上存储多少数据”。当一个用户在这个分区上没有空间了,他要么不得不重新分区(这可能要求整个操作系统重装),要么象符号连接一样使用组装机。
一个分区就是物理磁盘上一系列连续数据块的概念已经演变了。多数类Unix系统现在有能力分解物理磁盘到许多单元。多个驱动器上的存储单元可以汇聚成一个“逻辑卷”,它们可以分配给分区。另外,单元可以随着空间要求的改变而从分区中添加和删除。
这就是基本的逻辑卷管理器(LVM)
例如,假设你有一个1GB的磁盘,并且创建“/home”分区花了600MB。设想你没有空间了,于是决定“/home”需要1GB。用传统的分区观念,你不得不有另外一个至少1GB大小的驱动器。接着增加这个磁盘,创建新的/home,并且将现有的数据拷贝过去。
然而,用LVM配置,你仅仅只需要增加400MB(或更大)的磁盘,并将它的存储单元添加到“/home”分区中。其他工具可以让你调整原来文件系统的大小,所以你仅仅只需要调整“/home”大小来使用更大的分区,接着返回到商务中。
一个非常特殊的处理,LVM甚至可以做它自身的“快照”,这使你能对不可移动的目标做备份。我们返回到这个激动人心的可能中,稍后,有许多另外的真实应用。
以下章节中,我们解释了LVM的基本要素,和它使用中的许多概要。
3. 基本原理
Ok,不要因为恐惧而停止,但是LVM有许多你要明白的术语,以免你危及你的文件系统。
我们从下面开始,或多或少。
物理介质 The physical media
你应该感受“物理”这个单词有极大的延伸,虽然我们刚开始假设它仅仅是一个硬盘,或者一个分区。例如,/dev/hda,/dev/hda6,/dev/sda。你可以转换一个块设备上任何连续块到一个。。。
物理卷 Physical Volume (PV)
一个PV只不过是有许多管理数据添加在它里面的物理介质--一旦你添加了它,LVM就认为它是。。。的一个持有者。
物理分区 Physical Extents (PE)
物理分区真的象一些大的数据块,通常有几MB。PE可以分配给一个。。。
卷组 Volume Group (VG)
一个VG是由许多物理分区组成的(可能来自多个物理卷或硬盘)。虽然这可能容易让你认为一个VG就是由几个硬盘组成的(例如/dev/hda和/dev/sda),但是更确切的说,它包含由这些硬盘提供的许多PE。
>;从这个卷组,PE可以分配给一个。。。
逻辑卷 Logical Volume (LV)
Yes,我们最终到达某处。一个逻辑卷是我们工作的最终结果,这里是我们存储信息的地方。这等同于传统分区的想法。
象用通常的分区一样,在逻辑卷上你能代表性的创建一个。。。
文件系统 Filesystem
文件系统是你想它成为的形态:标准的 ext2,ReiserFS,NWFS,XFS,JFX,NTFS,等等。。。对Linux内核来说,在通常的分区和逻辑卷之间没有差别。
我试着画了一个ASCII图来使这些形象化。
一个物理卷,包含了许多物理分区:
+-----[ Physical Volume ]------+
| PE | PE | PE | PE | PE | PE |
+------------------------------+
一个卷组,包含了2个物理卷(PV)有6个物理分区:
+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--------------+ +---------------+ |
+---------------------------------------+
我们现在做更进一步扩展:
+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--+---+---+---+ +-+----+----+---+ |
| | | | +-----/ | | |
| | | | | | | |
| +-+---+---+-+ +----+----+--+ |
| | Logical | | Logical | |
| | Volume | | Volume | |
| | | | | |
| | /home | | /var | |
| +-----------+ +------------+ |
+---------------------------------------+
这个向我们展示了两个文件系统,它跨越两个磁盘。/home文件系统包含4个物理分区,/var文件系统包含2个。
bert hubert 正在写一个工具来更真实的描述LVM,这里提供了一些它在屏幕上出现的外观。看起来比ASCII图画要好。
3.1 Show & Tell
Ok,这些概念很难理解(’We are LVM of Borg...),因此下面给出了创建一个逻辑卷的例子。不要粘贴这个例子到你的控制台,因为这样会破坏数据,除非碰巧你的计算机的/dev/hda3和/dev/hdb2没有使用。
如果有疑问,查看上面的ASCII图画。
你应该首先设置/dev/hda3和/dev/hdb2的分区类型为0x8e,它表示”Linux LVM”。请注意你的fdisk的版本可能仍不认识这种类型,因此它显示为“Unknown”:
# fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 255 heads, 63 sectors, 623 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 2 16033+ 83 Linux
/dev/hda2 3 600 4803435 83 Linux
/dev/hda3 601 607 56227+ 83 Linux
/dev/hda4 608 614 56227+ 83 Linux
Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Command (m for help): p
Disk /dev/hda: 255 heads, 63 sectors, 623 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 2 16033+ 83 Linux
/dev/hda2 3 600 4803435 83 Linux
/dev/hda3 601 607 56227+ 8e Unknown
/dev/hda4 608 614 56227+ 83 Linux
Command (m for help): w
我们对/dev/hdb2做同样的操作,在此就不演示了。这是需要的,以至LVM能重建你应该丢失的配置。
通常,不需要重启,但有些计算机却要求。因此如果下面的例子不工作,试试重启。
接着我们创建物理卷(PV),如下:
# pvcreate /dev/hda3
pvcreate -- physical volume "/dev/hda3" successfully created
# pvcreate /dev/hdb2
pvcreate -- physical volume "/dev/hdb2" successfully created
我们再将这两个物理卷(PV)加到一个叫做“test”的卷组(VG)中:
# vgcreate test /dev/hdb2 /dev/hda3
vgcreate -- INFO: using default physical extent size 4 MB
vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte
vgcreate -- doing automatic backup of volume group "test"
vgcreate -- volume group "test" successfully created and activated
现在我们有一个空的卷组(VG),让我们来检查一下:
# vgdisplay -v test
--- Volume group ---
VG Name test
VG Access read/write
VG Status available/resizable
VG # 0
MAX LV 256
Cur LV 0
Open LV 0
MAX LV Size 255.99 GB
Max PV 256
Cur PV 2
Act PV 2
VG Size 184 MB
PE Size 4 MB
Total PE 46
Alloc PE / Size 0 / 0
Free PE / Size 46 / 184 MB
--- No logical volumes defined in test ---
--- Physical volumes ---
PV Name (#) /dev/hda3 (2)
PV Status available / allocatable
Total PE / Free PE 13 / 13
PV Name (#) /dev/hdb2 (1)
PV Status available / allocatable
Total PE / Free PE 33 / 33
这里的许多数据--大多数现在都容易理解了。我们看到没有逻辑卷(LV)定义,因此我们要补上它。我们将在“test”卷组(PV)中创建一个50MB的逻辑卷,叫做“HOWTO”:
# lvcreate -L 50M -n HOWTO test
lvcreate -- rounding up size to physical extent boundary "52 MB"
lvcreate -- doing automatic backup of "test"
lvcreate -- logical volume "/dev/test/HOWTO" successfully created
Ok,到这里,我们创建一个文件系统:
# mke2fs /dev/test/HOWTO
mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
13328 inodes, 53248 blocks
2662 blocks (5.00%) reserved for the super user
First data block=1
7 block groups
8192 blocks per group, 8192 fragments per group
1904 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
# mount /dev/test/HOWTO /mnt
# ls /mnt
lost+found
我们做完了!让我们回顾我们的卷组(VG),它现在充满了一些东西:
# vgdisplay test -v
--- Volume group ---
VG Name test
VG Access read/write
VG Status available/resizable
VG # 0
MAX LV 256
Cur LV 1
Open LV 1
MAX LV Size 255.99 GB
Max PV 256
Cur PV 2
Act PV 2
VG Size 184 MB
PE Size 4 MB
Total PE 46
Alloc PE / Size 13 / 52 MB
Free PE / Size 33 / 132 MB
--- Logical volume ---
LV Name /dev/test/HOWTO
VG Name test
LV Write Access read/write
LV Status available
LV # 1
# open 1
LV Size 52 MB
Current LE 13
Allocated LE 13
Allocation next free
Read ahead sectors 120
Block device 58:0
--- Physical volumes ---
PV Name (#) /dev/hda3 (2)
PV Status available / allocatable
Total PE / Free PE 13 / 13
PV Name (#) /dev/hdb2 (1)
PV Status available / allocatable
Total PE / Free PE 33 / 20
好,这就是了。/dev/hda3完全没用,而/dev/hdb2有13个物理分区(PE)在用。
3.2 激活和非激活:内核空间和用户空间
和使用所有操作系统一样,Linux划分了两个部分:内核空间(kernel space)和用户空间(user space)。用户空间有时叫做用户区(userland),这也是关于这个主题的一个很好的名字。
关于逻辑卷管理器的创建和修改都是在用户空间做的,然后传给内核。一旦卷组或逻辑卷向内核汇报,它就叫做“激活(Active)”。当它被激活时,只有某些更改可以执行,其他的更改只有在它非激活时执行。
4. 首要条件
LVM在很大范围内的内核中都有效。在Linux 2.4,LVM将全部被集成。内核2.3.47和以前的,LVM要经过处理来合并到主内核中。
4.1 内核
Linux 2.4
包含了你需要的所有内容。希望大多数的发行版都将LVM当成模块集成来发行。如果你需要编译,仅仅是当你选择块设备时打勾LVM选项。
Linux 2.3.99.*
一旦内核向前发展稳定了,这部分就不会存在了。但是现在,我们还是要描述一下。
当我们写这篇文档时,Linux最新的内核版本是2.3.99pre5,它仍然需要一些小的补丁才能使LVM工作。
对于Linux 2.3.99pre3,有两个补丁发行:
一个补丁是张贴在linux-kernel,在这里可以找到。
Andrea Arcangeli改进了这个补丁,提供了一个增量的补丁,它应用于2.3.99pre3 LVM补丁和这之上。
对于Linux 2.3.99pre5,bert hubert将这两个补丁合并成一个了,并且主要针对2.3.99pre5。在这里可以找到这个补丁。使用它要小心。
2.3.99pre6-1,是的,是补丁的一个预览版,特色是第一次完成了LVM的支持!它仍然遗漏了Andreas的补丁,但我们确信它不久真的会发行的。
2.3.99pre4-ac1缺省有一个小的补丁在,并且能工作。虽然它不包括Andreas的补丁。
Linux 2.2
FIXME: write this
Linux 2.3
FIXME: write this
4.2 用户余地
你需要从LVM站点下载有效的工具。用glibc2.1编译系统要求的一些补丁。即使这样,在Debian 2.2上仍会出错。
5. 增长文件系统
你可以用一个预备好的脚本做大量的工作,也可以根据你的需要手工做
5.1 使用e2fsadm
如果在你的卷组中有剩余空间,并且你使用的是ext2文件系统(大多数人都是这样的),你就可以使用这个便捷的工具。
e2fsadm命令利用商业的resize2fs工具。虽然人们都感觉resize2fs是一个很好的软件,但是它并没有被广泛的安装。
如果你想使用FSF的ext2resize命令,你需要告诉e2fsadm以下内容:
# export E2FSADM_RESIZE_CMD=ext2resize
# export E2FSADM_RESIZE_OPTS=""
余下的就简单了,e2fsadm使用时很象其他的LVM命令:
# e2fsadm /dev/test/HOWTO -L+50M
e2fsadm -- correcting size 102 MB to physical extent boundary 104 MB
e2fsck 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/test/HOWTO: 11/25688 files (0.0% non-contiguous), 3263/102400 blocks
lvextend -- extending logical volume "/dev/test/howto" to 104 MB
lvextend -- doing automatic backup of volume group "test"
lvextend -- logical volume "/dev/test/HOWTO" successfully extended
ext2_resize_fs
ext2_grow_fs
ext2_block_relocate
ext2_block_relocate_grow
ext2_grow_group
ext2_add_group
ext2_add_group
ext2_add_group
ext2_add_group
ext2_add_group
ext2_add_group
direct hits 4096 indirect hits 0 misses 1
e2fsadm -- ext2fs in logical volume "/dev/test/HOWTO" successfully extended to 104 MB
5.2 增长逻辑卷
e2fsadm命令为你做了这些工作。然而,了解怎样手工来做可能会有用的。
如果在你的卷组中有剩余空间,那么只需要一行:
# lvextend -L+12M /dev/test/HOWTO
lvextend -- rounding size to physical extent boundary
lvextend -- extending logical volume "/dev/test/HOWTO" to 116 MB
lvextend -- doing automatic backup of volume group "test"
lvextend -- logical volume "/dev/test/HOWTO" successfully extended
5.3 增长卷组
这是用vgextend功能实现的,它很象馅饼一样容易。你首先需要创建一个物理卷。这要用pvcreate来实现。使用这个工具,你转换任何块设备为一个物理卷。
这样做了之后,vgextend做余下的任务:
# pvcreate /dev/sda1
pvcreate -- physical volume "/dev/sda1" successfully created
# vgextend webgroup /dev/sda1
vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
vgextend -- doing automatic backup of volume group "webgroup"
vgextend -- volume group "webgroup" successfully extended
请注意,为了要做这些,你的卷组必须是激活的。你可以通过执行象“vgchange -a y webgroup”来使它激活。
5.4 增长文件系统
如果你想手工做,有两条路径可以实现。
ext2离线,使用ext2resize
离线,就意味着你必须umount这个文件系统来做这些改变。在做这些改变的时候,这个文件系统和它上面的数据暂时不可用。如果你想扩充根分区或其他重要的分区,你必须用其他的启动介质来引导。
ext2resize工具可以在GNU ftp站点找到,但大多数的发行版都将它作为一个包来发行。它的语法也简单易懂:
# ext2resize /dev/HOWTO/small 40000
这里40000是文件系统已经增长或收缩之后的块的数目。
ext2在线
FIXME: write this
6. 替换磁盘
这是LVM的好处之一。一旦你发现某个磁盘有错误,那就是要移动你的数据的时候了。使用LVM它很象馅饼一样容易。我们首先举一个明显的替换例子,你先添加一个磁盘到系统中,它至少要和你想要替换的磁盘一样大。
要移动数据,我们移动卷组的物理分区到另一个磁盘上,或者更准确的说,到另一个物理卷上。要做这些,LVM给我们提供了pvmove功能。
假设我们怀疑的那块磁盘叫/dev/hda1,并且我们想用/dev/sdb3来替换它。我们首先将/dev/sdb3添加到包含/dev/hda1的那个卷组中。
在这之前,umount这个卷组上的所有文件系统看来是明智的。有一个全备份也不会损坏什么。
FIXME: is this necessary?
接下来我们执行pvmove。非常简单的,我们仅仅提到我们想要移走的那块磁盘,就象这样:
# pvmove /dev/hda1
pvmove -- moving physical extents in active volume group "test1"
pvmove -- WARNING: moving of active logical volumes may cause data loss!
pvmove -- do you want to continue? [y/n] y
pvmove -- doing automatic backup of volume group "test1"
pvmove -- 12 extents of physical volume "/dev/hda1" successfully moved
请留意这个警告。而且看来至少有些内核或LVM的版本在使用这个命令时有问题。我是用2.3.99pre6-2来测试的,它可以工作,但要警告。
现在,/dev/hda1没有包含任何物理分区了,我们可以将它从卷组中删除:
# vgrece test1 /dev/hda1
vgrece -- doing automatic backup of volume group "test1"
vgrece -- volume group "test1" successfully reced by physical volume:
vgrece -- /dev/hda1
FIXME: we need clarity on a few things. Should the volume group be active? When do we get data loss?
6.1 当事情发生在晚期时
如果一个磁盘没有出现警告就失败了,你就不能移走它上面的物理分区到另一个物理卷上,这样你可能会丢失数据,除非在这个失败的PV上的逻辑卷是镜像了的。正确的行为是用一个同样的PV或者至少同样大小的分区来替换这个失败的PV。
/etc/lvmconf目录包含了LVM数据和结构的备份,包括哪些磁盘做成了PV,每个PV属于哪个VG,每个VG中有哪些LV。
替换了出错的磁盘之后,你可以用vgcfgrestor命令来恢复LVM数据到新的PV上。它恢复卷组和所有它的信息,但是不会恢复在逻辑卷上的数据。这是因为当LVM数据做一些更改时,LVM命令自动做备份。
--------------------------------------------------------------------------------
7. 为一致性备份做快照
这是更加难以置信的一个可能性。假设你有一个非常繁忙的服务器,有许多东西运行。为了一个有用的备份,你需要停止大量的程序,否则,你将以数据不一致告终。
一个规范的例子是从/tmp移动一个文件到/root下,而且/root将先备份。当/root被读的时候,这个文件还不在那里。当/tmp被备份时,这个文件已经不在了。
另一个事例是保存数据库或目录。如果一个文件在使用状态,我们就没有任何线索了,除非我们给应用程序时间做一个清除的关闭。
这样的话,新的问题又出现了。我们关闭程序,做我们的备份,接着重新启动它们。如果备份只花几分钟这是很好的,但是,如果它要花数小时,或者你根本不确定它到底要花多久的时候,事情就真的痛苦了。
LVM可以营救。
使用LVM,我们可以做一个LV瞬间的快照,然后mount它,再备份它。
让我们试验一下:
# mount /dev/test/HOWTO /mnt
# echo >; /mnt/a.test.file
# ls /mnt/
a.test.file lost+found
# ls -l /mnt/
total 13
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found
Ok,我们现在有些事情要用它一起做。让我们产生这个快照:
# lvcreate --size 16m --snapshot --name snap /dev/test/HOWTO
lvcreate -- WARNING: all snapshots will be disabled if more than 16 MB are changed
lvcreate -- INFO: using default snapshot chunk size of 64 KB
lvcreate -- doing automatic backup of "test"
lvcreate -- logical volume "/dev/test/HOWTO" successfully created
对于“--size”参数以后再详述。让我们mount这个快照:
# mount /dev/test/snap /snap
# ls /snap
total 13
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found
现在我们从原处删除a.test.file,并且检查它是否仍然在快照里:
# rm /mnt/a.test.file
# ls /snap
total 13
-rw-r--r-- 1 root root 1 Apr 2 00:28 a.test.file
drwxr-xr-x 2 root root 12288 Apr 2 00:28 lost+found
太令人惊讶了!
7.1 它是如何工作的?
记得我们不得不设置“--size”参数吗?真正发生的事情是,“snap”卷需要有那些当LVM调用时,在原处要被改变的所有块的一个拷贝。
当我们删除a.test.file时,它的i节点被删除。这引起64KB要被标注成“脏的”--同时原始数据的一个拷贝被写到“snap”卷。这个例子中,我们分配了16MB给快照,因此如果多于16MB的块要被修改,快照就会无效了。
要决定一个快照分区的正确大小,你将不得不推测基于主LV的使用模式、快照要激活的总时间。例如,在午夜,当无人使用系统的情况下,一个几小时的备份可能要求很小的空间。
请注意,快照不是永久的。如果你卸下LVM或重启,它们就丢失了,需要重新创建。
--------------------------------------------------------------------------------
8. 冗余 & 性能
为了性能的考虑,可以将数据分散在几个条块化的磁盘上。这意味
㈤ 逻辑扇区,逻辑块,物理扇区,物理块,逻辑卷,物理卷之间的关系,他们的大小是什么
通常情况一个扇区是512B,扇区(也即物理块)是读写磁盘的最基本单位。逻辑块是建立文件系统(如FAT16,FAT32,NTFS等)后存储数据的基本单位,它一定是扇区的整数倍。
物理卷是指整个硬盘(如电脑的硬盘,移动U盘等);物理卷是指对物理卷进行分区后的逻辑磁盘如C盘、D盘、E盘等
㈥ 磁盘分区,挂载知多少
基本概念
PV( 全称 Physical Volume , 物理卷):普通的直接坊问的存储设备,有固定的和可移动的之分,代表性的就是硬盘
VG(全称 Volume Group,卷组):AIX中最大的存储单元,一个卷组由一个或多个PV组成
PP(全称 Physical Partition,物理分区):将PV划分成连续的大小相同的单元,同一个VG中的PP大小都相同,大小1M~1024M必须是2的幂次方
LP(全称 Logical Partition,逻辑分区):由1~3个PP组成的集合,大小1M~1024M必须是2的幂次方
LV(全称 Logical Volume,逻辑卷,又称裸设备):由一个或多个LP组成的集合,同时LV中的LP是连续,但对应的PP可能不连续,可能分布在不同的PV上
FS(全称 File System,文件系统,又称熟设备):直接面向用户的存储空间,LV和FS是一对一,如果删除LV也将删除FS。可以在文件系统FS上创建文件及文件目录
存储结构
逻辑分区LV不能直接被访问,是裸设备,只有在LV上建立文件系统FS后才能被用户访问。
物理卷,卷组,物理分区,逻辑分区,逻辑卷都是面向操作系统
而文件系统是面向用户的概念
LVM的配置概念
卷组描述区(VGDA:Volume Group Descriptor Area):描述卷组中的所有物理卷和逻辑卷的对应关系
卷组状态区(VGSA:Volume Group Status Area):记录物理卷物理分区的状态信息,在激活时,确定哪些物理分区可用
逻辑卷控制块(LVCB:Logical Volume Control Block):位于每个逻辑卷开头,包含逻辑卷的信息,占用数百个字节
LVM管理命令就是对VGDA内容进行更新,当一块硬盘变成PV时,这个硬盘开始保留一部分空间存放VGDA信息,当把PV加入卷组中时,开始
将卷组信息写入VGDA区域,当把PV从卷组中删除时,也同时删除VGDA数据,这个数据还存放在AIX的ODM库中,当导入一个卷组时,把VGDA信息
写入ODM库,导出时删除
磁盘Quorum
卷组的每一个物理卷至少包含一份VGDA和VGSA。当一个卷组只有一块硬盘时,这块硬盘存有两份VGDA和VGSA,当这个卷组由两块硬盘存在时,
其中一块存有两份,别一块存有一份,当这个卷组由三块硬盘存在时,则每块存一份,如果磁盘的Quorum存,则必须保证51%的VGDA/VGSA能正常访问,否则关闭磁盘Quorum
逻辑存储管理的限制
VG数:每个系统最多255个VG
PV数:对于普通VG最多32个PV,对于大VG,最多128个LV
PP数:每个PV最多有1016个PP
LV数:对于普通VG每个最多有255个LV,对于大VG,最多不超过512个LV
LP数: 每个LV最多32512个LP
PP和LP的大小:1M到1024M必须是2的幂次方
LP和映射PP的数量:一个LP可以映射1~3个PP
㈦ 什么是lvm逻辑卷有哪些特点
逻辑卷(LVM)它是Linux环境下对磁盘分区进行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。特点: 1、动在线态扩容 2、离线裁剪 3、数据条带化 4、数据镜像相关特点分析,可以参考黑马程序员社区一个板块都是技术知识。我朋友在黑马学的运维,现在13k16薪。我也正在学习呢。
㈧ lvn是什么意思
楼主问的应该是lvm吧?
LVM是逻辑卷管理,是Linux操作系统对磁盘存储管理的一种机制.可以动态管理存储空间,当某个LV区空间即将不够用,可以为其分配空间以扩大该LV区的大小.相反,缩小也是可以的.
有几个概念PE(physical extent)、PV(physical volume)、VG(volume group)、LV(logical volume)
PE:是将物理磁盘的存储空间分成若干指定大小的块,这些块叫PE
PV:将若干数量的PE组成一组,称为PV(物理卷)
VG:将一个或多个物理卷PV组成的一个卷组,称为VG(卷组)
LV:在VG中划分出一定大小的存储单元称为LV(逻辑卷)
这样理解这四个概念的组织结构吧,将一块磁盘逻辑地分成若干份PE,若干PE组成PV,若干PV组成VG,VG中可以或分出任意多个LV分区(只要不超出VG的大小,就可以划分出任意多个LV分区).
㈨ 如何扩充 linux lvm 8e
在整个LVM结构当中以此分为:“物理卷、物理卷分区、卷组、逻辑卷”,下面我详细解释一下这四种结构:
1:物理卷:Physical Volume,简称PV,一个物理卷只不过是一个有LVM管理数据添加在里面的物理存储介质。要使用LVM系统,首先对要用于LVM的磁盘进行初始化,初始化的目的就是将磁盘或分区标识为LVM 的物理卷。使用pvcreate 命令可以将一个磁盘标记为 LVM 物理卷。
2:物理分区:Physical Extents,简称PE,LVM将每个物理卷分别叫做物理分区的可寻址存储单元,存储单元的大小通常为几MB。磁盘的开头部分为LVM元数据,之后从索引为零开始,每个物理分区的索引依次递增一,按顺序进行分配。
3:卷组:Volume Group,简称VG,物理卷可以组织为卷组。卷组可以由一个或多个物理卷组成,同时系统中可以有多个卷组。创建了卷组之后,该卷组(而不是磁盘)便是表示数据存储的实体。因此,尽管以前是将磁盘从一个系统移动到另一个系统,使用了 LVM 之后,会将卷组从一个系统移动到另一个系统。出于这种原因,通常在一个系统上创建多个卷组会比较方便。
4:逻辑分区:Logical Extents,简称LE,逻辑卷的基本分配单元称为逻辑分区。逻辑分区映射到物理分区,因此,如果物理分区的尺寸小为4MB,那么逻辑分区的尺寸也将为4MB。逻辑卷的大小取决于所分配的逻辑分区数量。
㈩ linux逻辑卷管理
LVM(logical volume manager) 逻辑卷管理器
其中主要分为这几个概念
1物理卷-简称PV
物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,也可以是硬盘中的莫一个分区
2卷组-简称VG
卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷
3逻辑卷-简称LV
逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组
4 物理区域-简称PE
物理区域是物理卷中最小的可分配储存单元
5 逻辑区域-简称-LE
逻辑区域是逻辑卷中可用于分配的最小储存单元
6 卷组描述区域-简称VGDA
用于描述物理卷,卷组,逻辑卷分配的所由信息
一个建立逻辑卷的流程如下
PV-VG-LV
物理卷包含卷组,卷组包含逻辑卷
二redhat9中使用逻辑卷管理器
1使用vgscan生成默认的配置文件,配置文件在/etc下的lvmconf 和lvmtab 2个文件
2 为逻辑卷管理器分配物理卷
我这里使用一个分区来作/dev/hda9
#fdisk 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指定逻辑卷的名程和卷组的名程,也可以使用绝对路径来达到上述目的
#lvdisplay /dev/vg0/vg1
查看是否建立成功
5 为逻辑卷建立文件系统
#mkfs.ext3 /dev/vg0/vg0
然后挂载尝试是否建立成功
#mount /dev/vg0/vg1 /home
这样一个逻辑卷就基本成型了
三 逻辑卷的管理
1增加新的物理卷到卷组
当卷组中没有足够的空间分配给逻辑卷时,可以用给卷组增加物理卷的方法来增加卷组的空间
# vgextend vg0 /dev/hda8
这里注意hda8必需为LVM分区
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下的lvmconf 和lvmtab的两个文件,然后将分区转换为linux的就可以了
四 检查物理卷,卷组,逻辑卷
分别使用3个命令
1pvscan 检查物理卷
2vgscan 检查卷组
3lvscan 检查逻辑卷
这里只是介绍了逻辑卷管理器的基本建立和删除
应为今天时间有限,明天积蓄补充,希望此文对你有所帮助
明天内容
如何备份逻辑卷
如何用LVM作镜像卷
如何改变逻辑卷的属性
五 为逻辑卷作备份
1当你要备份你的卷组信息是,你就需要为卷组作备份,使用vgcfgbackup来备份
#vgcfgbackup vg0
备份的信息就是我们前面提到的VGDA备份到/etc/lwmconf/VG.conf
2当你的卷组信息意外丢失时,你可以使用这个文件来恢复你的卷组信息,前提是你要备份了的
#vgcfgrestor -n vg0 /dev/hda8
或者
#vgcfgrestor -f /etc/lvmconf/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
恭喜你可以看到文件数据已经同步了
注:如快照卷不能容纳超过自身设置的容量时,将被LVM管理器自动删除
解决的方法:
1及时清理不必要的快照文件
2 设置逻辑快照卷和父逻辑卷大小一致