一、LVM简介

LVM 是 Logical Volume Manager(逻辑卷管理)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。

lvm物理与(pv、vg、lv)逻辑对照

  

二、 LVM基本术语

PV

物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

VG

卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

LV

逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

PV:是物理的磁盘分区

VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG中、可以将VG理解为一个仓库或者是几个大的硬盘。

LV:也就是从VG中划分的逻辑分区

三、 安装LVM
      首先确定系统中是否安装了lvm工具,没有安装的话要安装之后才能使用,否则没有命了功能支持,我的是centos6.5默认安装了。如果输入命令没有提示没有查询到就要安装lvm程序啦。

[root@localhost ~]# rpm -qa | grep lvm    查询是否安装lvm

mesa-private-llvm-3.3-0.3.rc3.el6.x86_64

lvm2-libs-2.02.100-8.el6.x86_64

lvm2-2.02.100-8.el6.x86_64

四、实验

实验是划分三个3g的硬盘,演示pv、vg、lv、的创建、扩容、删除

1、添加磁盘用虚拟机添加一个20g的硬盘,此处省略

2、创建分区

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): n    创建主分区

Command action

   e   extended       逻辑分区

   p   primary partition (1-4)

p

Partition number (1-4): 1    第一个分区

First cylinder (1-2610, default 1):  开始块

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +3G   划分3g容量

Command (m for help): t     修改文件类型

Selected partition 1

Hex code (type L to list codes): 8e   文件类型(Linux LVM)

Changed system type of partition 1 to 8e (Linux LVM)

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

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xba762e8d

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         393     3156741   8e  Linux LVM

按此照做分区结果如下

                          分区结果

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         393     3156741   8e  Linux LVM

/dev/sdb2             394         786     3156772+  8e  Linux LVM

/dev/sdb3             787        1179     3156772+  8e  Linux LVM    主分区

/dev/sdb4            1180        2610    11494507+   5  Extended

/dev/sdb5            1180        1572     3156741   8e  Linux LVM    逻辑分区  

3、查看所创建分区系统是否识别到、没有识别到要 partx -a /dev/sdbx直到识别到或者重启系统。

[root@localhost ~]# cat /proc/partitions    查看创建分区

major minor  #blocks  name

   8        0   83886080 sda

   8        1     204800 sda1

   8        2   62914560 sda2

   8        3      39163 sda3

   8        4          1 sda4

   8        5      40131 sda5

   8       16   20971520 sdb

   8       17    3156741 sdb1

   8       18    3156772 sdb2

   8       19    3156772 sdb3

   8       20          1 sdb4

   8       21    3156741 sdb5

4、创建pv 

[root@localhost ~]# pvcreate /dev/sdb{2,3,5}  创建2,3,5三块磁盘的pv

  Physical volume "/dev/sdb2" successfully created

  Physical volume "/dev/sdb3" successfully created

  Physical volume "/dev/sdb5" successfully created

5、创建vg

[root@localhost ~]# vgcreate dd /dev/sdb2   创建名为dd的vg

  Volume group "dd" successfully created

[root@localhost ~]# vgcreate dd /dev/sdb3   增加 vg dd的容量

  A volume group called dd already exists.

[root@localhost ~]# vgcreate ee /dev/sdb3   创建名为ee的vg

  Volume group "ee" successfully created

[root@localhost ~]# vgextend dd /dev/sdb5   给dd这个vg增加容量

 Volume group "dd" successfully extended

root@localhost ~]# vgs       查看创建的vg

  VG   #PV #LV #SN Attr   VSize  VFree

  dd     2   0   0 wz--n-  6.02g 6.02g      创建后dd ee的大小

  ee     1   0   0 wz--n-  3.01g 3.01g

  vg0    1   4   0 wz--n- 59.99g 7.99g

6、创建lv

[root@localhost ~]# lvcreate -L 2G -n yy dd  在dd这个卷组中创建名为yy2g的lv

Logical volume "zz" created

root@localhost ~]# lvs        查看lv

  LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

  yy   dd   -wi-a-----  2.00g                                             

  root vg0  -wi-ao---- 20.00g                                             

  swap vg0  -wi-ao----  2.00g                                             

  usr  vg0  -wi-ao---- 10.00g                                             

  var  vg0  -wi-ao---- 20.00g          

[root@localhost ~]# lvcreate -L 2G -n zz dd   在dd这个卷组中创建名为zz2g的lv

  Logical volume "zz" created

[root@localhost ~]# lvs

  LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

  yy   dd   -wi-a-----  2.00g                                             

  zz   dd   -wi-a-----  2.00g                                             

  root vg0  -wi-ao---- 20.00g                                             

  swap vg0  -wi-ao----  2.00g                                             

  usr  vg0  -wi-ao---- 10.00g                                             

  var  vg0  -wi-ao---- 20.00g 

7、格式化         

[root@localhost ~]# mkfs -t ext4 /dev/dd/zz  格式化lv 

mke2fs 1.41.12 (17-May-2010)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

131072 inodes, 524288 blocks

26214 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=536870912

16 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            

Creating journal (16384 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 38 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

8、挂载

[root@localhost ~]# mount /dev/dd/zz /tmp/mnt      挂载lv

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

[root@localhost mnt]# ls -a

.  ..  lost+found

[root@localhost mnt]# cd /

                           至此lv就可以分配给用户使用啦

四、扩展逻辑卷

1、先确定扩展的目标大小、并确保对应的卷组中有足够的空闲空间可用;

2、扩展物理边界

3、扩展逻辑边界

[root@localhost /]# lvextend -L 4G /dev/dd/zz   对zz物理边界进行在线扩容为4g

  Extending logical volume zz to 4.00 GiB

  Logical volume zz successfully resized

[root@localhost /]# resize2fs  /dev/dd/zz       对zz逻辑边界进行在线扩容为4g

[root@localhost /]# lvs

  LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

  yy   dd   -wi-a-----  2.00g                                             

  zz   dd   -wi-ao----  4.00g        扩容后的显示                                        

  root vg0  -wi-ao---- 20.00g                                             

  swap vg0  -wi-ao----  2.00g                                             

  usr  vg0  -wi-ao---- 10.00g                                             

  var  vg0  -wi-ao---- 20.00g 

root@localhost ~]# mount  查看挂载信息

/dev/mapper/vg0-root on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw)

/dev/sda1 on /boot type ext4 (rw)

/dev/mapper/vg0-usr on /usr type ext4 (rw)

/dev/mapper/vg0-var on /var type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

/dev/mapper/dd-zz on /tmp/mnt type ext4 (rw)    查看挂载信息

五、缩小逻辑卷

缩减很危险!!!!

缩减要离线

1、先确定缩减后的目标大小;并确保对应的目标逻辑卷大小中有足够的空间可容纳原有所有数据;

2、先强制检测文件系统,并要执行强制检测 

3、缩减逻辑边界

4、缩减物理边界

[root@localhost ~]# umount /tmp/mnt    卸载

[root@localhost ~]# e2fsck -f /dev/dd/zz  强制检测文件系统,并要执行强制检测

e2fsck 1.41.12 (17-May-2010)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/dd/zz: 11/131072 files (0.0% non-contiguous), 25388/524288 blocks 信息显示

[root@localhost /]# resize2fs /dev/dd/zz 3G    离线缩减逻辑 lv zz为3g

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/dd/yy to 786432 (4k) blocks.

The filesystem on /dev/dd/yy is now 786432 blocks long.

[root@localhost ~]# lvreduce -L 3G /dev/dd/zz  离线缩减物理 lv zz为3g

  WARNING: Reducing active logical volume to 3.00 GiB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce zz? [y/n]: y   提示

  Reducing logical volume zz to 3.00 GiB

  Logical volume zz successfully resized

[root@localhost ~]# lvs   查看缩减后的信息

  LV   VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

  yy   dd   -wi-a-----  2.00g                                             

  zz   dd   -wi-a-----  3.00g                                             

  root vg0  -wi-ao---- 20.00g                                             

  swap vg0  -wi-ao----  2.00g                                             

  usr  vg0  -wi-ao---- 10.00g                                             

  var  vg0  -wi-ao---- 20.00g 

这样就实现了lv的缩减啦

然后在挂载就可以使用啦

转载于:https://blog.51cto.com/1983939925/1438708

LINUX   LVM 硬盘管理及LVM的扩容相关推荐

  1. Linux LVM硬盘管理及LVM扩容

    一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集 ...

  2. openstack块存储服务基础:Linux LVM硬盘管理及LVM扩容

    在Openstack中,有3个与存储相关组件:Swift--提供对象存储(object storage),Glance--提供虚机镜像(image)存储和管理,Cinder--提供块存储(block ...

  3. lvm硬盘管理及LVM扩容

    1,创建分区 [root@host-10-158-172-44 ~]# fdisk /dev/vda Welcome to fdisk (util-linux 2.23.2). Changes wil ...

  4. 麒麟操作系统新硬盘创建 LVM 硬盘管理

    云主机主硬盘空间不够,于是新购了一块硬盘挂上去,但是通过df命令查看,挂载空间还是没有什么变化?别急,这是因为新硬盘还没有经过一系列初始化操作,甚至连分区都没有. 传统的硬盘挂载步骤大概是:在物理磁盘 ...

  5. 2019-8-23 [Linux] 12.硬盘管理 文件系统 硬盘df展示数据 du统计目录和文件大小 mount使用挂载光驱、硬盘、U盘

    文章目录 11.硬盘管理 11.1 硬盘概述 10.1.2 linux的硬盘数据读取方式 10.1.3 什么是磁道呢? 10.1.4 那扇区又是十么呢? 10.1.5 柱面又是什么呢? 10.2. 文 ...

  6. Linux常用硬盘管理命令详解!

    对于Linux系统来说,学习使用命令是非常重要的,因为其所有的操作都是需要执行命令来完成的,对于运维人员来说,会需要经常对硬盘进行管理,以便确保硬盘的可利用率,那么硬盘管理相关的命令都有哪些呢?以下是 ...

  7. linux的硬盘管理df和du

    1. 硬盘概述 硬盘是计算机的主要外部存储设备.计算机中的存储设备种类非常多,常见的主要有光盘.硬盘.U 盘等,甚至还有网络存储设 备 SAN.NAS 等,不过使用最多的还是硬盘. 如果从存储数据的介 ...

  8. linux逻辑卷管理(LVM )

    逻辑卷管理的技术可理解为,将单个或多个物理磁盘分区(PV物理卷)组成逻辑卷组(VG),再把卷组分成多个逻辑卷(LV),主要特点是,在不影响原来数据情况下可简易的扩充磁盘的大小(缩小硬盘空间可能会导至数 ...

  9. linux中lvm卷管理

    一.LVM逻辑盘卷管理 (1)简介 LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层, ...

最新文章

  1. C语言单链表读入文件表妹,电面|LOFTER(乐乎) - 让兴趣,更有趣
  2. linux用户登陆后无法加在.bashrc
  3. 性能测试的“2-5-10原则”
  4. 查看IIS上面的每个网站分别用了多少内存
  5. 想上云,请评估与思考上云目的
  6. linux如何查看mysql是否启动
  7. #35 string(缩点+动态规划)
  8. Java 数据库进度条_java进度条
  9. html无序列表中的正方形点点,CSS 有序或者无序列表的前面的标记 list-style-type 属性的实现...
  10. Spring(1)—初识
  11. informatica 常见问题及解决方案
  12. System.IO.FileNotFoundException 找不到指定的模块问题解决
  13. ognl表达式的小知识点
  14. uva 1637 Double Patience
  15. python编程*三角形图形创意图片_Python图形编程探索系列-04-网上图片与标签组件的结合...
  16. CSS3---3.相对父元素的伪类
  17. 操作系统原理基础知识
  18. python爬取微博评论点赞数_爬取新浪微博评论及点赞数并存储为excel的.csv格式
  19. 用标签打印软件将Excel中的多列数据合并打印
  20. ads的designguide打不开报错

热门文章

  1. 互联网快讯:百度发布青春版“Wonder”App,;极米2021双十二圆满收官;华为笔记本新品将发布
  2. 数据分析-Jupyter,Matplotlib介绍-Matplotlib绘制图形
  3. 2014高考英语听力,男约女终于成功了
  4. 微信扫码 android sdk,H5中js-sdk扫码功能,Android手机微信中无法调用扫码?
  5. 含有中文的图片正常显示(微信小程序)
  6. 【Web基础】用户登录注册案例
  7. 物联网开发笔记(9)- 使用Wokwi仿真MicroPython on ESP32开发板实现温度和湿度检测并使用屏幕显示
  8. 2021易烊千玺高考成绩查询,易烊千玺高考成绩公布,很多诋毁他的人,瞬间都哑口无言...
  9. 还在为不知道怎么学习网络安全而烦恼吗?这篇文带你从入门级开始学习网络安全—认识网络安全
  10. 高可用免费代理ip爬取实战