zoukankan      html  css  js  c++  java
  • CentOS7磁盘挂接 二(LVM逻辑卷管理)

    1、LVM介绍

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。LVM是在磁盘与文件系统之间的一个逻辑层,主要用来管理多磁盘多分区进行与多文件系统的映射。管理员利用LVM可以在硬盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越物理硬盘。当服务器添加了新的硬盘后,管理员不必将原有的文件移动到新的硬盘上,而是通过LVM直接扩展文件系统来跨越物理硬盘。

        物理存储介质(The physical media):LVM存储介质,可以是硬盘分区、整个硬盘、raid阵列或SAN硬盘。设备必须初始化为LVM物理卷,才能与LVM结合使用。

      物理卷PV(physical volume):物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质比较却包含与LVM相关的管理参数,创建物理卷可以用硬盘分区,也可以用硬盘本身。

      卷组VG(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,一个卷组VG由一个或多个物理卷PV组成。可以在卷组VG上建立逻辑卷LV。

      逻辑卷LV(logical volume):类似于非LVM系统中的硬盘分区,逻辑卷LV建立在卷组VG之上。在逻辑卷LV之上建立文件系统。

      物理块PE(physical Extent):物理卷PV中可以分配的最小存储单元,PE的大小可以指定,默认为4MB

      逻辑块LE(Logical Extent):逻辑卷LV中可以分配的最小存储单元,在同一卷组VG中LE的大小和PE是相同的,并且一一相对。

    总结:多个磁盘/分区/raid-->多个物理卷PV-->合成卷组VG-->从VG划分出逻辑卷LV-->格式化LV,挂载使用。

    注意:老的Linux在创建PV时,需要将分区类型改为Linux LVM(8e)。但新的系统已经非常智能,即使默认的Linux分区(83),也可以创建PV。

    LVM的优点:

        卷组VG可以使多个硬盘空间看起来像是一个大硬盘。

      逻辑卷LV可以创建跨多个硬盘空间的分区。

      在使用逻辑卷LV时,可以在空间不足时动态调整大小,不需要考虑逻辑卷LV在硬盘上的位置,不用担心没有可用的连续的空间。

      可以在线对卷组VG、逻辑卷LV进行创建、删除、调整大小等操作。但LVM上的文件系统也需要重新调整大小。

      LVM允许创建快照,用来保存文件系统的备份。

    注意:

    LVM是软件的卷管理方式,RAID是磁盘管理的方法。对于重要的数据使,用RAID保护物理硬盘不会因为故障而中断业务,再用LVM来实现对卷的良性管理,更好的利用硬盘资源。LVM有两种写入机制:线性(写完一个PV再写下一个PV,默认)、条带(平均)

    基本命令如下:

    image

    2、LVM磁盘挂接示例

    在现场客户环境,硬件部门给分配服务器时(云上的虚拟机),默认会分配50G的空间作为根目录使用,另外为了满足日常使用,会根据需要分配一个磁盘(不挂接)。

    在这里初步想了几种挂接方案:

    a、直接进行分区,并建立/data目录,将整个磁盘挂接上。(请参照上一篇随笔)

    b、创建PV,将PV加入到根目录VG中,在VG上创建新的LV,创建/data目录,将新建的LV挂接上。

    c、创建PV,将PV加入到根目录VG中,直接扩展根目录LV使用。

    d、创建PV,创建VG,将PV添加到VG中,在VG上创建新的LV,创建/data目录,将新建的LV挂接上。

    第一种方式因为后续不利于扩展等原因直接弃用,对于后面三种方式,咨询公司相关运维人员,其区别不大。现在现场采取的方式如下:

    对于应用服务器,空间要求不高,采用直接扩展根目录的方式c;

    对于文件服务器、数据存储服务器等需要有大容量数据目录的,采用b方式。

    下面对介绍详细处理方法:

    (1)、通过命令查看当前磁盘挂接情况

    fdisk –l        lsblk       df -h

    QQ截图20200602180641QQ截图20200602180511QQ截图20200602180551

    可以看到服务器有一个1T的磁盘未分配,没有进行任何格式化、挂接处理。

    注意:如果磁盘之前已经挂接到某个目录,可以先用 umount /dev/sdb1 命令解除挂接,然后直接跳转到第三步进行操作。

    (2)、重新建立分区(fdisk /dev/sdb),输入请参考图上标注

    QQ截图20200602181024

    执行完成后会创建/dev/sdb1的分区。

    (3)、对分区进行格式设置(fdisk /dev/sdb),设置参数如图所示。

    QQ截图20200602181455

    (4)、创建物理卷PV(pvcreate /dev/sdb1)

    QQ截图20200602181536

    (5)、通过命令查看创建的物理卷信息(pvs查看概要信息或者pvdisplay查看详细信息)。

    QQ截图20200602181615

    (6)、将创建的物理卷添加到卷组VG中(vgextend centos /dev/sdb1)这里的centos为VG名称,如果不知道现在服务器上有哪些VG,可以通过vgs或者vgdisplay查看。

    QQ截图20200602181735

    (7)、创建或者扩充现有LV

    如果采用扩展根目录的方式,直接通过lvs或者lvdisplay名称查看根目录LV,直接在上面扩展即可。(lvextend -l +100%FREE  /dev/centos/root)

    QQ截图20200602181836

    对于lvextend 命令,有多种使用方法,可以自行进行百度。

    QQ截图20200602181912

    QQ截图20200602181931

    现在通过df -h命令查看根目录大小其实还没有繁盛改变,需要执行命令使得扩容生效

    resize2fs /dev/centos/root           针对ext格式命令

    xfs_growfs /dev/centos/root        针对xfs格式命令

    QQ截图20200602181959

    QQ截图20200602182018

    如果是创建新的逻辑卷,创建目录进行挂接的方式:

    先使用命令创建逻辑卷:lvcreate -l +100%FREE -n lv_data centos,命令具体使用方式可以百度,这里是在名为centos的vg上创建一个名为lv_data的逻辑卷,其大小使用的是centos上所有剩余空间。

    对创建的名为lv_data的逻辑卷进行格式化:mkfs.xfs /dev/centos/lv_data,格式化后可以通过  fsck -N /dev/centos/lv_data  命令进行检查确认。

    创建目录并与逻辑卷挂接:

    mkdir /data
    mount /dev/centos/lv_data /data

    挂接是否成功可以通过df -h命令进行检查。

    创建完成后,需要设置配置文件,是的每次重启后进行自动挂接。

    vim /etc/fstab,在文件中添加以下信息:

    /dev/centos/lv_data /data xfs    defaults    0  0


    至此,所有操作均已经完成,主要在使用mount或者umount的时候,在启动之前一定要同步修改/etc/fstab文件,如果文件中有添加挂接信息但是实际上没有该磁盘或者分区等,重启后系统会进入应急模式,对于虚拟机而言,无法进行远程的,需要到后台登录处理。错误如下:

    welcome to emergency mode!after logging in ,type “journalctl -xb” to view system logs,“systemctl reboot” to reboot ,“systemctl default” to try again to boot into default mode。

    QQ截图20200604101225

    报这个错误多数情况下是因为/etc/fstab文件的错误。注意一下是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的。

    可以直接在后台登录,输入root密码后直接检查修改/etc/fstab文件,确定无误后重启即可。


    参考:

    https://blog.csdn.net/littlebrain4solving/article/details/75618415

    https://www.cnblogs.com/diantong/p/10554831.html

  • 相关阅读:
    Oracle
    Windows
    Ajax
    Ext JS
    JavaScript
    Linux中查看各文件夹大小命令du
    本地文件上传到Linux服务器的几种方法
    Mysql线程状态
    把mysql里面的一些状态输出到文件里面显示
    linux修改磁盘调度方法
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/13067743.html
Copyright © 2011-2022 走看看