zoukankan      html  css  js  c++  java
  • Linux LVM磁盘分区管理

    目录:

    Linux LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。

     

    一、创建和挂载LVM

    1、 创建分区

      fdisk /dev/sdb  # 创建LVM分区

    [root@servera ~]# fdisk /dev/sdb
    
    Command (m for help): n  # add a new partition
    Partition type
       p   primary (0 primary, 0 extended, 4 free)
       e   extended (container for logical partitions)
    Select (default p): p  # 主分区
    Partition number (1-4, default 1):   # 回车
    First sector (2048-10485759, default 2048):   # 回车
    Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759):   # 回车
    
    Created a new partition 1 of type 'Linux' and of size 5 GiB.
    
    Command (m for help): t  # 修改分区类型,在CentOS8中不用设置为 8e也可以
    Selected partition 1
    Hex code (type L to list all codes): 8e  # LVM类型
    Changed type of partition 'Linux' to 'Linux LVM'.
    
    Command (m for help): w  # 保存配置
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.
    
    [root@servera ~]# fdisk -l
    Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x16a1e057
    
    Device     Boot Start      End  Sectors Size Id Type
    /dev/sda1  *     2048 20971486 20969439  10G 83 Linux
    
    
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x03864530
    
    Device     Boot Start      End  Sectors Size Id Type
    /dev/sdb1        2048 10485759 10483712   5G 8e Linux LVM

    2、创建PV(Pysical Volume)

      pvcreate /dev/sdb1  # 将sdb1 初始化为物理卷

      提示:Device /dev/sdxx not found (or ignored by filtering), 需要将 sdb 添加到 /etc/lvm/lvm.conf 的 filter 中。
     

    3、创建VG (Volume Group)   

      vgcreate vg-01 /dev/sdb1  # 创建VG名称为 vg-01, 并且将卷 sdb1 添加到VG中。

    4、创建LV (Logic Volume)  

      lvcreate vg-01 -n lv-01 -L 2G  # 创建LV名称为 lv-01,指定大小为2G,从名为vg-01的VG中划分。

     

    5、格式化LV

    下一步需要对LV进行格式化(使用mksf进行格式化操作),然后LV才能存储资料

    # mkfs.ext4 /dev/vg-01/lv-01

    6、挂载LV 

    将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了

    # mount /dev/vg-01/lv-01  /root/test/

    如果要在系统启动的时候启动LV,最好是将lvData写入fstable 文件中,如下所示:

    [ root@servera ]# cat /etc/fstab
    # <file system>        <dir>                   <type>    <options>      <dump> <pass>
    /dev/mapper/centos-root /                       xfs      defaults        0 0
    UUID=f7cde4a6-84e2-4b65-97b3-e44b89934de3 /boot                   xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap     defaults        0 0
    /dev/vg-01/lv01 /root/test ext4 defaults 1 2

    二、扩容LVM分区

    1、格式化新磁盘:

    # fdisk /dev/sdc
    
    # partprobe   # 重读分区表
    
    # mkfs.ext4 /dev/sdc1 # 格式化为 ext4格式
    
    # partx /dev/sdc # 查看当前硬盘的分区表及使用情况

    2、创建PV,扩容VG,扩容LV

    # pvcreate /dev/sdc1
    
    # vgdisplay #查看当前已经存在的VG信息,以存在VG:VolGroup00为例
    
    # vgextend VolGroup00 /dev/sdc1    #扩展VolGroup00
    
    # lvdisplay #查看已经存在的LV信息,以存在LV:LogVol01为例
    
    # lvextend -L 1G /dev/VolGroup00/LogVol01 #扩展1G到LV中   或者将所有剩余空间全部扩展到LV中  lvextend -l +100%FREE  /dev/VolGroup00/LogVol01
    
    # resize2fs /dev/VolGroup00/LogVol01 #执行该重设大小,对于当前正在使用的LogVol01有效
    
    # df -HT  #查看挂载情况,已经扩容

    # lsblk #查看挂载情况,已经扩容

     

    特别注意的是:

    resize2fs命令            针对的是ext文件系统
    xfs_growfs命令           针对的是xfs文件系统
    ------------------------------------------------------------------------------------------

    1)ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持) 

    # lvextend -L 120G /dev/mapper/centos-home     //增大至120G
    # lvextend -L +20G /dev/mapper/centos-home     //增加20G
    # lvreduce -L 50G /dev/mapper/centos-home      //减小至50G
    # lvreduce -L -8G /dev/mapper/centos-home      //减小8G
    # resize2fs /dev/mapper/centos-home            //执行调整

    2)xfs文件系统的调整命令是xfs_growfs(只支持增大)

    # lvextend -L 120G /dev/mapper/centos-home    //增大至120G
    # lvextend -L +20G /dev/mapper/centos-home    //增加20G
    # xfs_growfs /home          //执行调整
     
    就是说:xfs文件系统只支持增大分区空间的情况,不支持减小的情况(切记!!!!!)。
    硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。

    三、Parted格式化2TB以上的磁盘

    通常我们使用fdisk工具来进行磁盘分区,但是fdisk只能格式化小于2TB的磁盘。因此大于2TB的磁盘分区就需要parted工具。

    1、设置DiskLable Type

    # parted /dev/sdb mklabel gpt

    2、创建分区

    # parted /dev/sdb mkpart primary 0 100%

    3、格式化分区

    # mkfs.xfs /dev/sdb1

    4、挂载分区

    # mount /dev/sdb1 /var/tmp

  • 相关阅读:
    双重标准,我该怎么解决
    今天突然点开一个网页
    反省
    (无)
    (无)
    GetModuleHandleW 分析
    关于逆向360相关的一点感想
    OpenGL的编译和使用
    360 补天平台,也没个什么人啊。。。
    openssl编译方法
  • 原文地址:https://www.cnblogs.com/vincenshen/p/8313307.html
Copyright © 2011-2022 走看看