lvm分区能?linux分区lvm格式linux分区lvm
一、linux里lvm 用来干什么
对于Linux用户而言,在安装一台Linux机器的时候,遇到的问题之一就是给各分区估计和分派足够的硬盘空间。无论对一个正在为服务器寻找空间的系统管理员,还是一个磁盘即将用尽的普通用户来说,这都是一个非常常见的问题。解决的方法通常是使用符号链接,或者一些调整分区大小的工具(比如parted)。但是,这只是一个暂时性的解决办法,不久,我们又会面临同样的问题。
如果你是一个站点的系统管理员,管理着数量众多的、连接在Internet之上的服务器,那么你每关机一分钟,都会给公司带来很大损失。此外,使用这种方法,在修改了分区表之后,每一次都得重新启动系统。LVM(逻辑卷管理程序)可以帮助我们解决这些问题。
LVM简介
Linux LVM可以使管理工作更加轻松。相对于硬盘和分区,LVM是从更高的层次来看待存储空间的。在使用LVM之前,先来看一些将要使用到的相关概念。
物理卷
物理卷是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)。
逻辑卷
一个或者多个物理卷组成一个逻辑卷。对于LVM而言,逻辑卷类似于非LVM系统中的硬盘分区。逻辑卷可以包含一个文件系统(比如/home或者/usr)。
卷组
一个或者多个逻辑卷组成一个卷组。对于LVM而言,卷组类似于非LVM系统中的物理硬盘。卷组把多个逻辑卷组合在一起,形成一个可管理的单元。
document.body.clientWidth-450){this.height=(document.body.clientWidth-450)*this.height/this.width;this.width=document.body.clientWidth-450}" border="0">
LVM工作方式
下面来看一看LVM到底是怎样工作的。每一个物理卷都被分成几个基本单元,即所谓的PE(Physical Extents)。PE的大小是可变的,但是必须和其所属卷组的物理卷相同。在每一个物理卷里,每一个PE都有一个惟一的编号。PE是一个物理存储里可以被LVM寻址的小单元。
每一个逻辑卷也被分成一些可被寻址的基本单位,即所谓的LE(Logical Extents)。在同一个卷组中,LE的大小和PE是相同的,很显然,LE的大小对于一个卷组中的所有逻辑卷来说都是相同的。
在一个物理卷中,每一个PE都有一个惟一的编号,但是对于逻辑卷这并不一定是必需的。这是因为当这些PE ID号不能使用时,逻辑卷可以由一些物理卷组成。因此,LE ID号是用于识别LE以及与之相关的特定PE的。正如前面所提到的,LE和PE之间是一一对应的。每一次存储区域被寻址访问或者LE的ID被使用,都会把数据写在物理存储设备之上。
你可能会觉得奇怪,有关逻辑卷和逻辑卷组的所有元数据都存到哪儿去了。类似的在非LVM系统中,有关分区的数据是存储在分区表中,而分区表被存储在了每一个物理卷的起始位置。VGDA(卷组描述符区域)功能就好象是LVM的分区表,它存储在每一个物理卷的起始处。
VGDA由以下信息组成:
·一个PV描述符
·一个VG描述符
·LV描述符
·一些PE描述符
当系统启动LV时,VG被激活,并且VGDA被加载至内存。VGDA帮助识别LV的实际存储位置。当系统想要访问存储设备时,由VGDA建立起来的映射机制就用于访问实际的物理位置来执行I/O*作。
开始工作
下面具体看一看如何使用LVM。
第一步:配置内核。在安装LVM之前,内核之中应该有LVM模块,可以使用以下的步骤来完成:
#cd/usr/src/linux
#make menuconfig
选择Multi-device Support(RAID and LVM)子菜单,选中以下两个选项:
[*] Multiple devices driver support(RAID and LVM)
<*> Logical volume manager(LVM) Support.
**代码
注:如果在安装Linux系统时已经安装了LVM相关软件包,上面几步*作可以省略掉,直接到第二步.
第二步:检查驱动器上空闲硬盘空间的总量。这可以通过以下命令来未完成:
# df-h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 3.1G 2.7G 398M 87%/
/dev/hda2 4.0G 3.2G 806M 80%/home
/dev/hda5 2.1G 1.0G 1.1G 48%/var
第三步:在硬盘上创建一个LVM分区。使用fdisk或者其它的分区工具来创建一个LVM分区。Linux LVM的分区类型为8e。
# fdisk/dev/hda
press p(to print the partition table) and n(to create a new partition)
第四步:创建一个物理卷。下述命令将在分区的起始处创建一个卷组描述符:
# pvcreate/dev/hda6
pvcreate---physical volume"/dev/hda6" successfully created
# pvcreate/dev/hda7
pvcreate--- physical volume"/dev/hda7" successfully created
第五步:创建一个卷组。通过下面的方法创建一个新的卷组,并且添加两个物理卷:
# vgcreate test_lvm/dev/hda6/dev/hda7
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_lvm"
vgcreate--- volume group"test_lvm" successfully created and activated
上述命令将创建一个名为test_lvm,包含有/dev/hda6和/dev/hda7两个物理卷的卷组。使用下面命令来激活卷组:
# vgchange-ay test_lvm
使用“vgdisplay”命令来查看所建立卷组的细节信息。
# vgdisplay
--- Volume group---
VG Name test_lvm
VG Access read/write
VG Status available/resizable
VG# 0
MAX LV 256
Cur LV 1
Open LV 0
MAX LV Size 255.99 GB
Max PV 256
Cur PV 2
Act PV 2
VG Size 3.91 GB
PE Size 4 MB
Total PE 1000
Alloc PE/ Size 256/ 1 GB
Free PE/ Size 744/ 2.91 GB
VG UUID T34zIt-HDPs-uo6r-cBDT-UjEq-EEPB-GF435E
第六步:创建一个逻辑卷。使用lvcreate命令在卷组中创建一个逻辑卷:
# lvcreate-L2G-nlogvol1 test_lvm
第七步:创建文件系统。在该逻辑卷上选择使用reiserfs日志文件系统:
# mkreiserfs/dev/test_lvm/logvol1
使用mount命令来加载新创建的文件系统。
# mount-t reiserfs/dev/test_lvm/logvol1/mnt/lv1
第八步:在/etc/fstab和/etc/lilo.conf中添加一个入口。在/etc/fstab中加入以下入口,在启动时加载文件系统:
/dev/test_lvm/logvol1/mnt/lv1 reiserfs defaults 1 1
如果没有覆盖原来的内核,那么拷贝一份重新编译后的内核,并且在启动时选择是否使用LVM。下面是LILO文件的内容:
image=/boot/lvm_kernel_image
label= linux-lvm
root=/dev/hda1
initrd=/boot/init_image
ramdisk= 8192
添加以上内容后,使用以下命令重新加载LILO:
#/s**n/lilo
第九步:修改逻辑卷的大小。可以使用lvextend命令方便地修改逻辑卷的大小,增加逻辑卷大小的方法如下:
# lvextend-L 1G/dev/test_lvm/logvol1
lvextend-- extending logical volume"/dev/test_lvm/logvol1" to 3GB
lvextend-- doing automatic backup of volume group"test_lvm"
lvextend-- logical volume"/dev/test_lvm/logvol1" successfully extended
类似的,减小逻辑卷大小的方法如下:
# lvreduce-L-1G/dev/test_lvm/lv1
lvreduce---Warning: reducing active logical volume to 2GB
lvreduce--- This may destroy your data(filesystem etc.)
lvreduce---do you really want to reduce"/dev/test_lvm/lv1"? [y/n]: y
lvreduce--- doing automatic backup of volume group"test_lvm"
lvreduce--- logical volume"/dev/test_lvm/lv1" successfully reduced
**代码
总结
从上面的讨论可以看到,LVM具有很好的可扩展性,并且使用起来很直观。一旦卷组建立起来以后,根据需求调整每一个逻辑卷的大小也非常容易。
LVM*作的相关命令:
fdisk-l:查看系统中都认到了那些物理硬盘
pvdisplay:查看系统中已经创建好的物理卷
pvcreate:创建一个新的物理卷
pvremove:删除一个物理卷(也就是从物理卷中删除一个LVM标签)
vgdisplay:查看系统中的卷组
vgcreate:创建一个新的卷组
vgreduce:从卷组中删除一个物理卷(也就是缩小卷组)
vgremove:删除一个卷组
lvdisplay:查看系统中已经创建好的逻辑卷
lvcreate:创建一个新的逻辑卷
lvreduce:缩小逻辑卷(也就是从一个逻辑卷中减少一些LE)
lvremove:从系统中删除一个逻辑卷
mkfs:基于逻辑卷创建一个相应类型的文件系统
mkdir-p$mount_piont:创建一个挂载目录
创建好的文件系统位于:
/dev/$create_vg_name/$lv_name
mount/dev/$create_vg_name/$lv_name$mount_piont:挂载文件系统
vgscan:读取系统中创建的所有卷组
vgchange-a y:激活所有卷组(开机执行,redhat可在/etc/rc.d/rc.sysinit系统启动初始化脚本里可以找到)
vgchange-a n:关闭所有卷组(提示:必须在umount所有的文件系统后,才能成功执行
*设备使用:
1.先lvreate
2. raw/dev/raw/raw0/dev/mapper/vgname-lvname
3.修改/etc/sysconfig/rawdevices,添加:
/dev/raw/raw0/dev/mapper/vgname-lvname
4.执行命令; service rawdevices restart,使得/etc/sysconfig/rawdevices文件中的*设备配置生效
5.执行/s**n/schkconfig rawdevices on使得系统重启后,*设备能自动加载
6.修改*设备的属主,使得相应权限的用户对*设备有读写权限
chown-R owner:group/dev/raw/raw0
7.将修改*设备属主修改命令加入到系统启动执行脚本/etc/rc.local中,使得系统启动后*设备的属主保持不变.
二、linux分区lvm格式linux分区lvm
linux安装分区选择标准还是lvm?
简单的说就是LVM可以方便的动态调整分区大小。比如你的/home分区不够用了,如果是基于分区,那将是非常痛苦的事情。但如果是LVM,使用lvextend命令就可以了。
linux如何增加LVM的/home的容量?
1、首先使用mount命令查看/目录和home目录的lv设备是什么。比如/home使用/dev/xxxvg/xxxlv,/使用/dev/yyyvg/yyylv。
2、然后使用resize2fs/dev/xxxvg/xxxlvxxxM命令将home分区容量缩减。由于home目录已经mount上了,所以需要先umount掉umount/home,然后执行e2fsck-f/dev/xxxvg/xxxlv,后执行resize2fs/dev/xxxvg/xxxlvxxxM缩减分区文件系统的容量,容量缩减到xxxM。
3、home目录容量缩减后就可以重新mount上了,mount/dev/xxxvg/xxxlv/home。
4、这时我们就可以减少/dev/xxxvg/xxxlv的PE数量以减少分区容量,执行
lvresize-L-xxM/dev/xxxvg/xxxlv减少PE数量。-xxM就是前面home分区减少的M数。
5、现在可以给/增加容量了,首先
lvresize-L+xxM/dev/yyyvg/yyylv来增加/分区的PE数量。
6、将LV增加的容量扩充到/分区的文件系统中
resize2fs/dev/yyyvg/yyylv
由于是全部增加就不用指定容量了。
注意由于没有具体数值,容量和设备名称都用xx、yy之类代替了不要直接**粘贴去执行哦。
试试看吧,看说明理论上是这样的。有条件还是先用虚拟机装个系统试试。
lvm和标准分区哪个好?
LVM是LogicalVolumeManager的缩写,中文一般翻译为“逻辑卷管理”,它是Linux下对磁盘分区进行管理的一种方式。
LVM是建立在磁盘分区和文件系统之间的一个逻辑层,系统管理员可以利用LVM在不重新对磁盘分区的情况下动态的调整分区的大小。
如果系统新增了一块硬盘,通过LVM就可以将新增的硬盘空间直接扩展到原来的磁盘分区上。
lvm是什么分区?
LVM全称是逻辑盘卷管理(LogicalVolumeManager),是Linux系统对磁盘分区管理一种机制。相对于一般的磁盘分区而言LVM是建立在硬盘和分区物理层之上的一个逻辑层,通过逻辑分区来提高磁盘的利用率。
LVM分区由于分区管理的灵活性,越来越受广大linux管理员喜爱。
linux下lvm可以缩小xfs分区吗?
我觉得这是不行的。
首先看看lvm的创建过程:假如硬盘有2个分区sda1,sda2然后你用lvm来管理这2个分区#pvcreate/dev/sda1#pvcreate/dev/sda2#vgcreatevg1/dev/sda1#vgextendvg1/dev/sda2#lvcreate-l+100%FREEvg1-nlv1现在你把linux装在lv1上面。然后你想装win,你会把lv1缩小,但是lv1还是横跨sda1和sda2的啊,lv1里面的数据并不一定在sda1上还是sda2上。但是装win的时候你只能选择sda1或者sda2(不知道还有没有别的方法)。所以这样是行不通的。这只是我基于概念的理解,没有实际验证过,希望对你有所帮助。三、Linux里面lvm是什么
LVM是逻辑卷管理(Logical Volume Manager)的简称,他是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。
LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样能减少*作成本.
LVM和直接使用物理存储相比,有以下好处:
1.灵活的容量.当使用逻辑卷时,文件系统能扩展到多个磁盘上,你能聚合多个磁盘或磁盘分区成单一的逻辑卷.
2.可伸缩的存储池.你能使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.
3.**的数据再分配.你能**移动数据,数据能在磁盘**的情况下重新分配.比如,你能**更换可热插拔的磁盘.
4.方便的设备命名逻辑卷能按你觉得方便的方式来起所有名称.
5.磁盘条块化.你能生成一个逻辑盘,他的数据能被条块化存储在2个或更多的磁盘上.这样能明显提升数据吞吐量.
6.映像卷逻辑卷提供方便的方法来映像你的数据.
7.卷快照使用逻辑卷,你能获得设备快照用来一致性备份或测试数据更新效果而不影响真实数据.