小知识:linux下磁盘管理之利器 lvm使用介绍

一、LVM 简介

  LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制。先介绍几个有关LVM的名词

   1、PV(物理卷)可以是一个磁盘,一个分区。由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).

   2、VG(卷组)多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创LV(逻辑卷)才可以使用。VG上可以创建多个LV。

   3、PE(物理盘区)就像我们之前学习的磁盘的block块,默认是4MB。

   4、LV(逻辑卷) 是建立在卷组之上的一个可用空间。有物理边界和逻辑边界两种边界。

二、相关命令介绍

 1、物理卷PV

      pvcreate   创建pv               例:pvcreate /dev/sda1

      pvs        查看pv信息           例:直接在命令行里输入pvs

      pvdisplay  查看pv详细信息       例:pvcreate /dev/sda1

      pvmove     将pv数据移动到其他pv 例:pvmove /dev/sda1 /dev/sda4

      pvremove   将pv删除             例:pvremove /dev/sda1

 2、卷组VG

    2.1 创建、查看、删除vg

      vgcreate   创建vg               例:vgcreate myvg  /dev/sda{m,n}

      vgs        查看vg信息           例:直接在命令行里输入vgs

      vgdisplay  查看vg详细信息       例:vgdisplay myvg

      vgremove   将vg删除             例:vgremove myvg

   2.2 扩展vg

首先准备好一个PV;

   然后使用vgextend命令即可完成扩展;

   格式: vgextend VG_NAME /PATH/TO/PV

         vgextend myvg /dev/sdb2 扩展myvg卷组,把/dev/sda2加进去

   2.3 缩减vg

      1)确定要移除的PV;

  2)将此PV上的数据转移至其它PV;

 pvmove /path/to/pv

  3)从卷组中将此PV移除;

    格式:vgreduce VG_NAME /PATH/TO/PV

  vgreduce myvg /dev/sdb2 缩减myvg卷组,把/dev/sda2去掉

 3  逻辑卷LV

    3.1 创建、查看、删除lv

      lvcreate   创建lv               例:lvcreate lv1 /dev/myvg

      lvs        查看lv信息           例:直接在命令行里输入lvs

      lvdisplay  查看lv详细信息       例:vgdisplay lv1

      lvremove   将lv 移除            例:lvremove  /dev/myvg/lv1 

   3.2  扩展lv

确定扩展多大

   确定当前逻辑卷所在的卷组有足够的空闲空间;

    扩展:

1、物理边界

lvextend -L [+]SIZE /path/to/lv

2、逻辑边界

resize2fs /path/to/device

3.3  缩减lv

确定缩减的大小,但前提是至少能容纳原有的所有数据。

缩减:

1)卸载并强行检测文件系统;

e2fsck -f 

2)逻辑边界

resize2fs /path/to/device SIZE

3)物理边界

lvreduce -L [-]SIZE /path/to/lv

 4、快照卷

1) 生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;

2) 快照卷应该是只读的;

3) 跟原卷在同一卷组内;

    lvcreate

         -L    指定快照卷的大小

         -s    创建快照卷

         -p r  创建的快照卷为只读访问

    格式:

        lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv

三、lv之示例

1、创建一个分区

复制代码

代码如下:

[root@stau11 ~]# fdisk -l //查看分区的情况 

[root@stau11 ~]# fdisk /dev/sda //进行分区 

Command (m for help): n //n为添加一个分区,p查看分区 

First cylinder (2898-10443, default 2898): //按【Enter】键决定 

Using default value 2898 //起始柱面选择默认 值 

Last cylinder or +size or +sizeM or +sizeK (289810443, default 10443): +2G // 给2G的大小 

Command (m for help): t //更改分区类型 

Partition number (1-5): 5 //选着分区 

Hex code (type L to list codes): l //分区类型列表 

Hex code (type L to list codes):8e //将新添加的分区标注成lvm

Command (m for help): p //查看分区表 

/dev/sda5 2756 2999 1959898+ 8e Linux LVM 

Command (m for help): w //保存 

[root@localhost ~]# partprobe /dev/sda //是系统识别分区(代替重启) 

[root@localhost ~]# mkfs.ext3 /dev/sda5 //格式化新添加的分区

2、PV的创建

复制代码

代码如下:

[root@localhost ~]# pvcreate /dev/sda5 //创建pv 

Writing physical volume data to disk “/dev/sda5”

Physical volume “/dev/sda5” successfully created 

[root@localhost ~]# pvs //查看当前pv的信息 

PV VG Fmt Attr PSize PFree 

/dev/sda5 lvm2 a– 1.87G 1.87G 

3、VG的创建

复制代码

代码如下:

[root@localhost ~]# vgcreate vg0 /dev/sda5 //vg0为当前vg的名 

Volume group “vg0” successfully created 

[root@localhost ~]# vgs //查看vg的信息 

VG #PV #LV #SN Attr VSize VFree 

vg0 1 0 0 wz–n- 1.87G 1.87G

4、lv的创建

复制代码

代码如下:

[root@localhost ~]# lvcreate -L 500M -n lv01 vg0 

Logical volume “lv01” created 

[root@localhost ~]# lvs //查看lv的信息 

LV VG Attr LSize Origin Snap% Move Log Copy% Convert 

lv01 vg0 -wi-a- 500.00M 

You have mail in /var/spool/mail/root 

[root@localhost ~]# mkfs.ext3 /dev/vg0/lv01 //格式化 

lvm的使用

5、lv的增大

复制代码

代码如下:

[root@localhost ~]# lvextend -L +300M /dev/vg0/lv01 //(原来lv大小500M ,拉伸分区到 800M) Extending logical volume lv01 to 800.00 MB 

Logical volume lv01 successfully resized 

[root@localhost ~]# resize2fs /dev/vg0/lv01 //拉伸文件系统 

[root@localhost ~]# lvs 

LV VG Attr LSize Origin Snap% Move Log Copy% Convert 

lv01 vg0 -wi-ao 800.00M //大小变成了800M

6、lv的减小

复制代码

代码如下:

# umount /dev/vg0/lv01 //卸载逻辑卷/dev/vg0/lv01 

# df -h //查看 

# e2fsck -f /dev/vg0/lv01 //磁盘校验 

# resize2fs /dev/vg0/lv01 500M //回缩文件系统到 500M 

# lvreduce -L 500M /dev/vg0/lv01 //回缩分区到 500M 

WARNING: Reducing active logical volume to 500.00 MB 

THIS MAY DESTROY YOUR DATA (filesystem etc.) 

Do you really want to reduce lv01? [y/n]: y 

# lvs 

LV VG Attr LSize Origin Snap% Move Log Copy% Convert 

lv01 vg0 -wi-a- 500.00M //此时已变成500M大小 

# mount /dev/vg0/lv01 /mnt/lv01 //重新挂载分区 

# df -h //查看 

# ls /mnt/lv01 //查看文件

四、lvm的系统快照

1、挂载lvm

复制代码

代码如下:

[root@localhost ~] # mount /dev/vg0/lv01 /mnt/lv01 

[root@localhost ~]# cd /mnt/lv01 

[root@localhost lv01]# touch {a,b,c}{a,b,c} 

[root@localhost lv01]# ls 

aa ab ac ba bb bc ca cb cc lost+found lv.file restoresymtable 

2、为lvm创建快照

复制代码

代码如下:

[root@localhost lv01]# lvcreate -L 64M -s -n lv-backup /dev/vg0/lv01 

Logical volume “lv-backup” created 

3、挂载快照

复制代码

代码如下:

[root@localhost lv01]# mkdir /mnt/lv-backup 

[root@localhost mnt]# mount -o ro /dev/vg0/lv-backup /mnt/lv-backup/ 

4、备份快照

复制代码

代码如下:

[root@localhost tmp]# dump -0u -f /tmp/lv-backup.dump /mnt/lv-backup/ //备份 

DUMP: Date of this level 0 dump: Sun Nov 11 14:53:31 2012

DUMP: Dumping /dev/mapper/vg0-lv–backup (/mnt/lv-backup) to /tmp/lv-backup.dump 

5、删除快照

复制代码

代码如下:

[root@localhost tmp]# umount /mnt/lv-backup/ 

[root@localhost tmp]# lvremove /dev/vg0/lv-backup 

Do you really want to remove active logical volume lv-backup? [y/n]: y 

Logical volume “lv-backup” successfully removed 

6、清空/dev/vg0/lv01下得内容

复制代码

代码如下:

[root@localhost tmp]# umount /mnt/lv01 

[root@localhost tmp]# mkfs.ext3 /dev/vg0/lv01 

mke2fs 1.39 (29-May-2006) 

Filesystem label= 

OS type: Linux 

7、lvm的关闭

复制代码

代码如下:

[root@localhost ~]# umount /mnt/lv01 

[root@localhost ~]# lvremove /dev/vg0/lv01 //删除lv 

Do you really want to remove active logical volume lv01? [y/n]: y 

Logical volume “lv01” successfully removed 

[root@localhost ~]# vgchange -a n vg0 //使vg0不具有active标志 

0 logical volume(s) in volume group “vg0” now active 

[root@localhost ~]# vgremove vg0 //删除vg 

Volume group “vg0” successfully removed 

[root@localhost ~]# pvremove /dev/sda5 //删除pv 

Labels on physical volume “/dev/sda5” successfully wiped 
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:安装 unixbench make: *** [pgms/ubgears] Error 1 的解决方法

2023-6-6 2:22:42

建站知识

小知识:linux磁盘格式化与管理知识点总结

2023-6-6 2:39:09

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索