现在位置:首页 » linux技术部 » 如何使用命令 vgcreate、lvcreate 和 lvextend 管理和创建 LVM

如何使用命令 vgcreate、lvcreate 和 lvextend 管理和创建 LVM

时间:2016-7-25 | 作者:楼台听枫雨 | 分类:linux技术部 | 评论(0) | 浏览(3522) | uedbet最新网站: centos7 LVM

在安装 Linux 系统的时候要做的最重要的决定之一便是给系统文件、home 目录等分配空间。在这个地方犯了错,再要扩大空间不足的分区,那样既麻烦又有风险。

逻辑卷管理 (LVM)相较于传统的分区管理有许多优点,已经成为大多数(如果不能说全部的话) Linux 发行版安装时的默认选择。LVM 最大的优点应该是能方便的按照你的意愿调整(减小或增大)逻辑分区的大小。

LVM 的组成结构:

  • 把一块或多块硬盘或者一个或多个分区配置成物理卷(PV)。
  • 一个用一个或多个物理卷创建出的卷组(VG)。可以把一个卷组想象成一个单独的存储单元。
  • 在一个卷组上可以创建多个逻辑卷。每个逻辑卷相当于一个传统意义上的分区 —— 优点是它的大小可以根据需求重新调整大小,正如之前提到的那样。
  • 本文,我们将使用三块 8 GB 的磁盘(/dev/sdb/dev/sdc 和 /dev/sdd)分别创建三个物理卷。你既可以直接在整个设备上创建 PV,也可以先分区在创建。

    在这里我们选择第一种方式,如果你决定使用第二种(可以参考本系列第四讲:创建分区和文件系统)确保每个分区的类型都是8e

    创建物理卷,卷组和逻辑卷

    要在 /dev/sdb/dev/sdc 和 /dev/sdd上创建物理卷,运行:

    1. # pvcreate /dev/sdb /dev/sdc /dev/sdd

    你可以列出新创建的 PV ,通过:

    1. # pvs

    并得到每个 PV 的详细信息,通过:

    1. # pvdisplay /dev/sdX

    X 即 b、c 或 d)

    如果没有输入 /dev/sdX ,那么你将得到所有 PV 的信息。

    使用 /dev/sdb/dev/sdc创建卷组 ,命名为vg00(在需要时是可以通过添加其他设备来扩展空间的,我们等到说明这点的时候再用,所以暂时先保留/dev/sdd`):

    1. # vgcreate vg00 /dev/sdb /dev/sdc

    就像物理卷那样,你也可以查看卷组的信息,通过:

    1. # vgdisplay vg00

    由于 vg00 是由两个 8 GB 的磁盘组成的,所以它将会显示成一个 16 GB 的硬盘:

    LVM 卷组列表

    LVM 卷组列表

    当谈到创建逻辑卷,空间的分配必须考虑到当下和以后的需求。根据每个逻辑卷的用途来命名是一个好的做法。

    举个例子,让我们创建两个 LV,命名为 vol_projects (10 GB) 和 vol_backups (剩下的空间), 在日后分别用于部署项目文件和系统备份。

    参数 -n 用于为 LV 指定名称,而 -L 用于设定固定的大小,还有 -l (小写的 L)在 VG 的预留空间中用于指定百分比大小的空间。

    1. # lvcreate -n vol_projects -L 10G vg00
    2. # lvcreate -n vol_backups -l 100%FREE vg00

    和之前一样,你可以查看 LV 的列表和基础信息,通过:

    1. # lvs

    或是查看详细信息,通过:

    1. # lvdisplay

    若要查看单个 LV 的信息,使用 lvdisplay 加上 VG 和 LV 作为参数,如下:

    1. # lvdisplay vg00/vol_projects

    逻辑卷列表

    逻辑卷列表

    如上图,我们看到 LV 已经被创建成存储设备了(参考 LV Path 那一行)。在使用每个逻辑卷之前,需要先在上面创建文件系统。

    这里我们拿 ext4 来做举例,因为对于每个 LV 的大小, ext4 既可以增大又可以减小(相对的 xfs 就只允许增大):

    1. # mkfs.ext4 /dev/vg00/vol_projects
    2. # mkfs.ext4 /dev/vg00/vol_backups

    我们将在下一节向大家说明,如何调整逻辑卷的大小并在需要的时候添加额外的外部存储空间。

    调整逻辑卷大小和扩充卷组

    现在设想以下场景。vol_backups 中的空间即将用完,而 vol_projects 中还有富余的空间。由于 LVM 的特性,我们可以轻易的减小后者的大小(比方说 2.5 GB),并将其分配给前者,与此同时调整每个文件系统的大小。

    幸运的是这很简单,只需:

    1. # lvreduce -L -2.5G -r /dev/vg00/vol_projects
    2. # lvextend -l +100%FREE -r /dev/vg00/vol_backups

    减小逻辑卷和卷组

    减小逻辑卷和卷组

    在调整逻辑卷的时候,其中包含的减号 (-) 或加号 (+) 是十分重要的。否则 LV 将会被设置成指定的大小,而非调整指定大小。

    有些时候,你可能会遭遇那种无法仅靠调整逻辑卷的大小就可以解决的问题,那时你就需要购置额外的存储设备了,你可能需要再加一块硬盘。这里我们将通过添加之前配置时预留的 PV (/dev/sdd),用以模拟这种情况。

    想把 /dev/sdd 加到 vg00,执行:

    1. # vgextend vg00 /dev/sdd

    如果你在运行上条命令的前后执行 vgdisplay vg00 ,你就会看出 VG 的大小增加了。

    1. # vgdisplay vg00

    查看卷组磁盘大小

    查看卷组磁盘大小

    现在,你可以使用新加的空间,按照你的需求调整现有 LV 的大小,或者创建一个新的 LV。

    在启动和需求时挂载逻辑卷

    当然,如果我们不打算实际的使用逻辑卷,那么创建它们就变得毫无意义了。为了更好的识别逻辑卷,我们需要找出它的 UUID(用于识别一个格式化存储设备的唯一且不变的属性)。

    要做到这点,可使用 blkid 加每个设备的路径来实现:

    1. # blkid /dev/vg00/vol_projects
    2. # blkid /dev/vg00/vol_backups

    寻找逻辑卷的 UUID

    寻找逻辑卷的 UUID

    为每个 LV 创建挂载点:

    1. # mkdir /home/projects
    2. # mkdir /home/backups

    并在 /etc/fstab 插入相应的条目(确保使用之前获得的UUID):

    1. UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects ext4 defaults 0 0
    2. UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4 defaults 0 0

    保存并挂载 LV:

    1. # mount -a
    2. # mount | grep home

    挂载逻辑卷

    挂载逻辑卷

    在涉及到 LV 的实际使用时,你还需要按照曾在本系列第八讲:管理用户和用户组中讲解的那样,为其设置合适的 ugo+rwx

    总结

    本文介绍了 逻辑卷管理,一个用于管理可扩展存储设备的多功能工具。与 RAID(曾在本系列讲解过的 第六讲:组装分区为RAID设备——创建和管理系统备份)结合使用,你将同时体验到(LVM 带来的)可扩展性和(RAID 提供的)冗余。

    在这类的部署中,你通常会在 RAID 上发现 LVM,这就是说,要先配置好 RAID 然后它在上面配置 LVM。

    如果你对本问有任何的疑问和建议,可以直接在下方的评论区告诉我们。


    via: http://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/

    作者:Gabriel Cánepa 译者:martin2011qi 校对:wxy

    本文由 LCTT 原创翻译,Linux中国 荣誉推出

    本文固定链接:http://www.fengtec.net/?post=35
    本文由楼台听枫雨原创或编辑,互联分享,尊重版权,转载请以链接形式标明本文地址

    发表评论:

  • 最新文章

  • Deepin Linux 检测串口并查看串口消息
  • U-NAS 下VirtualBox虚拟化-自启动服务
  • 有办法自动整合VMware快照?
  • Linux下使用vsftp搭建FTP服务器实现文件共享
  • 转vSphere Data Protection 6.1.2部署与配置
  • 分类

  • 文艺(2)
  • 生活(0)
  • 技术空间(0)
  • linux技术部(36)
  • windows技术部(7)
  • vmware虚拟化技术部(5)
  • uedbet最新网站

  • 人类的意识从何而来
  • VMware
  • linux
  • vpn
  • centos
  • 7
  • mysql
  • 安装
  • iptables
  • ntp
  • SERVER
  • 2003域控
  • 2012域控
  • 2008R2
  • DFS分布式文件系统
  • raspberry
  • pi
  • rasbian
  • raspberrypi
  • Raspbian
  • vsftp
  • centos7
  • 迅雷远程下载
  • NAS
  • 2008
  • 密码找回
  • oracle
  • 11g2
  • linx
  • RPM包依赖关系
  • apache
  • php
  • oracle11gR2安装
  • rpm安装
  • version
  • radius
  • 802.1X
  • ssh防暴力破解
  • 安全策略
  • LVM
  • Samba
  • NFS
  • raid
  • iscsi
  • tab补全
  • tab补全命令
  • tab命令补全
  • userhome
  • autofs
  • ipa-server
  • WIN2012激活
  • 源码安装软件
  • .zip
  • .7z
  • .rar
  • ubuntu
  • ufw
  • ibm_dsa_vmware_esxi日志
  • KMS服务器
  • enable
  • service
  • /usr/bin/perl:
  • office2013vol激活
  • semanage
  • selinux
  • vmtools
  • bad\interpreter
  • dns-server
  • bind-chroot
  • vcenter-client乱码改中文
  • VDP
  • ftp
  • linuxCOM
  • unas
  • virtualbox
  • 自动启动虚拟机
  • 口配置
  • Deepinlinuxcom口配置