• Resizing LVM Logical Volumes-lvextend


    1. fdisk命令/dev/sdc再分出一个sdc2分区

    [root@rhel7 ~]# fdisk /dev/sdc
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    Partition number (2-4, default 2): 
    First sector (206848-10485759, default 206848): 
    Using default value 206848
    Last sector, +sectors or +size{K,M,G} (206848-10485759, default 10485759): +200M
    Partition 2 of type Linux and of size 200 MiB is set
    
    Command (m for help): t
    Partition number (1,2, default 2): 
    Hex code (type L to list all codes): L
    
     0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
     1  FAT12           27  Hidden NTFS Win 82  Linux swap / 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 hidden C:  c6  DRDOS/sec (FAT-
     4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
     5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
     6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
     7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
     8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
     9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
     a  OS/2 Boot Manag 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 hi eb  BeOS fs        
     e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
     f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
    10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
    11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
    12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
    14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
    16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
    17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
    18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
    1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
    1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
    1e  Hidden W95 FAT1 80  Old Minix      
    Hex code (type L to list all codes): 8e   
    Changed type of partition 'Linux' to 'Linux LVM'
    
    Command (m for help): m
    Command action
       a   toggle a bootable flag
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       g   create a new empty GPT partition table
       G   create an IRIX (SGI) partition table
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.  --reboot一下生效
    
    [root@rhel7 ~]# fdisk -l /dev/sdc  --查看/dev/sdc分区情况
    
    Disk /dev/sdc: 5368 MB, 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
    Disk label type: dos
    Disk identifier: 0x0c16d904
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdc1            2048      206847      102400   8e  Linux LVM
    /dev/sdc2          206848      616447      204800   8e  Linux LVM
    [root@rhel7 ~]# 

    2.创建物理卷pv

    [root@rhel7 ~]# pvcreate /dev/sdc2   #没有pvextend的说法
      Physical volume "/dev/sdc2" successfully created
    [root@rhel7 ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree  
      /dev/sda2  rhel   lvm2 a--   19.51g  40.00m
      /dev/sdc1  vgdate lvm2 a--   96.00m   4.00m
      /dev/sdc2         lvm2 ---  200.00m 200.00m
    [root@rhel7 ~]# 

    3.增加VG大小:(把上面创建的pv添加到vg里就行)

    [root@rhel7 ~]# vgs
      VG     #PV #LV #SN Attr   VSize  VFree 
      rhel     1   2   0 wz--n- 19.51g 40.00m
      vgdate   1   1   0 wz--n- 96.00m  4.00m
    [root@rhel7 ~]# vgdisplay vgdate
      --- Volume group ---
      VG Name               vgdate
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               96.00 MiB
      PE Size               4.00 MiB
      Total PE              24
      Alloc PE / Size       23 / 92.00 MiB
      Free  PE / Size       1 / 4.00 MiB
      VG UUID               hNTqaY-c0Hi-v5wk-p7lQ-TIbc-oSpm-TIOcHs
       
    [root@rhel7 ~]# vgextend vgdate /dev/sdc2     ---向卷组vgdata中添加pv。没有加多少M或多少G进来的说法,只能把整个PV添加到卷组中来。
      Volume group "vgdate" successfully extended
    [root@rhel7 ~]# vgs
      VG     #PV #LV #SN Attr   VSize   VFree  
      rhel     1   2   0 wz--n-  19.51g  40.00m
      vgdate   2   1   0 wz--n- 292.00m 200.00m
    [root@rhel7 ~]# vgdisplay vgdate
      --- Volume group ---
      VG Name               vgdate
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               292.00 MiB
      PE Size               4.00 MiB
      Total PE              73
      Alloc PE / Size       23 / 92.00 MiB
      Free  PE / Size       50 / 200.00 MiB
      VG UUID               hNTqaY-c0Hi-v5wk-p7lQ-TIbc-oSpm-TIOcHs
       
    [root@rhel7 ~]# 

    4.增加LV的大小

    [root@rhel7 ~]# lvdisplay vgdate
      --- Logical volume ---
      LV Path                /dev/vgdate/lvvol1
      LV Name                lvvol1
      VG Name                vgdate
      LV UUID                dt10du-dTAJ-0gUV-LqrO-wRUY-rb5h-171DCr
      LV Write Access        read/write
      LV Creation host, time rhel7.com, 2016-08-05 04:51:17 -0400
      LV Status              available
      # open                 1
      LV Size                92.00 MiB
      Current LE             23
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:2
       
    [root@rhel7 ~]# lvextend -L+200MB /dev/vgdate/lvvol1    --给逻辑卷lvvol1增加200MB的空间。如果写成-L 200M,则表示把逻辑卷扩大至200M。
    或者lvextend /dev/vgdate/lvvol1 /dev/sdc2 将把/dev/sdc2这个pv剩余的所有空间都分配给逻辑卷lvvol1。 Size of logical volume vgdate
    /lvvol1 changed from 92.00 MiB (23 extents) to 292.00 MiB (73 extents). Logical volume lvvol1 successfully resized. [root@rhel7 ~]# lvdisplay vgdate --- Logical volume --- LV Path /dev/vgdate/lvvol1 LV Name lvvol1 VG Name vgdate LV UUID dt10du-dTAJ-0gUV-LqrO-wRUY-rb5h-171DCr LV Write Access read/write LV Creation host, time rhel7.com, 2016-08-05 04:51:17 -0400 LV Status available # open 1 LV Size 292.00 MiB ---LV size已增加至292MB Current LE 73 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2 [root@rhel7 ~]#

    也可以使用lvresize命令来增加lv的大小:

    ■lvresize -r -l 75%VG /dev/vgdata/lvdata This resizes the logical volume so that it will take 75% of the total disk space in the volume group.
    ■ lvresize -r -l +75%VG /dev/vgdata/lvdata This tries to add 75% of the total size of the volume group to the logical volume. (Notice the difference with the previous command.)
    ■ lvresize -r -l +75%FREE /dev/vgdata/lvdata This adds 75% of all free disk space to the logical volume.
    ■ lvresize -r -l 75%FREE /dev/vgdata/lvdata This resizes the logical volume to a total size that equals 75% of the amount of free disk space. (Notice the difference with the previous command.)

     5. 增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间

    从上面可以看到,虽然LV大小已增加至292MB,但是使用df -hT命令查看到的文件系统/dev/mapper/vgdate-lvvol1的大小没变,还是89M,所以还需要修改文件系统的大小才可以使用扩充的空间。

    [root@rhel7 ~]# df -hT
    Filesystem                Type      Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root     xfs        18G  4.5G   13G  26% /
    devtmpfs                  devtmpfs  911M     0  911M   0% /dev
    tmpfs                     tmpfs     921M     0  921M   0% /dev/shm
    tmpfs                     tmpfs     921M  8.4M  912M   1% /run
    tmpfs                     tmpfs     921M     0  921M   0% /sys/fs/cgroup
    /dev/mapper/vgdate-lvvol1 xfs        89M  4.8M   84M   6% /lvmFiles
    /dev/sdd1                 xfs       497M  124M  374M  25% /boot
    tmpfs                     tmpfs     185M     0  185M   0% /run/user/0

    使用xfs_growfs命令扩展文件系统。注意这个命令只能用来扩展xfs格式的文件系统,xfs格式是RHEL7版本默认的文件系统,所以用得比较少。

    DESCRIPTION
           xfs_growfs  expands  an  existing  XFS  filesystem  (see  xfs(5)).   The mount-point argument is the pathname of the directory where the
           filesystem is mounted. The filesystem must be mounted to be grown (see mount(8)).  The existing contents of the  filesystem  are  undis‐
           turbed, and the added space becomes available for additional file storage.

    还有另外一个命令resize2fs也是用来扩展文件系统,但是只能用来扩展ext2,ext3,ext4格式的文件系统大小,在RHEL7版本以下的系统中用得比较多。

    [root@rhel7 ~]# man resize2fs
    RESIZE2FS(8)                                                System Manager's Manual                                                RESIZE2FS(8)
    
    NAME
           resize2fs - ext2/ext3/ext4 file system resizer
    
    SYNOPSIS
           resize2fs [ -fFpPM ] [ -d debug-flags ] [ -S RAID-stride ] device [ size ]
    
    DESCRIPTION
           The  resize2fs  program  will  resize  ext2,  ext3,  or ext4 file systems.  It can be used to enlarge or shrink an unmounted file system
           located on device.  If the filesystem is mounted, it can be used to expand the size of the mounted filesystem, assuming the kernel  sup‐
           ports  on-line  resizing. 

    如果在xfs格式的文件系统中使用resize2fs命令,则会报如下错误:

    [root@rhel7 ~]# resize2fs /dev/mapper/vgdate-lvvol1
    resize2fs 1.42.9 (28-Dec-2013)
    resize2fs: Bad magic number in super-block while trying to open /dev/mapper/vgdate-lvvol1
    Couldn't find valid filesystem superblock.
    [root@rhel7 ~]# resize2fs -f /dev/mapper/vgdate-lvvol1
    resize2fs 1.42.9 (28-Dec-2013)
    resize2fs: Bad magic number in super-block while trying to open /dev/mapper/vgdate-lvvol1
    Couldn't find valid filesystem superblock.

    使用xfs_growfs命令扩展文件系统大小:

    [root@rhel7 ~]# xfs_growfs /dev/mapper/vgdate-lvvol1 
    meta-data=/dev/mapper/vgdate-lvvol1 isize=256    agcount=4, agsize=5888 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=0        finobt=0
    data     =                       bsize=4096   blocks=23552, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
    log      =internal               bsize=4096   blocks=853, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 23552 to 74752
    [root@rhel7 ~]# df -hT
    Filesystem                Type      Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root     xfs        18G  4.5G   13G  26% /
    devtmpfs                  devtmpfs  911M     0  911M   0% /dev
    tmpfs                     tmpfs     921M     0  921M   0% /dev/shm
    tmpfs                     tmpfs     921M  8.4M  912M   1% /run
    tmpfs                     tmpfs     921M     0  921M   0% /sys/fs/cgroup
    /dev/mapper/vgdate-lvvol1 xfs       289M  5.1M  284M   2% /lvmFiles   ----------已扩展完成
    /dev/sdd1                 xfs       497M  124M  374M  25% /boot
    tmpfs                     tmpfs     185M     0  185M   0% /run/user/0
  • 相关阅读:
    js中关于string的一些常用的方法
    HTML系列(九):表单
    HTML系列(八):表格
    HTML系列(七):多媒体
    HTML系列(六):划分文档结构
    HTML系列(五):超链接
    HTML系列(四):编辑图像
    HTML系列(三):文字设置
    HTML系列(二):头部meta元素
    HTML系列(一):创建HTML文档
  • 原文地址:https://www.cnblogs.com/rusking/p/5760849.html
Copyright © 2020-2023  润新知