zoukankan      html  css  js  c++  java
  • linux 调整逻辑卷空间大小

    调整逻辑卷空间大小和缩小空间时需要谨慎,因为它有可能导致数据丢失。

    扩容前,搞清楚自己的分区格式:

    xfs ------------ ext2、ext3、 ext4

    # df -hT
    或者
    # mount | grep /dev/mapper/centos-root(分区关键字)
    

    特别注意的是:

    • resize2fs 更新文件系统命令 针对的是ext2、ext3、ext4文件系统
    • xfs_growfs 更新文件系统命令 针对的是xfs文件系统

    一、 创建逻辑卷

    要想理解好LVM的原理,我们必须首先要掌握3个基本的逻辑卷概念。

    PV  (Physical Volume)  物理卷

    VG  (Volume Group)  卷组

    LV  (Logical Volume)  逻辑卷

    顺序不能乱 : 底层物理设备 ------> 创建成 PV -------> 创建 VG --------> 创建成LV ------> 格式化挂载使用

    思路

    • 物理磁盘
    • 创建 PV
    • 创建 VG
    • 创建 LV
    • 格式化挂载使用

    1. 准备物理磁盘

    # sdb
    #路径 /dev/sdb
    

    2. 创建 PV

    # pvcreate /dev/sdb
    创建物理卷
    

    3. 创建 VG

    # vgcreate vg01 /dev/sdb
    创建卷组vg01, 并把物理卷添加到卷组中
    

    4. 创建 LV

    #  lvcreate  -l 100%vg  -n lv01  vg01
    创建大小为卷组100%空间的 名字为lv01  来源卷组为vg01 的逻辑卷
    # 或
    # lvcreate  -L 3G  -n lv01  vg01
    创建名字为lv01的逻辑卷 -L 大小 3G  来源卷组vg01
    
    -n 指定逻辑卷的名字
    -L 指定逻辑卷的大小
    -l 指定逻辑卷的大小( 根据PE 指定大小,PE默认4M , 也可以根据百分比)
    -l 100%vg # 分配卷组空间百分比
    -l 100%free # 分配剩余空间百分比
    -l 100 # 分配空间为100PE ,默认400M空间,(PE 大小可以更改,在创建卷组时 -s 8M 指定

    5. 格式化挂载使用

    逻辑卷最终在系统中保存为以下两个路径:

    /dev/卷组名/逻辑卷

    /dve/mapper/卷组名-逻辑卷

    格式化
    # mkfs.xfs /dev/vg01/lv01
    
    挂载使用
    # mount /dev/vg01/lv01 /app     # 临时挂载,重启后丢失
    
    写到文件中,永久挂载
    # cat /etc/fstab
    
    /dev/vg01/lv01  /app                         xfs    defaults        0 0
    
    查看 简单查看 详细查看
    逻辑卷 lvs lvdisplay
    卷组 vgs vgdisplay
    物理卷 pvs pvdisplay

    ------------------------------------------创建逻辑卷到此(完结)----------------------------------------------------------------

    二、 扩展逻辑卷

    extend命令 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。

    使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。

    首先查看卷组(VG剩余空间),如果足够,直接扩展逻辑卷。

    • 如果卷组有足够的剩余空间,可以直接从第四步开始操作

    完整思路:

    • 添加物理磁盘
    • 创建 pv (创建物理卷)
    • 扩容 vg (扩容卷组)
    • 扩容 lv (扩容逻辑卷)
    1. 准备物理磁盘(略)
    
    2. 创建物理卷
    # pvcreate /dev/sdc
    
    3. 扩容卷组
    # vgextend vg01 /dev/sdc
    
    4. 扩容逻辑卷
    # lvextend -L +5G /dev/mapper/vg01-lv01
    # 在原有的容量大小上面 +5G
    
    5. xfs_growfs /dve/mapper/vg01-lv01
    # 更新文件系统
    
    6. df -h 
    # 查看挂载目录大小变化
    
    
    

    -------------------------第 4 步 扩展------------------------

    lvextend -L 5G ( 指定大小数字前面带 + 号 和不带 + 号 的区别)
    +5 : 在原有的基础上增加容量
    5 :(不带 +) 指定总空间大小

    案例:

    • 增加 1G 空间
      [root@localhost /]# lvextend -L +1G /dve/mapper/vg01-lv01
    • 指定总空间 10 G
      [root@localhost /]# lvextend -L 10G /dve/mapper/vg01-lv01
    • 把当前卷组空间全部给逻辑卷
      [root@localhost /]# lvextend -l 100%vg /dve/mapper/vg01-lv01

    扩容根据自己的文件系统选择 命令扩容文件系统。

    • xfs 格式 同步文件系统
      [root@localhost /]# xfs_growfs /dve/mapper/vg01-lv01

    • ext2-4 格式 同步文件系统
      [root@localhost /]# resize2fs /dve/mapper/vg01-lv01

    不建议 缩小空间

    三、 缩小逻辑卷 ext4

    ——— lvreduce

    重要提示: 减小空间操作有风险!请备份好数据!!

    # xfs不支持缩容 , 如要尝试,请备份数据
    
    # 虽然xfs文件系统只支持增加,不支持减少。但并不是说在xfs系统文件下不能减小,只是减小后,需要重新格式化才能挂载上。这样原来的数据就丢失了!
    
    - 以下操作为 ext2-4 格式文件系统
    

    离线裁剪逻辑卷容量

    做好数据备份 通过一些 备份方法对数据进行备份

    思路:

    1. 备份文件
    2. 卸载逻辑卷
    3. 先剪裁文件系统
    4. 剪裁逻辑卷
    5. 查看
    6. 从新挂载使用
    • 卸载逻辑卷
    # umount  /root/stu1
    
    • 先裁剪文件系统(同步文件系统)

      区别 扩容 操作中,先扩容再同步文件系统,裁剪逻辑卷是先 裁剪文件系统

    # resize2fs  /dev/vg01/lv01 1G   
    ---裁剪到 1G 的容量
    
    #  e2fsck  -f  /dev/vg01/lv01     
    ---检查 磁盘
    
    • 裁剪逻辑卷
    - 剪裁 减少 1G 的空间
    #  lvreduce -L -1G  /dev/vg01/lv01
    
    
    --- 或者
    - 剪裁后的总空间为 1G
    # lvreduce -L 1G  /dev/mapper/vg01-lv01
    
    • 查看
    # lvs
    - lvs 对 逻辑卷信息查看,如果没有问题的话
    
    • 重新挂载使用
    #  mount  /dev/vg1/lv01  /root/stu1 
    
    • 裁剪的注意点:
    1. 裁剪前 最好 做个数据备份

    2. 裁剪 后的容量大小 一定要 大于 数据的容量大小

    四、 缩小或增加逻辑卷

    lvresize 命令

    离线剪裁 缩小逻辑卷空间

    思路:

    1. 备份文件
    2. 卸载逻辑卷
    3. 剪裁逻辑卷
    4. 查看
    5. 格式化
    6. 从新挂载使用

    语法格式:lvresize [参数]

    以下操作基于场景:

    同卷组中的两个逻辑卷, app 和 root

    挂载路径 app 挂载 /app , root 挂载在 /

    从app 中剪裁3G 空间 给 root

    1.缩小app磁盘

     - 缩小逻辑卷空间
    
    - 1. 备份文件 
    # cp 文件  到另一个地方
    
    - 2. 取消挂载逻辑卷
    # umount /app
    
    - 3. 剪裁逻辑卷 让逻辑卷减小 3G 空间
    # lvresize -L -3G /dev/mapper/app
    
    - 4. 查看
    # lvs   - 查看逻辑卷
    # vgs   - 查看卷组
    # df -h 
    # lsblk
     
    - 5. 格式化   -f 强制格式化
    # mkfs.xfs -f /dev/mapper/app
    
    - 6. 挂载使用
    # mount /dev/mapper/app /app
    
    - 7. 恢复备份
    
    
    

    2.扩展root磁盘

    # lvresize -L +3G /dev/mapper/myvg-root
    

    3.扩展rootlv文件系统

    - 格式为 ext2-4文件系统操作
    # resize2fs /dev/mapper/myvg-root
    
    - 格式为 xfs 文件系统操作
    # xfs_growfs /dev/mapper/myvg-root
    
    

    说明:扩展完磁盘后使用lsblk查看的结果变了而使用df -h结果大小却没变,这是因为前者查看的是磁盘的大小而后者查看的是文件系统的大小。磁盘和文件系统在不严格区分时可视为同一个东西,但追究起来确实是两样东西。这也是需要第3步的原因。

  • 相关阅读:
    ASP.NET MVC5 实现网址伪静态
    用c#中的WebBrowser抢小米F码,抢小米手机以及自动测试实现原理
    MVC授权
    使用grid++report打印选中行
    对Spring.Net+NHibenate+Asp.Net Mvc+Easyui框架的个人认识
    hibernate+spring+mvc+Easyui框架模式下使用grid++report的总结
    一个关于Linq对引用类型元素集合去重问题的思考
    Spring MVC PageNotFound.noHandlerFound No mapping found for HTTP request with URI
    ueditor 1.4.3.2 独立/单独 上传图片框原理
    (兼容IE6)又一个提示框思密达,腾讯UED 201401242352
  • 原文地址:https://www.cnblogs.com/aaak/p/14553920.html
Copyright © 2011-2022 走看看