zoukankan      html  css  js  c++  java
  • LVM-扩容目录

    LVM

    LVM是一种源自Unix环境,在Linux上广泛应用的逻辑虚拟盘存储方案。借助LVM,可以在保证各个Linux目录分区稳定,又可以实现各目录存储资源灵活分配。

    本文主要系统介绍Linux环境下,LVM实现资源扩容步骤方法。留待需要朋友待查。

    1、环境介绍

    笔者使用Linux 6.5进行测试,背景是一台用于测试搭建的数据库服务器,需要转换为正式投产,但是原有可用根节点空间只有50G左右。

    [root@Testserver vg_li6]# df -h

    Filesystem                          Size  Used Avail Use% Mounted on

    /dev/mapper/vg_li6-lv_root  50G  20G  27G  43% /

    tmpfs                                3.9G  232K  3.9G  1% /dev/shm

    /dev/sda1                            485M  39M  421M  9% /boot

    /dev/mapper/vg_li6-lv_home  26G  173M  24G  1% /home

    目标是通过外围虚拟化环境,增加存储空间,并且将增加的空间转移到/目录下。也就是增加在vg_li6虚拟磁盘组的lv_root逻辑卷下面。

    2、增加磁盘空间和分区

    联系负责虚拟化的同事,为虚拟机增加虚拟磁盘sdb。通过fdisk命令,可以比较清晰的查看到。

    [root@Testserver ~]# fdisk -l

    Disk /dev/sda: 85.9 GB, 85899345920 bytes

    255 heads, 63 sectors/track, 10443 cylinders

    (篇幅原因,有省略……)

    Disk /dev/sdb: 107.4 GB, 107374182400 bytes

    255 heads, 63 sectors/track, 13054 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x00000000

    使用fdisk命令进行格式化。

    [root@Testserver ~]# fdisk /dev/sdb

    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel

    Building a new DOS disklabel with disk identifier 0x44e9daf0.

    Changes will remain in memory only, until you decide to write them.

    After that, of course, the previous content won't be recoverable.

    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

            switch off the mode (command 'c') and change display units to

            sectors (command 'u').

    Command (m for help): n –创建新的磁盘组

    Command action

      e  extended

      p  primary partition (1-4)

    p

    Partition number (1-4): 1

    First cylinder (1-13054, default 1): 

    Using default value 1

    Last cylinder, +cylinders or +size{K,M,G} (1-13054, default 13054): 

    Using default value 13054

    Command (m for help): w –写入磁盘分区信息

    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    Syncing disks.

    查看fdisk结果。

    [root@Testserver ~]# fdisk -l

    Disk /dev/sda: 85.9 GB, 85899345920 bytes

    255 heads, 63 sectors/track, 10443 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x00064fe0

      Device Boot      Start        End      Blocks  Id  System

    /dev/sda1  *          1          64      512000  83  Linux

    Partition 1 does not end on cylinder boundary.

    /dev/sda2              64      10444    83373056  8e  Linux LVM

    (篇幅原因,有省略……)

    Disk /dev/sdb: 107.4 GB, 107374182400 bytes

    255 heads, 63 sectors/track, 13054 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk identifier: 0x44e9daf0

      Device Boot      Start        End      Blocks  Id  System

    /dev/sdb1              1      13054  104856223+  83  Linux

    3、LVM管理设置

    总的步骤应该是这样:首先需要让LVM认可/dev/sdb1是一个可用的PV(Physical Volume),之后将其加入到VG里面去,补充VG资源。最后拓展lv_root磁盘空间。

    当前LVM情况如下:

    lvm> vgs

      VG              #PV #LV #SN Attr  VSize  VFree

      vg_li6  1  3  0 wz--n- 79.51g    0 

    lvm> lvs

      LV      VG              Attr      LSize  Pool Origin Data%  Move Log Cpy%Sync Convert

      lv_home vg_li6 -wi-ao---- 25.63g                                             

      lv_root vg_li6 -wi-ao---- 50.00g                                             

      lv_swap vg_li6 -wi-ao----  3.88g     

    lvm> pvs

      PV        VG              Fmt  Attr PSize  PFree

      /dev/sda2  vg_li6 lvm2 a--  79.51g    0

    此时的pv只有一个/dev/sda2,全部用满。首先创建/dev/sdb1作为PV。

    [root@Testserver ~]# pvcreate /dev/sdb1

      dev_is_mpath: failed to get device for 8:17

      Physical volume "/dev/sdb1" successfully created

    [root@Testserver ~]# pvs

      PV        VG              Fmt  Attr PSize  PFree 

      /dev/sda2  vg_li6 lvm2 a--  79.51g      0 

      /dev/sdb1                  lvm2 a--  100.00g 100.00g

    往VG里面增加PV,作为空间拓容。

    lvm> vgs

      VG              #PV #LV #SN Attr  VSize  VFree

      vg_li6  1  3  0 wz--n- 79.51g    0

    lvm> vgextend vg_li6 /dev/sdb1

      Volume group "vg_li6" successfully extended

    lvm> vgs

      VG              #PV #LV #SN Attr  VSize  VFree 

      vg_li6  2  3  0 wz--n- 179.50g 100.00g –剩余空间增加

    lvm> pvs

      PV        VG              Fmt  Attr PSize  PFree 

      /dev/sda2  vg_li6 lvm2 a--  79.51g      0 

      /dev/sdb1  vg_li6 lvm2 a--  100.00g 100.00g

    拓展lv_root空间。

    [root@Testserver vg_li6]# lvextend -L +70G /dev/vg_li6/lv_root 

      Extending logical volume lv_root to 120.00 GiB

      Logical volume lv_root successfully resized

    4、文件系统识别

    注意:此时文件系统并没有认可本次增加。

    [root@Testserver vg_li6]# df -h

    Filesystem                          Size  Used Avail Use% Mounted on

    /dev/mapper/vg_li6-lv_root  50G  20G  27G  43% /

    tmpfs                                3.9G  232K  3.9G  1% /dev/shm

    /dev/sda1                            485M  39M  421M  9% /boot

    /dev/mapper/vg_li6-lv_home  26G  173M  24G  1% /home

    需要使用resize2fs命令进行刷新。

    [root@Testserver vg_li6]# resize2fs /dev/vg_li6/lv_root

    resize2fs 1.41.12 (17-May-2010)

    Filesystem at /dev/vg_li6/lv_root is mounted on /; on-line resizing required

    old desc_blocks = 4, new_desc_blocks = 8

    Performing an on-line resize of /dev/vg_li6/lv_root to 31457280 (4k) blocks.

    The filesystem on /dev/vg_li6/lv_root is now 31457280 blocks long.

    [root@Testserver vg_li6]# df -h

    Filesystem                          Size  Used Avail Use% Mounted on

    /dev/mapper/vg_li6-lv_root  119G  20G  93G  18% /

    tmpfs                                3.9G  232K  3.9G  1% /dev/shm

    /dev/sda1                            485M  39M  421M  9% /boot

    /dev/mapper/vg_li6-lv_home  26G  173M  24G  1% /home

  • 相关阅读:
    JavaScript Patterns 5.7 Object Constants
    JavaScript Patterns 5.6 Static Members
    JavaScript Patterns 5.5 Sandbox Pattern
    JavaScript Patterns 5.4 Module Pattern
    JavaScript Patterns 5.3 Private Properties and Methods
    JavaScript Patterns 5.2 Declaring Dependencies
    JavaScript Patterns 5.1 Namespace Pattern
    JavaScript Patterns 4.10 Curry
    【Android】如何快速构建Android Demo
    【Android】如何实现ButterKnife
  • 原文地址:https://www.cnblogs.com/Su-per-man/p/9493964.html
Copyright © 2011-2022 走看看