Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 227|回复: 0

[默认分类] linux LVM逻辑卷管理

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-3-20 13:36:11 | 显示全部楼层 |阅读模式
    什么是LVM

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性。

    LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样可以减少操作成本.

    如上图所示:

    • 最底层是物理硬盘:/dev/sda1、/dev/sdb1、/dev/sdc1...
    • 中间层:存储虚拟化,所有物理硬盘视为一个逻辑集合(卷组)
    • 最顶层:将卷组划分为多个逻辑卷,逻辑卷大小可以动态调整等。
    基本概念
    • 物理存储介质(The Physical Media)
      这里指系统的存储设备,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
    • 物理卷(PV, Physical Volume)
      物理卷就是指磁盘,磁盘分区或从逻辑上和磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有和LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的0至2份元数据拷贝.默认为1,保存在设备的开始处.为2时,在设备结束处保存第二份备份.
    • 卷组(VG, Volume Group)
      LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。能在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
    • 逻辑卷(LV, Logical Volume)
      LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上能建立文件系统(比如/home或/usr等)。
    • 物理卷的意义:一块物理硬盘不能直接使用,需要经过分区、格式化等操作之后变成物理卷之后才能使用。
    • 1个卷组底层有多个物理卷。
    • 1个卷组可以创建多个逻辑卷,逻辑卷的大小可以动态调整。

    比起正常的硬盘分区管理,LVM更富于弹性:
    • 使用卷组(VG),使众多硬盘空间看起来像一个大硬盘。
    • 使用逻辑卷(LV),可以创建跨越众多硬盘空间的分区。
    • 可以创建小的逻辑卷(LV),在空间不足时再动态调整它的大小。
    • 在调整逻辑卷(LV)大小时可以不用考虑逻辑卷在硬盘上的位置,不用担心没有可用的连续空间。It does not depend on the position of the LV within VG, there is no need to ensure surrounding available space.
    • 可以在线(online)对逻辑卷(LV)和卷组(VG)进行创建、删除、调整大小等操作。LVM上的文件系统也需要重新调整大小,某些文件系统也支持这样的在线操作。
    • 无需重新启动服务,就可以将服务中用到的逻辑卷(LV)在线(online)/动态(live)迁移至别的硬盘上。
    从零开始,给/home分配最大磁盘空间

    linux系统安装过程省略,现在的场景是系统按最小模式安装,物理硬盘有大量空间未被格式化,目前拟将硬盘剩余空间分配给/home目录。

    前期准备:
    0.1 磁盘分区情况:
    fdisk -l

    0.1 磁盘空间使用情况:
    df -h

    如果2种情况的磁盘容量不相等,则说明有磁盘未使用。可以继续后续操作

    1. 新增分区
    fdisk /dev/sda
    c
    p
    n
    p
    3
    w

    2.partprobe(or reboot)

    3. 查看逻辑卷
    vgdisplay

    fdisk -l

    4. 创建逻辑卷组
    vgcreate vg_zy /dev/sda4

    vgcreate -s 32M VolGroup01 /dev/sdb1

    vgcreate创建卷组:
    格式:vgcreate [-s  <8M|16M|...>] vg0 /dev/sdb{1,2,3...}
                    -s:指定扩展块(PE)的大小,默认为4MB;(相当与磁盘上的簇,扩展逻辑卷的基本单位。后面的值可以是8M 16M 32M 64M .....最多65532个扩展块。
                    vg0:新创建的卷组的名字。
                    /dev/sdb{1,2,3...}:需要的物理卷可以写多个;



    5. 创建逻辑卷
    vgs

    lvcreate -L800g -n home vg_zy

    6. 建立文件系统
    mkfs -t ext4 /dev/vg_zy/home

    7. 查看/home目录挂载点  df -h /home

    8. 挂载存储
    mount /dev/vg_zy/home /home

    9. 修改fstab配置文件实现自动挂载
    df -h /home 查看
    vim /etc/fstab

    /dev/mapper/vg_zy-home  /home  ext4  defaults  1  2


    第五列是dump备份设置。

    当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;

    第六列是fsck磁盘检查设置。

    其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
    将新增硬盘空间扩容给/ddhome

    在此示例中,/ddhome目录也是新建的目录。

    1.==不重启显示新增的磁盘信息==
    ls /sys/class/scsi_host/
    echo "- - -" > /sys/class/scsi_host/host0/scan
    echo "- - -" > /sys/class/scsi_host/host1/scan
    echo "- - -" > /sys/class/scsi_host/host2/scan

    查看卷组:vgs

    显示逻辑卷:lvs

    查看物理卷信息: pvdisplay

    df -T  #查看分区格式

    2.将新增的磁盘(硬件)添加到卷组
    #vgextend centos /dev/sdb
    vgextend vgname /dev/sdc

    3.新建逻辑卷:在卷组centos创建名为"/dev/mapper/centos-ddhome"的逻辑卷
    lvcreate -L 1300G -n ddhome centos

    4.格式化逻辑卷
    mke2fs -t ext4 /dev/mapper/centos-ddhome

    5.挂载目录
    rm -rf /ddhome && mkdir /ddhome
    mount /dev/mapper/centos-ddhome /ddhome

    df -h逻辑卷扩容1.不重启显示新增的磁盘信息
    ls /sys/class/scsi_host/
    echo "- - -" > /sys/class/scsi_host/host0/scan
    echo "- - -" > /sys/class/scsi_host/host1/scan
    echo "- - -" > /sys/class/scsi_host/host2/scan

    fdisk -l 查看新增磁盘是否已经显示

    2.将新增的磁盘添加到卷组
    vgextend vg_ddz /dev/sdc

    3.新增500G
    lvextend -L +500G /dev/mapper/vg_ddz-lv_ddhome
    lvextend -l +100%FREE /dev/mapper/vg_ddz-lv_ddhome

    4.同步文件系统
    resize2fs /dev/mapper/vg_ddz-lv_ddhome
    or
    xfs_growfs /dev/mapper/centos-root释放逻辑卷A磁盘空间,分配给逻辑卷B1.查看正在使用/home的进程
    fuser -l /home
    ps -ef|grep xxx
    kill -9 pid

    2.卸载挂载目录
    umount /home

    3.检查vg_ddz-lv_home文件的错误性
    e2fsck -f /dev/mapper/vg_ddz-lv_home

    4.调整/home为100G
    resize2fs -p /dev/mapper/vg_ddz-lv_home 80G

    5.缩减物理边界
    lvreduce -L 80G /dev/mapper/vg_ddz-lv_home
    输入y

    6.重新挂载/home
    mount /home

    7.查看卷组vg可用空间
    vgs

    8.新增逻辑卷
    lvcreate -L 150G -n lv_ddhome vg_ddz

    9.格式化逻辑卷
    mke2fs -t ext4 /dev/mapper/vg_ddz-lv_ddhome

    10.挂载目录
    rm -rf /ddhome && mkdir /ddhome
    mount /dev/mapper/vg_ddz-lv_ddhome /ddhome

    11.查看结果
    df -hext3升级到ext4umount /ddhome
    e2fsck -f /dev/mapper/vg_ddz-lv_ddhome #可能要执行2遍
    tune2fs -O extents,uninit_bg,dir_index /dev/mapper/vg_ddz-lv_ddhome
    fsck -pf /dev/mapper/vg_ddz-lv_ddhome
    mount -t ext4 /dev/mapper/vg_ddz-lv_ddhome /ddhome
    总结

    通过上面的实践,可以再根据上图,加深对LVM的理解。

    参考文献
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-21 10:01 , Processed in 0.354313 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表