美文网首页我爱编程
添加新硬盘,LVM在线扩容

添加新硬盘,LVM在线扩容

作者: Kandy | 来源:发表于2018-05-25 16:22 被阅读0次

    一. LVM简介

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的逻辑层,来提高磁盘分区管理的灵活性。

    LVM的工作原理其实很简单,它就是通过将底层的物理磁盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过逻辑卷来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

    LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

    二. LVM基本术语

    物理磁盘

    物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/xvda、/dev/vdb等等,是存储系统最低层的存储单元。

    PV(Physical Volume)- 物理卷

    物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘

    VG(Volumne Group)- 卷组

    卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

    LV(Logical Volume)- 逻辑卷

    逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

    LVM使用分层结构,如下图所示:

    LVM

    查找新的磁盘

    # fdisk -l

    image.png
    这里看到的新的磁盘设备名是:/dev/sdb。

    创建分区

    fdisk /dev/sdb
    操作命令 n、p、1、回车、回车、t、8e、w

    [root@tsbweb1 data]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。
    
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:17.2 GB, 17179869184 字节,33554432 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xbb986126
    
       设备 Boot      Start         End      Blocks   Id  System
    
    命令(输入 m 获取帮助):n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p
    分区号 (1-4,默认 1):1
    起始 扇区 (2048-33554431,默认为 2048):
    将使用默认值 2048
    Last 扇区, +扇区 or +size{K,M,G} (2048-33554431,默认为 33554431):
    将使用默认值 33554431
    分区 1 已设置为 Linux 类型,大小设为 16 GiB
    
    命令(输入 m 获取帮助):t
    已选择分区 1
    Hex 代码(输入 L 列出所有代码):L
    
     0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris        
     1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
     2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
     3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx         
     5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据 
     6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
     7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具      
     8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt         
     9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问       
     a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
     b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
     c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs        
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
     f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC  
    11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
    12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
    14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要       
    16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
    17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
    18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
    1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep        
    1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT            
    1e  隐藏的 W95 FAT1 80  旧 Minix       
    Hex 代码(输入 L 列出所有代码):8e
    已将分区“Linux”的类型更改为“Linux LVM”
    
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sdb:17.2 GB, 17179869184 字节,33554432 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xbb986126
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    33554431    16776192   8e  Linux LVM
    
    命令(输入 m 获取帮助):w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    
    

    创建物理卷(PV)

    # pvcreate /dev/sdb1

    [root@tsbweb1 data]# pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created
    

    扩展VG

    [root@tsbweb1 data]# vgextend rhel_kandy /dev/sdb1
      Volume group "rhel_kandy" successfully extended
    [root@tsbweb1 data]# vgdisplay 
      --- Volume group ---
      VG Name               rhel_kandy
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  4
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               2
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               65.50 GiB
      PE Size               4.00 MiB
      Total PE              16769
      Alloc PE / Size       12664 / 49.47 GiB
      Free  PE / Size       4105 / 16.04 GiB
      VG UUID               7ZYehh-nfbe-36jd-p0Vm-892M-aZxh-r4kRrU
    

    扩展LV

    lvextend -L +10G /dev/rhel_kandy/root

    [root@tsbweb1 data]# lvextend -L +10G /dev/rhel_kandy/root 
      Size of logical volume rhel_kandy/root changed from 44.47 GiB (11384 extents) to 54.47 GiB (13944 extents).
      Logical volume root successfully resized.
    

    激活VG

    [root@tsbweb1 data]# vgchange -a y rhel_kandy 
      2 logical volume(s) in volume group "rhel_kandy" now active
    

    调整文件系统大小

    resize2fs /dev/mapper/rhel_kandy-root或者xfs_growfs

    [root@tsbweb1 data]# xfs_growfs /dev/mapper/rhel_kandy-root 
    meta-data=/dev/mapper/rhel_kandy-root isize=256    agcount=4, agsize=2914304 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0        finobt=0
    data     =                       bsize=4096   blocks=11657216, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal               bsize=4096   blocks=5692, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 11657216 to 14278656
    
    

    检查已经扩容成功

    [root@tsbweb1 data]# df -h
    文件系统                     容量  已用  可用 已用% 挂载点
    /dev/mapper/rhel_kandy-root   55G   19G   36G   35% /
    devtmpfs                     7.9G     0  7.9G    0% /dev
    tmpfs                        7.9G     0  7.9G    0% /dev/shm
    tmpfs                        7.9G  450M  7.4G    6% /run
    tmpfs                        7.9G     0  7.9G    0% /sys/fs/cgroup
    /dev/sda1                    497M  108M  390M   22% /boot
    tmpfs                        1.6G     0  1.6G    0% /run/user/0
    

    相关文章

      网友评论

        本文标题:添加新硬盘,LVM在线扩容

        本文链接:https://www.haomeiwen.com/subject/pzkujftx.html