LVM详细设置方法.docx
《LVM详细设置方法.docx》由会员分享,可在线阅读,更多相关《LVM详细设置方法.docx(21页珍藏版)》请在冰点文库上搜索。
![LVM详细设置方法.docx](https://file1.bingdoc.com/fileroot1/2023-5/2/02aecbf3-66ad-4a08-ac80-86fa75d70281/02aecbf3-66ad-4a08-ac80-86fa75d702811.gif)
LVM详细设置方法
LVM增加硬盘,调整容量
2012-07-3123:
43:
29| 分类:
CentOS | 标签:
lvm 增加硬盘 调整容量 pv lv |字号 订阅
vbox下增加虚拟机的硬盘,容量100G
1、.启动虚拟机,进入终端,查看是否有新加的硬盘(对比上次启动的情况),df-h查看是否有新加的。
本人新加的是sdb。
对新硬盘进行分割:
fdisk/dev/sdb
2.建立PV分区(物理卷),一般新加的都要建立pv分区才能使用。
#pvcreate/dev/sdc
4.将pv加入vg(卷组),一般需查看卷组是否存在。
#vgscan看是否存在卷组
#vgextendVolGroup00/dev/sdc加入到卷组VolGroup00
5.扩展原有的lv(逻辑卷)
#vgdisplay查看是否有空闲的空间,如果在最下面显示的FreePE/SIZE
中有剩余(非零)就表示有。
这里啰嗦一句,在显示的FreePE/size中前面的一个数字代表代号,不是大小。
下面命令中的
“-L+1G”可以换成“-lPE的代号”。
6.使用lvextend扩展需要的分区
#lvextend-L+1G/dev/VolGroup00/LogVol01,其中红色字体的数字代表的是需要增加的分区,用df-h查看。
7.用reseze2fs加入到卷组中的卷标
#resize2fs-f/dev/mapper/VolGroup00/LogVol01(转者:
这里要说一下,如果要运行resize2fs,先要卸下这个卷,例如:
LogVol01是挂在了/myfile这个文件夹下,要用“umount/myfile”把它卸下来,再运行resize2fs,不然会提示“can'tresizeamountedfilesystem”(无法对已挂载的文件系统重设大小))
二、缩小某一分区的空间
我们经常是需要将某一些经常用不到的分区空间减少,但是又不能删除的。
具体的不细说。
下面以/data从4G降到3G为例:
(注意,此种方法不适合busy的分区,如/)
1、df-h查看/data的卷标
2、umount
#umount/data
3、检测/data
#e2fsck-f/dev/mapper/VolGroup00-LogVol04红色是/data的卷标号,一下类同。
4、减少磁盘blocks
#resize2fs/dev/mapper/VolGroup-LogVol043G
5、减少LV大小
#lvreduce-L-1G/dev/VolGroup00/LogVol04
6、重新挂载/data
#mount/dev/mapper/VolGroup00/LogVol04/data
7、fsck磁盘检查
#fsck然后按提示所有都输入Y
完成!
如果出现重启检测都磁盘文件快损坏,就格式化/data分区。
ctrl+d重启后重新配置。
即可
三、增加swap空间。
一般swap是内存的2倍,但是如果一不小心在安装时少分了点,那就有点郁闷了。
没关系,lvm可以增加swap空间。
1、free查看swap的卷标
#free
2、确认vg有剩余。
#vgdisplay
如果显示的FreePE/Size有空间就可以加。
3、卸载swap空间。
#swapoff-a
4、增加swap
#lvextend-L+256M/dev/VolGroup00/LogVol00红色代表swap卷标号
5、mkswap
#mkswap/dev/mapper/VolGroup00/LogVol00
6、重新挂载swap
#swapon-a
7、free查看swap是否增加
四、创建卷组
如果你不想把新加的硬盘放入到和系统一个卷组中,那么就创建一个属于你自己用途的卷组了。
1、添加硬盘,与一的添加一样。
不详述。
2、创建pv
#pvcreate/dev/sdc(以新增的盘为准,进/dev查看)
3、创建逻辑卷组
#vgcreate-s32MOracle/dev/sdc(32M表示以32M为最小单位划分,默认4M)
查看vgdisplay看是否有新加的
4、创建逻辑卷
#lvcreate-L2.00g-noracle1Oracle(此处的Oracle是卷组名,oracle1是卷标名,随个人爱好了)
5、格式化逻辑卷
#mkfs.ext3-j/dev/Oracle/oracle1
6、创建新的分区目录
#mkdir/data/oracle(目录随自己定,但推荐放在/data下面,oracle也是名字,随自己爱好取)
7、挂载逻辑分区
#mount/dev/Oracle/oracle1/data/oracle
创建完毕,同样方法还可以创建ftpsrc之类。
lvdisplay查看自己创建的
在实际中,我只使用过lvextend对一个卷进行扩大。
真正用了以下几个命令:
umount/myfile
lvextend-L+512M/dev/rootvg/LogVol07
resize2fs-f/dev/mapper/rootvg-LoVol07
其中,在执行umount/myfile的时候,提示了“/myfile:
deviceisbusy。
由于/myfile里放了oralce的表文件,当时oracle还处于运行状态,我就oracleshutdown后可以正常umount了,然后执行resize2fs成功。
到此,对/myfile卷的扩展成功。
1.确认LVM2工具正确安装
[root@linux~]#yuminfolvm2
InstalledPackages
Name :
lvm2
Arch :
i686
Version :
2.02.87
Release :
6.el6
Size :
1.2M
Repo :
installed
Fromrepo :
anaconda-CentOS-201112130233.i386
Summary :
Userlandlogicalvolumemanagementtools
URL :
License :
GPLv2
Description:
LVM2includesallofthesupportforhandlingread/write
:
operationsonphysicalvolumes(harddisks,RAID-Systems,magneto
:
optical,etc.,multipledevices(MD),seemdadd(8)orevenloop
:
devices,seelosetup(8)),creatingvolumegroups(kindofvirtual
:
disks)fromoneormorephysicalvolumesandcreatingoneormore
:
logicalvolumes(kindoflogicalpartitions)involumegroups.
2、模拟一个分区,一个磁盘,一个raid1共3个物理和逻辑设备来创建LVM
(1)创建一个raid1设备
[root@linux~]#mdadm -C/dev/md1-l1-n2/dev/sd{b,c}
Continuecreatingarray?
y
mdadm:
Defaultingtoversion1.2metadata
mdadm:
array/dev/md1started.
(2)创建一个分区
[root@linux~]#fdisk-l/dev/sdd
Command(mforhelp):
n
Commandaction
e extended
p primarypartition(1-4)
p
Partitionnumber(1-4):
1
Firstcylinder(1-391,default1):
<Lastcylinder,+cylindersor+size{K,M,G}(1-391,default391):
+1G
Usingdefaultvalue391
Command(mforhelp):
w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
(3)以上为LVM的准备工作,下面开始创建PV(物理卷)
[root@linux~]#pvcreate/dev/sdd1/dev/sde /dev/md1
Writingphysicalvolumedatatodisk"/dev/sdd1"
Physicalvolume"/dev/sdd1"successfullycreated
Writingphysicalvolumedatatodisk"/dev/sde"
Physicalvolume"/dev/sde"successfullycreated
Writingphysicalvolumedatatodisk"/dev/md1"
Physicalvolume"/dev/md1"successfullycreated
检查下我们创建的PV
[root@linux~]#pvdisplay
---Physicalvolume---
PVName /dev/sda2
VGName vg_linux
PVSize 19.51GiB/notusable3.00MiB
Allocatable yes(butfull)
PESize 4.00MiB
TotalPE 4994
FreePE 0
AllocatedPE 4994
PVUUID 2z4spR-uuLD-2xxo-jt8E-T4IT-UTYw-b1mSLZ
"/dev/md1"isanewphysicalvolumeof"3.00GiB"
---NEWPhysicalvolume---
PVName /dev/md1
VGName
PVSize 3.00GiB
Allocatable NO
PESize 0
TotalPE 0
FreePE 0
AllocatedPE 0
PVUUID 0pbqMq-0aLE-T9di-R1x0-Cnw6-eVq1-r32nLz
"/dev/sdd1"isanewphysicalvolumeof"1.01GiB"
---NEWPhysicalvolume---
PVName /dev/sdd1
VGName
PVSize 1.01GiB
Allocatable NO
PESize 0
TotalPE 0
FreePE 0
AllocatedPE 0
PVUUID IbEbR0-252n-F2iH-R8ec-2UzS-hXkC-nvag82
"/dev/sde"isanewphysicalvolumeof"3.00GiB"
---NEWPhysicalvolume---
PVName /dev/sde
VGName
PVSize 3.00GiB
Allocatable NO
PESize 0
TotalPE 0
FreePE 0
AllocatedPE 0
PVUUID wktULd-Bo1W-KHEt-hj4y-SgJb-DOno-2tDXnD
从以上结果查看,和我们预计的结果完全相同。
创建PV的过程相当于为设备设置类型为LVM(LVM的类型标示为0X8e),也是对设备初始化的过程。
(4)在PV的基础上创建VG(卷组)
[root@linux~]#vgcreateVG123/dev/sdd1/dev/sde/dev/md1
#创建一个名为VG123的卷组,卷组名称可随便设置,习惯使用大写字母加数字的形式
Volumegroup"VG123"successfullycreated
创建卷组就是创建一个lvm资源池,把所有可用的pv资源都整合到一个资源池VG123中
验证:
[root@linux~]#vgdisplay
---Volumegroup---
VGName VG123
SystemID
Format lvm2
MetadataAreas 3
MetadataSequenceNo 1
VGAccess read/write
VGStatus resizable
MAXLV 0
CurLV 0
OpenLV 0
MaxPV 0
CurPV 3
ActPV 3
VGSize 7.00GiB
PESize 4.00MiB
TotalPE 1792
AllocPE/Size 0/0
Free PE/Size 1792/7.00GiB
VGUUID YckyGK-ly10-DIh9-31Nu-Fh9U-q6Oe-vzETjK
以上信息说明创建成功,看下VGSize正好是/dev/sdd1、/dev/md1、/dev/sde大小之和,这里面PE的大小是4M,如果想设置这个值,可以在创建VG的时候加上-s并指定大小
(5)有了资源池,就要从里面取出一部分资源进行使用,即创建LV(逻辑卷)
[root@linux~]#lvcreate -L1.5G-nwwwVG123
Logicalvolume"www"created
说明:
-L指定创建LV大小
-l指定创建LV的PE数量
-nLV的名字
上面命令的意思是:
从VG123中分出1.5G的空间给www使用
看下我们创建的LV信息
---Logicalvolume---
LVName /dev/VG123/www
VGName VG123
LVUUID Lj6xM5-FH3y-G1o4-sR0j-3XCW-8Id0-WiWna9
LVWriteAccess read/write
LVStatus available
#open 0
LVSize 1.50GiB
CurrentLE 256
Segments 1
Allocation inherit
Readaheadsectors auto
-currentlysetto 256
Blockdevice 253:
2
从中可以看到LV的路径,方便我们稍后格式化和挂载。
(6)格式化分区
即时创建了LV我们还是不能使用的,还需要格式化为一定的文件系统
[root@linux~]#mkfs.ext4/dev/VG123/www
mke2fs1.41.12(17-May-2010)
文件系统标签=
操作系统:
Linux
块大小=4096(log=2)
分块大小=4096(log=2)
Stride=0blocks,Stripewidth=0blocks
65536inodes,262144blocks
13107blocks(5.00%)reservedforthesuperuser
第一个数据块=0
Maximumfilesystemblocks=268435456
8blockgroups
32768blockspergroup,32768fragmentspergroup
8192inodespergroup
Superblockbackupsstoredonblocks:
32768,98304,163840,229376
正在写入inode表:
完成
Creatingjournal(8192blocks):
完成
Writingsuperblocksandfilesystemaccountinginformation:
完成
Thisfilesystemwillbeautomaticallycheckedevery38mountsor
180days,whichevercomesfirst. Usetune2fs-cor-itooverride.
因为我安装的支持中文的系统,所以部分信息显示的是中文
(7)挂载
[root@linux~]#mkdir/www
[root@linux~]#mount/dev/VG123/www /media/
[root@linux~]#df-h
文件系统 容量 已用 可用已用%%挂载点
/dev/mapper/vg_linux-lv_root 18G 2.0G 15G 12%/
tmpfs 504M 0 504M 0%/dev/shm
/dev/sda1 485M 31M 430M 7%/boot
/dev/mapper/VG123-www 1008M 34M 924M 4%/www
把挂载信息添加到fstab中,以便下次重启可以自动挂载
/dev/VG123/www/wwwext4defaults00
经过以上的创建过程就可以使用这个挂载点了,/www可以和其他分区一样使用了。
对于LVM还有其他管理操作包括增加容量,减小容量,删除LVM,快照等,下文会继续说明
依然以前文中的虚拟机环境为大家演示在Centos6.2(与redhat enterpriselinux6.2内核版本号相同)。
大多数的linux爱好者都喜欢在命令行下工作,尽管Centos6.2的图形程序已经很成熟,并且也比之前版本稳定的多,但我们还是相信命令行,下面开始:
先看下我们前文中创建的LVM:
[root@linux~]#vgdisplay
---Volumegroup---
VGName VG123
SystemID
Format lvm2
MetadataAreas 3
MetadataSequenceNo 3
VGAccess read/write
VGStatus resizable
MAXLV 0
CurLV 1
OpenLV 1
MaxPV 0
CurPV 3
ActPV 3
VGSize 7.00GiB
PESize 4.00MiB
TotalPE 1792
AllocPE/Size 512/2.00GiB
Free PE/Size 1280/5.00GiB
VGUUID YckyGK-ly10-DIh9-31Nu-Fh9U-q6Oe-vzETjK
再看下LV
[root@linux~]#lvdisplay
---Logicalvolume---
LVName /dev/VG123/www
VGName VG123
LVUUID Lj6xM5-FH3y-G1o4-sR0j-3XCW-8Id0-WiWna9
LVWriteAccess read/write
LVStatus available
#open 1
LVSize 1.00GiB
CurrentLE 256
Segments 1
Allocation inherit
Readaheadsectors auto
-currentlysetto 256
Blockdevice 253:
2
从以上结果中可以看出LV(逻辑卷)只用了