zoukankan      html  css  js  c++  java
  • 逻辑卷----LVM的基础和应用

    逻辑卷管理器

    Logical Volume Manager-------逻辑卷宗管理器、逻辑扇区管理器、逻辑磁盘管理器,是Linux核心所提供的逻辑卷管理(Logical volume management)功能。它在硬盘的硬盘分区之上,又创建一个逻辑层,以方便系统管理硬盘分割系统。

    历史

    最先由IBM开发,在AIX系统上实现,OS/2 操作系统与 HP-UX也支持这个功能。在1998年,Heinz Mauelshagen 根据在 HP-UX 上的逻辑卷管理器,写作出第一个 Linux 版本的逻辑卷管理器。

    LVM基本术语:

    PE:物理卷的最小单位,具有唯一编号的PE是可以被LVM寻址的最小存储单元,默认为4MB
    PV:物理卷,PV处于LVM系统最低层,它可以是整个硬盘,或者与磁盘分区具有相同功能的设备(如RAID),但和基本的物理存储介质相比较,多了与LVM相关管理参数
    VG:卷组,创建在PV之上,由一个或多个PV组成,可以在VG上创建一个或多个“LVM分区”(逻辑卷),功能类似非LVM系统的物理硬盘
    LV:逻辑卷,从VG中分割出的一块空间,创建之后其大小可以伸缩,在LV上可以创建文件系统(如/var,/home)

    优点:可以在服务器不停机的情况下添加和删除磁盘空间
    缺点:创建繁琐

    lvm的基本命令

    逻辑卷的命令也是很丰富的,这里只列出一些常用的命令。
    其实命令就是创建逻辑卷的过程,首先创建逻辑卷必须遵循先有分区才能有物理卷,有了pv物理卷才能创建vg卷组,有了卷组才能创建lv逻辑卷。

    PV:物理卷

    显示pv信息
    pvs:简要pv信息显示
    pvdisplay
    创建pv
    pvcreate /dev/DEVICE
    删除pv
    pvremove /dev/DEVICE

    VG:卷组

    显示卷组
    vgs
    vgdisplay
    创建卷组
    vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName
    PhysicalDevicePath [PhysicalDevicePath...]
    管理卷组
    vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
    vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
    删除卷组
    先做pvmove,再做vgremove

    LV:逻辑卷

    显示逻辑卷
    lvs
    Lvdisplay
    创建逻辑卷
    lvcreate -L #[mMgGtT] -n NAME VolumeGroup
    lvcreate -l 60%VG -n mylv testvg
    lvcreate -l 100%FREE -n yourlv testvg
    删除逻辑卷
    lvremove /dev/VG_NAME/LV_NAME
    重设文件系统大小
    fsadm [options] resize device [new_size[BKMGTEP]]
    resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]
    xfs_growfs /mountpoint

    实验:创建PV组成的大小为15G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

    实验环境:vmware 虚拟机
    centos7
    1.先添加一块硬盘20G的硬盘
    2.刷新磁盘

    使用lsblk查看是否添加成功

    3.给新添加的硬盘划分分区,并指定文件类型--Linux LVM用于逻辑卷使用

    用lsblk命令查看是否分区成功

    3.用刚分区的磁盘创建物理卷pv

    4.创建卷组,并且指定最小pe为16M

    5.创建逻辑卷,指定大小为5G并指定名称为testlv

    可用lvdisplay命令查看详细信息
    6.给新建的逻辑卷创建文件系统

    7.创建/users文件夹,将逻辑卷挂在到/users

  • 相关阅读:
    Falcon
    资源
    资源
    Python的高级Git库 Gittle_python_脚本之家
    How to provide username and password when run "git clone git@remote.git"?
    Python项目自动化部署最佳实践@搜狐 | the5fire的技术博客
    Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
    Scaffold a Flask Project
    git python
    CentOS 删除自带的OpenJDK 和 安装SunJDK
  • 原文地址:https://www.cnblogs.com/luck-pig/p/11917630.html
Copyright © 2011-2022 走看看