天天看点

RHEL7 逻辑卷管理

-- rhel7上逻辑卷的管理

当用户根据实际情况需要对分区增加、减少等调整时,经常会受磁盘“灵活性”的限制,很不方便。

逻辑卷管理器则是在磁盘分区与文件系统之间添加的逻辑层,提供一个抽象的卷组,使得管理者可以忽略底层磁盘布局,

从而实现分区的灵活动态调整。(在rhel7以上系统已经默认启动lvm机制)

物理卷(pv,physical volume): 整个硬盘设备或使用fdisk命令建立的硬盘分区;

卷组(vg,volume group): 由一个或多个物理卷(pv)组成的整体;

逻辑卷(lv,logical volume): 从卷组(vg)中切割出的空间来用于创建文件系统,大小由pe的个数决定;

基本单元(pe,physical extent):默认为4mb的基本块。

=============================================================

功能/命令  物理卷管理    卷组管理     逻辑卷管理

  扫描      pvscan       vgscan        lvscan

  显示      pvdisplay  vgdisplay     lvdisplay

  建立      pvcreate     vgcreate      lvcreate

  删除      pvremove     vgremove      lvremove

  扩展      ---          vgextend      lvextend

--------------------------------------------------------------------------------------------------------------

-- redhat7 配置 lvm (ahern)

添加磁盘,对磁盘进行分区,对要做lvm的分区,选择类型为8e(即为linux lvm),保存分区表;

fdisk /dev/sdb  --> m->n->p->w

1、创建一个物理卷组

# pvcreate /dev/sdb1

# pvscan (查看物理卷组命令)

# pvremove /dev/sdb1 (删除物理卷组命令)

2、创建一个逻辑卷组

# vgcreate vgu01 /dev/sdb1 (默认pe为4m)

# vgcreate –s 8m vgu01  /dev/sdb1 (可在创建时指定pe大小为8m)

# vgdisplay vgu01 (查看逻辑卷组命令)

# vgremove vgu01  (删除逻辑卷组命令)

# vgextend vgu01 /dev/sdb2 (增加物理卷)

# vgreduce vgu01 /dev/sdb2 (删除物理卷)

3、生成逻辑卷 lv

# lvcreate –l 10g –n lvu01 vgu01 (创建大小为 10g 的分区 lv01)

# lvcreate -l 1278 -n lvu01 vgu01    (ok 5g)

# lvcreate –l 200 –n /dev/vgu01/lvu01    (创建大小为200个pe大小的分区/dev/vg0/lv01(即200x4m))

# lvscan (查看逻辑分区)

4、格式化分区(格式化后 mount 即可正常使用)

# mkfs.xfs /dev/vgu01/lvu01

# mkfs -t ext4 /dev/vgu01/lvu01

5、创建挂载点 (挂载和卸载)   

# mkdir /u01

# mount /dev/vgu01/lvu01 /u01 (挂载)

# vi /etc/fstab (永久挂载)

/dev/vgu01/lvu01        /u01 xfs     defaults        0 0

# df -ht (查看)

6、扩展分区大小

# lvextend –l +5g –n /dev/vgu01/lvu01 (增加5g)

# lvextend -l +1278 -n /dev/vgu01/lvu01 (增加5g)

# xfs_growfs /dev/vgu01/lvu01    (调整xfs格式分区大小: 虽然xfs文件系统只支持增加,不支持减少。但并不是说在xfs系统文件下不能减小,只是减小后,需要重新格式化才能挂载上。这样原来的数据就丢失了!)

# lvextend –l +50 –n /dev/vgu01/lvu01 (增加50个pe)

# resize2fs /dev/vgu01/lvu01 -l 300m (调整ext4格式分区大小)

# lvreduce –l 300m –n /dev/vgu01/lvu01  (减小分区到300m(需先停用分区))

-- oel 6.10

# lvresize -l +1048572 /dev/volgroup/lv_u01

# resize2fs /dev/volgroup/lv_u01

7、停用启用分区

# lvchange –an /dev/vgu01/lvu01 (停用lv01分区)

# lvchange –ay /dev/vgu01/lvu01 (启用lv01分区)

8、逻辑卷容量扩展和减少

逻辑卷的容量扩展

# umount /dev/vgu01/lvu01 (umount要扩容的逻辑卷)

# lvextend -l 1g /dev/vgu01/lvu01 (将 lvu01 扩展到1g)

# e2fsck -f /dev/vgu01/lvu01 (检查磁盘完整性) 

# resize2fs /dev/vgu01/lvu01 (重置磁盘容量)

# mount /dev/vgu01/lvu01 /u01    (重新 mount)

逻辑卷的容量减少

# lvreduce -l 500m /dev/vgu01/lvu01 (将 lvu01 减少到500m)

9、快照功能

lvm的逻辑卷具有快照功能可以将逻辑卷的数据保存为备份、以及快速的数据恢复。

# lvcreate -l 150m -s n snap /dev/vgu01/lvu01    (建立一个150m,名称为snap的快照)

# lvcreate –l 40m –n /dev/vgu01/lvu01_snap –s /dev/vgu01/lvu01 (创建快照(设置大小为总理的20%))

# lvremove /dev/vgu01/lvu01_snap (删除快照)

10、数据迁移

# pvmove –i 3 /dev/sdb1 /dev/sdb2  (将sdb1数据迁到sdb2上,3秒刷新一次)

11、查看 lvm 的命令

pvs,vgs,lvs,pvdisplay,vgdisplay,lvdisplay

12、逻辑卷失效后激活逻辑卷

当找路劲下不到逻辑卷,查看逻辑卷的时候设备变成了inactive状态的问题解决步骤如下:

查看pv -> 查看vg -> 查看lvm -> lvminactive问题解决

-- one.查看pv

命令:pvdisplay

可以看到pv 名称、大小、总大小、剩余空间大小、vg 名称

-- two.查看vg

命令:vgdisplay

可以看到vg名称、格式、大小、总大小、剩余大小

-- three.查看lvm

命令:lvdisplay、lvscan

所有lv名称,状态、大小,这里可以看到有个lvm状态是not available。

同时也可以从lvscan命令扫描lvm看到,lvm状态是inactive。

-- four.解决

激活vg 命令 vgchange 激活后挂载即可

[root@rac01 ~]# vgchange -ay vg名(vgu01)

4 logical volume(s) in volume group "vg名(vgu01)" now active

使用 lvscan 查看状态

-- 附lvm操作的相关命令

-- 物理卷命令

pvcreate    创建lvm物理卷

pvdisplay   显示已创建的物理卷信息

pvchange    设置pv的性能,允许或拒绝从这个磁盘上分配置另外的pe。

pvmove    在一个卷组中从源到目的移动已经分配的pe

pvremove 删除一个物理卷(也就是从物理卷中删除一个lvm标签)

-- 卷组命令

vgcreate    创建卷组

vgdisplay    显示卷组的信息

vgchange    激活或者撤消卷组,允许卷组使用或不使用quorum来挂载

vgchange -a y 激活所有卷组 (开机执行,redhat可在/etc/rc.d/rc.sysinit系统启动初始化脚本里可以找到)

vgchange -a n 关闭所有卷组(提示:必须在umount所有的文件系统后,才能成功执行

vgextend    通过添加磁盘扩充卷组

vgreduce    删除物理卷缩减卷组,vgscan 扫描所有磁盘寻找卷组

vgsync      同步镜像

remove      删除卷组

vgexport    从系统中删除一个卷组,但不修改在基于物理卷的信息

vgimport    通过扫描使用vgexport命令输出的物理卷在系统中增加一个

vgcfgbackup 保存卷组的配置信息,记住一个卷组有一个或多个物理卷组成

vgcfgrestore 恢复卷的配置信息

vgscan 读取系统中创建的所有卷组

-- 逻辑卷命令

lvcreate    生成逻辑卷

lvdisplay 显示逻辑卷的信息

lvchange    改变逻辑卷的特性,包括可用性、调度策略、权限、块重定位、分配策略、镜像缓存的可用性lvextend 增加逻辑卷的空间

extendfs 扩展文件系统的大小

lvreduce 减少逻辑卷的空间

lvremove 删除逻辑卷

lvsplit    分割镱像的逻辑卷

lvmerge    合并lvsplit过的逻辑卷

lvsync    同步逻辑卷

lvmmigrate 在一个分区中为逻辑卷迁移准备一个root文件

lvlnboot    用来建立root,primary swap ,or dump逻辑卷

lvlnboot    删除lvlnboot建立的逻辑卷

-- 其他命令

fdisk -l 查看系统中都认到了那些物理硬盘

mkfs 基于逻辑卷创建一个相应类型的文件系统

mkdir -p $mount_piont 创建一个挂载目录,创建好的文件系统位于:/dev/$create_vg_name/$lv_name

mount /dev/$create_vg_name/$lv_name $mount_piont 挂载文件系统

继续阅读