您好,欢迎来到思海网络,我们将竭诚为您提供优质的服务! 诚征网络推广 | 网站备案 | 帮助中心 | 软件下载 | 购买流程 | 付款方式 | 联系我们 [ 会员登录/注册 ]
促销推广
客服中心
业务咨询
有事点击这里…  531199185
有事点击这里…  61352289
点击这里给我发消息  81721488
有事点击这里…  376585780
有事点击这里…  872642803
有事点击这里…  459248018
有事点击这里…  61352288
有事点击这里…  380791050
技术支持
有事点击这里…  714236853
有事点击这里…  719304487
有事点击这里…  1208894568
有事点击这里…  61352289
在线客服
有事点击这里…  531199185
有事点击这里…  61352288
有事点击这里…  983054746
有事点击这里…  893984210
当前位置:首页 >> 技术文章 >> 文章浏览
技术文章

Linux下磁盘管理之利器 lvm使用介绍

添加时间:2016-3-3 20:54:57  添加: 思海网络 
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 

关键字:Linux、磁盘管理
分享到:

顶部 】 【 关闭
版权所有:佛山思海电脑网络有限公司 ©1998-2024 All Rights Reserved.
联系电话:(0757)22630313、22633833
中华人民共和国增值电信业务经营许可证: 粤B1.B2-20030321 备案号:粤B2-20030321-1
网站公安备案编号:44060602000007 交互式栏目专项备案编号:200303DD003  
察察 工商 网安 举报有奖  警警  手机打开网站