文档章节

LVM管理:创建、容量调整

r
 rt0
发布于 2016/07/08 00:33
字数 1167
阅读 77
收藏 0

一、LVM简介

        LVM 是逻辑盘卷管理(Logical Volume Manager)的简称,最早是 IBM 为 AIX 研发的存储管理机制。LVM 通过在硬盘和分区之间建立一个逻辑层,可以让多个分区或者物理硬盘作为一个逻辑卷 ( 相当于一个逻辑硬盘 ),提高了磁盘分区管理的灵活性。1998 年,Heinz Mauelshagen 在 Linux 2.4 内核上提供了 Linux 的 LVM 实现。

        LVM 早期多用于服务器,配合存储硬件的 Raid 技术,提供高可靠性,可灵活配置的磁盘分区管理;普通 PC 由于存储容量有限,很少使用这种技术。随着单个磁盘容量的不断扩大和硬盘价格的下降,普通 PC 拥有 TB 级的大容量存储空间逐渐普及,也带来对 PC 上存储管理的需要,LVM 无疑是很好的解决方案。只是普通 PC 用户由于缺少硬件冗余保护,在发生灾难时,通常会发生比较严重的数据损失。好在 LVM 提供了一系列灾难恢复的功能,可以帮助普通 PC 用户尽可能减少损失。

二、创建LVM

一)磁盘分区

[root@ee-o ~]# gdisk /dev/sdb
[root@ee-o ~]# gdisk /dev/sdc

 

二)创建PV

[root@ee-o ~]# pvcreate /dev/{sdb1,sdc1}
[root@ee-o ~]# pvscan 
  PV /dev/sda3    VG centos_ee-o      lvm2 [19.50 GiB / 4.00 MiB free]
  PV /dev/sdb1    VG myvg             lvm2 [1022.00 MiB / 0    free]
  PV /dev/sdc1    VG myvg             lvm2 [1022.00 MiB / 1020.00 MiB free]
  PV /dev/loop0   VG cinder-volumes   lvm2 [20.60 GiB / 20.60 GiB free]
  Total: 4 [42.10 GiB] / in use: 4 [42.10 GiB] / in no VG: 0 [0   ]

 

三)创建VG

[root@ee-o ~]# vgcreate -s 2m myvg  /dev/{sdb1,sdc1}
[root@ee-o ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               1.99 GiB
  PE Size               2.00 MiB   
  Total PE              1533
  Alloc PE / Size       512 / 1.00 GiB
  Free  PE / Size       1021 / 1.99 GiB
  VG UUID               34st9G-FC1B-7dnK-0ZV0-hBSM-yGWg-pK7QkD

 

四)创建LV

[root@ee-o ~]# lvcreate -L 10G -n mglv myvg
[root@ee-o ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                Rey5ZM-SD8C-qMSQ-2hg3-1hXb-7prp-FdNeNa
  LV Write Access        read/write
  LV Creation host, time ee-o, 2016-07-08 08:00:57 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4

 

五)创建文件系统

[root@ee-o ~]# mkfs.xfs /dev/myvg/mylvm
[root@ee-o ~]# mount /dev/myvg/mylv /mnt/

 

三、LVM容量调整

       

     LVM是由下往上建立,即由实体磁盘到逻辑卷轴。因而在调整LVM时必须要根据上下层之间的关系调整。

一)PV调整

[root@ee-o ~]# fdisk /dev/sdb 
[root@ee-o ~]# pvcreate /dev/sdb1  ##增加PV
[root@ee-o ~]# pvremove /dev/sdb1  ##删除PV,前提是此PV没有被VG使用
  Labels on physical volume "/dev/sdb1" successfully wiped

 

二)VG调整

[root@ee-o ~]# vgextend myvg /dev/sdb1
[root@ee-o ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               2.99 GiB
  PE Size               2.00 MiB
  Total PE              1533
  Alloc PE / Size       512 / 1.00 GiB
  Free  PE / Size       1021 / 1.99 GiB
  VG UUID               34st9G-FC1B-7dnK-0ZV0-hBSM-yGWg-pK7QkD
[root@ee-o ~]# vgreduce -a myvg  ##移除没有被占用的PV
  Physical volume "/dev/sdc1" still in use
  Physical volume "/dev/sdd1" still in use
  Removed "/dev/sdb1" from volume group "myvg"
[root@ee-o ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               2.00 GiB
  PE Size               2.00 MiB
  Total PE              1022
  Alloc PE / Size       512 / 1.00 GiB
  Free  PE / Size       510 / 1020.00 MiB
  VG UUID               34st9G-FC1B-7dnK-0ZV0-hBSM-yGWg-pK7QkD

 

三)LV调整

[root@ee-o ~]# lvresize -L +1G /dev/myvg/mylv  ##增加LV容量
[root@ee-o ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                Rey5ZM-SD8C-qMSQ-2hg3-1hXb-7prp-FdNeNa
  LV Write Access        read/write
  LV Creation host, time ee-o, 2016-07-08 08:00:57 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             1024
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4
[root@ee-o ~]# lvresize -L -1G /dev/myvg/mylv   ##减小LV容量
[root@ee-o ~]# lvdisplay /dev/myvg/mylv 
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                Rey5ZM-SD8C-qMSQ-2hg3-1hXb-7prp-FdNeNa
  LV Write Access        read/write
  LV Creation host, time ee-o, 2016-07-08 08:00:57 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:4

 

四、LVM管理常用命令总结

PV   VG   LV  
pvscan 扫描已创建的PV vgcreate 创建VG lvcreate  创建LV
pvcreate 创建PV vgscan  扫描VG lvscan  扫描LV
pvdisplay  显示PV详细信息 vgdisplay  显示VG详细信息 lvdisplay  显示LV详细信息
pvremove 移除PV vgextend  扩大VG lvextend  扩大LV
    vgreduce  减小VG lvreduce  减小LV
    vgremove  删除VG lvremove  删除LV
        lvresize  调整LV大小
更多管理命令输入前两个字母后tab查看。  

© 著作权归作者所有

r

rt0

粉丝 0
博文 6
码字总数 4458
作品 0
长沙
运维
私信 提问
1月2日课程笔记 lvm介绍与实际操作

答疑补充的知识点:1、ctrl+R搜索执行过的命令2、删除文件后如有条件尽快卸载磁盘并用专用恢复工作操作,参考Linux下误删除后的恢复操作(ext3/ext4)请添加链接描述。(这里可看出硬盘最好格...

whytl
2018/01/03
0
0
Linux系统逻辑盘卷管理LVM详细介绍

  一、 前言   每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见...

红薯
2009/05/07
851
1
Linux LVM 的使用详解

摘要: Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链...

Start-up
2012/05/28
0
0
Linux系统逻辑盘卷管理LVM技术详细解析

  一、 前言   每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见...

红薯
2009/05/07
445
0
Linux系统逻辑盘卷管理LVM详细介绍

一、 前言   每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分...

SVD
2016/09/09
14
0

没有更多内容

加载失败,请刷新页面

加载更多

性能优化

js相关 根据js时间线,将js放在最下面加载,先加载DOM,再加载js 懒执行,就是将某些逻辑延迟到使用时在执行。该技术可用于首屏优化,对于某些耗时逻辑并不需要在首屏就使用的,就可以使用懒...

祖达
12分钟前
0
0
websocket通信failed to execute 'send'问题的解决

在建立web socket通信后,发送数据时,出现下图所示现象: 问题代码演示 function TestSockets() { //实例化一个WebSocket对象 var socket = new WebSocket("ws://127.0.0.1:8000/w...

城市之雾
18分钟前
0
0
PHPStorm 如何设置 yaf 代码提示?

下载 php-yaf-doc git clone https://github.com/elad-yosifon/php-yaf-doc.git PHPStorm 如下设置 使用

whoru
19分钟前
0
0
typeorm drop foreign key

1. 问题描述 项目代码中使用typeorm进行mysql的数据操作, 昨天突然部署测试环境发现测试环境数据库的外键都为空了, 导致涉及的整个系统不可用. 2. 问题探究 尝试复现 mysqldump 线上数据, 然...

jimmywa
20分钟前
2
0
好程序员web前端开发测验之css部分

好程序员web前端开发测验之css部分Front End Web Development Quiz CSS 部分问题与解答 Q: CSS 属性是否区分大小写? <p><font size="3">  ul {</font></p> <p><font size="3">  MaRGin:......

好程序员IT
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部