zoukankan      html  css  js  c++  java
  • LVM逻辑卷管理

    1.1LVM的概念

    LVM是Logical Volume Manager的简称,译为中文就是逻辑卷管理。它是linux系统对磁盘分区的一种管理机制。

    LVM是在硬盘分区之上建立一个逻辑层,这个逻辑层让多个硬盘或分区看起来像一块逻辑硬盘,然后将这块硬盘分成

    逻辑卷之后使用,从而大大提高了分区的灵活性。我们把真实的物理硬盘或分区称作物理卷(PV);由多个

    物理卷组成一块大的逻辑硬盘,叫做卷组(VG);将卷组划分成多个可以使用的分区,叫做逻辑卷(LV)。

    而在LVM中最小的存储单位不再是block,而是物理扩展块(Physical Extend,PE)。

    物理卷(PV):就是真正的物理硬盘或分区。

    卷组(VG):将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一块硬盘的不同分区,也可以是不同硬盘的

    不同分区。我们可以把卷组想象为一块逻辑硬盘。

    逻辑卷(LV):卷组是一块逻辑硬盘,硬盘必须分区之后才能使用。

    我们把这个分区称作逻辑卷。逻辑卷可以被格式化和写入数据。我们可以把逻辑卷想象为分区。

    物理扩展(PE):PE是用来保存数据的最小单元,我们的数据实际上都是写入PE当中的。PE的大小是可以配置的,默认是4MB

    也就是说,我们建立LVM的时候,需要按照以下步骤来进行:

    1.把物理硬盘分成分区,当然也可以是整块物理硬盘。

    2.把物理分区建立为物理卷,也可以直接把整块硬盘都建立为物理卷

    3.把物理卷整合为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理卷从卷组中删除

    4.把卷再划分为逻辑卷(LV),当然逻辑卷的大小也是可以直接调整的。我们说的逻辑卷可以想象为分区,所以也需要格式化和挂载

    1.2LVM物理卷管理

      1.硬盘分区

    首先建立所需的物理分区,创建方式就是使用fdisk交互命令。分区的系统ID 不再是linux默认的分区ID 83,而要改成LVM的ID 8e,再/dev/sdb硬盘中还有空

    闲空间,在这个硬盘中新建立3个分区,每个分区大小为1GB

      新建两个主分区并把分区ID更改为8e

    [root@andy ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。

    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。


    命令(输入 m 获取帮助):d
    分区号 (1-5,默认 5):
    分区 5 已删除

    命令(输入 m 获取帮助):d
    分区号 (1-4,默认 4):
    分区 4 已删除

    命令(输入 m 获取帮助):d
    分区号 (1-3,默认 3):
    分区 3 已删除

    命令(输入 m 获取帮助):d
    分区号 (1,2,默认 2):
    分区 2 已删除

    命令(输入 m 获取帮助):w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
    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)
    正在同步磁盘。
    [root@andy ~]# partprobe
    Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    [root@andy ~]#
    [root@andy ~]#
    [root@andy ~]#
    [root@andy ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。

    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。


    命令(输入 m 获取帮助):n
    Partition type:
    p primary (1 primary, 0 extended, 3 free)
    e extended
    Select (default p):
    Using default response p
    分区号 (2-4,默认 2):
    起始 扇区 (10487808-41943039,默认为 10487808):
    将使用默认值 10487808
    Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+1G
    分区 2 已设置为 Linux 类型,大小设为 1 GiB

    命令(输入 m 获取帮助):n
    Partition type:
    p primary (2 primary, 0 extended, 2 free)
    e extended
    Select (default p):
    Using default response p
    分区号 (3,4,默认 3):
    起始 扇区 (12584960-41943039,默认为 12584960):
    将使用默认值 12584960
    Last 扇区, +扇区 or +size{K,M,G} (12584960-41943039,默认为 41943039):+1G
    分区 3 已设置为 Linux 类型,大小设为 1 GiB

    命令(输入 m 获取帮助):P

    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xf96e9353

    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 8e Linux LVM
    /dev/sdb2 10487808 12584959 1048576 83 Linux
    /dev/sdb3 12584960 14682111 1048576 83 Linux

    命令(输入 m 获取帮助):t
    分区号 (1-3,默认 3):
    Hex 代码(输入 L 列出所有代码):8e
    已将分区“Linux”的类型更改为“Linux LVM”

    命令(输入 m 获取帮助):t
    分区号 (1-3,默认 3):2
    Hex 代码(输入 L 列出所有代码):8e
    已将分区“Linux”的类型更改为“Linux LVM”

    命令(输入 m 获取帮助):w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
    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)
    正在同步磁盘。
    [root@andy ~]# partprobe
    Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    [root@andy ~]# fdisk -l

    磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x0001e7cb

    设备 Boot Start End Blocks Id System
    /dev/sda1 * 2048 2099199 1048576 83 Linux
    /dev/sda2 2099200 41943039 19921920 8e Linux LVM

    磁盘 /dev/mapper/cl-root:18.2 GB, 18249416704 字节,35643392 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节


    磁盘 /dev/mapper/cl-swap:2147 MB, 2147483648 字节,4194304 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节


    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xf96e9353

    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 8e Linux LVM
    /dev/sdb2 10487808 12584959 1048576 8e Linux LVM
    /dev/sdb3 12584960 14682111 1048576 8e Linux LVM
    [root@andy ~]#

      新建5G扩展分区并建1G逻辑分区

    [root@andy ~]# fdisk /dev/sdb
    欢迎使用 fdisk (util-linux 2.23.2)。

    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。


    命令(输入 m 获取帮助):n
    Partition type:
    p primary (3 primary, 0 extended, 1 free)
    e extended
    Select (default e): e
    已选择分区 4
    起始 扇区 (14682112-41943039,默认为 14682112):
    将使用默认值 14682112
    Last 扇区, +扇区 or +size{K,M,G} (14682112-41943039,默认为 41943039):+5G
    分区 4 已设置为 Extended 类型,大小设为 5 GiB

    命令(输入 m 获取帮助):n
    All primary partitions are in use
    添加逻辑分区 5
    起始 扇区 (14684160-25167871,默认为 14684160):
    将使用默认值 14684160
    Last 扇区, +扇区 or +size{K,M,G} (14684160-25167871,默认为 25167871):+1G
    分区 5 已设置为 Linux 类型,大小设为 1 GiB

    命令(输入 m 获取帮助):t
    分区号 (1-5,默认 5):
    Hex 代码(输入 L 列出所有代码):8e
    已将分区“Linux”的类型更改为“Linux LVM”

    命令(输入 m 获取帮助):P

    磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0xf96e9353

    设备 Boot Start End Blocks Id System
    /dev/sdb1 2048 10487807 5242880 8e Linux LVM
    /dev/sdb2 10487808 12584959 1048576 8e Linux LVM
    /dev/sdb3 12584960 14682111 1048576 8e Linux LVM
    /dev/sdb4 14682112 25167871 5242880 5 Extended
    /dev/sdb5 14684160 16781311 1048576 8e Linux LVM

    命令(输入 m 获取帮助):w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
    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)
    正在同步磁盘。
    [root@andy ~]# partprobe
    Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
    [root@andy ~]#

    [root@andy ~]# ls /dev/sd*
    /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4 /dev/sdb5
    [root@andy ~]#

      2.建立物理卷

    在建立物理卷时,我们既可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。

      建立三个物理卷

    [root@andy ~]# pvcreate /dev/sdb2
    Physical volume "/dev/sdb2" successfully created.
    [root@andy ~]# pvcreate /dev/sdb3
    Physical volume "/dev/sdb3" successfully created.
    [root@andy ~]# pvcreate /dev/sdb5
    Physical volume "/dev/sdb5" successfully created.
    [root@andy ~]#

      3.查看物理卷

    查看物理卷的命令有两个

      第一个是pvscan,用来查询系统中哪些硬盘或分区是物理卷

    [root@andy ~]# pvscan
    PV /dev/sda2 VG cl lvm2 [19.00 GiB / 0 free]
    PV /dev/sdb5 lvm2 [1.00 GiB]
    PV /dev/sdb3 lvm2 [1.00 GiB]
    PV /dev/sdb2 lvm2 [1.00 GiB]
    Total: 4 [22.00 GiB] / in use: 1 [19.00 GiB] / in no VG: 3 [3.00 GiB]

      第二个查询命令是pvdisplay,它可以查看到更详细的物理卷状态

    [root@andy ~]# pvdisplay
    --- Physical volume ---
    PV Name /dev/sda2            pv名
    VG Name cl                vg名
    PV Size 19.00 GiB / not usable 3.00 MiB    pv大小
    Allocatable yes (but full)      是否分配
    PE Size 4.00 MiB          PE尺寸
    Total PE 4863          PE数量
    Free PE 0            空闲PE数量
    Allocated PE 4863        可分配的PE数量
    PV UUID fYCpc9-7zqc-LoP5-8Qy4-83FJ-RCDH-ZZxZOS    PV的uuid

    "/dev/sdb5" is a new physical volume of "1.00 GiB"
    --- NEW Physical volume ---
    PV Name /dev/sdb5
    VG Name
    PV Size 1.00 GiB
    Allocatable NO
    PE Size 0
    Total PE 0
    Free PE 0
    Allocated PE 0
    PV UUID d6z0ui-j33c-MH5p-EaSF-ibTr-dwIi-rObql0

    "/dev/sdb3" is a new physical volume of "1.00 GiB"
    --- NEW Physical volume ---
    PV Name /dev/sdb3
    VG Name
    PV Size 1.00 GiB
    Allocatable NO
    PE Size 0
    Total PE 0
    Free PE 0
    Allocated PE 0
    PV UUID 9I8SgA-pRsf-yXiY-eljY-f5X5-GRYD-6bSUEY

    "/dev/sdb2" is a new physical volume of "1.00 GiB"
    --- NEW Physical volume ---
    PV Name /dev/sdb2
    VG Name
    PV Size 1.00 GiB
    Allocatable NO
    PE Size 0
    Total PE 0
    Free PE 0
    Allocated PE 0
    PV UUID SReQ8P-0ruK-1MzH-9r87-m3cn-v0L2-cWJeA5

      4.删除物理卷

      如果不需要的物理卷,则使用pvremove命令删除,已经被使用的组成卷组的不可以删除,如果一定要删除要先解除卷组

    [root@andy ~]# pvremove /dev/sda2
    Can't open /dev/sda2 exclusively. Mounted filesystem?
    [root@andy ~]# pvremove /dev/sdb2
    Labels on physical volume "/dev/sdb2" successfully wiped.
    [root@andy ~]# pvscan
    PV /dev/sda2 VG cl lvm2 [19.00 GiB / 0 free]
    PV /dev/sdb5 lvm2 [1.00 GiB]
    PV /dev/sdb3 lvm2 [1.00 GiB]
    Total: 3 [21.00 GiB] / in use: 1 [19.00 GiB] / in no VG: 2 [2.00 GiB]
    [root@andy ~]#

      将删除的物理卷重新创建

    [root@andy ~]# pvcreate /dev/sdb2
    Physical volume "/dev/sdb2" successfully created.
    [root@andy ~]# pvscan
    PV /dev/sda2 VG cl lvm2 [19.00 GiB / 0 free]
    PV /dev/sdb5 lvm2 [1.00 GiB]
    PV /dev/sdb3 lvm2 [1.00 GiB]
    PV /dev/sdb2 lvm2 [1.00 GiB]
    Total: 4 [22.00 GiB] / in use: 1 [19.00 GiB] / in no VG: 3 [3.00 GiB]
    [root@andy ~]#

      注意:

    在删除物理卷时,物理卷必须不属于任何卷组,也就是需要先将物理卷从卷组中删除,再删除物理卷。

    其实所有的删除就是把创建过程反过来,建立时不能少某个步骤,删除时也同样不能跳过某一步直接删除。

    1.3LVM卷组管理

    物理分区已经建立,我们也把物理分区建立成了物理卷,接下来就要建立卷组。卷组是由多个物理卷组成的。

    卷组就可以动态的调整大小了,当卷组空间不足时,可以向卷组中添加新的物理卷。

      1.建立卷组

      使用/dev/sdb2和/dev/sdb3建立卷组

    [root@andy ~]# vgcreate -s 8MB vg1 /dev/sdb2 /dev/sdb3  -s指定PE大小  vg1卷组名  后边两个是组成卷组的物理卷
    Volume group "vg1" successfully created
    [root@andy ~]#

      2.查看卷组

    查看卷组的命令同样有两个

      vgscan命令主要用于查看系统中是否有卷组,vgdisplay用于查看卷组的详细状态。

    [root@andy ~]# vgscan
    Reading volume groups from cache.
    Found volume group "cl" using metadata type lvm2
    Found volume group "vg1" using metadata type lvm2
    [root@andy ~]# vgdisplay
    --- Volume group ---
    VG Name cl
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 3
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 2
    Open LV 2
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 19.00 GiB
    PE Size 4.00 MiB
    Total PE 4863
    Alloc PE / Size 4863 / 19.00 GiB
    Free PE / Size 0 / 0
    VG UUID I6Qk0g-DZWM-xJMw-EShG-p9IJ-Xe9c-A2e9UR

    --- Volume group ---
    VG Name vg1
    System ID
    Format lvm2
    Metadata Areas 2
    Metadata Sequence No 1
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 0
    Open LV 0
    Max PV 0
    Cur PV 2
    Act PV 2
    VG Size 1.98 GiB
    PE Size 8.00 MiB
    Total PE 254
    Alloc PE / Size 0 / 0
    Free PE / Size 254 / 1.98 GiB
    VG UUID mTlluj-g1iK-9KDS-lwfC-7MZ4-uaf8-sujejy

    [root@andy ~]#

      3.增加卷组容量

      我们现在要把/dev/sdb5加入卷组,使用的命令是vgextend

    [root@andy ~]# vgextend vg1 /dev/sdb5
    Volume group "vg1" successfully extended
    [root@andy ~]# vgdisplay
    --- Volume group ---
    VG Name cl
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 3
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 2
    Open LV 2
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 19.00 GiB
    PE Size 4.00 MiB
    Total PE 4863
    Alloc PE / Size 4863 / 19.00 GiB
    Free PE / Size 0 / 0
    VG UUID I6Qk0g-DZWM-xJMw-EShG-p9IJ-Xe9c-A2e9UR

    --- Volume group ---
    VG Name vg1
    System ID
    Format lvm2
    Metadata Areas 3
    Metadata Sequence No 2
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 0
    Open LV 0
    Max PV 0
    Cur PV 3
    Act PV 3
    VG Size 2.98 GiB
    PE Size 8.00 MiB
    Total PE 381
    Alloc PE / Size 0 / 0
    Free PE / Size 381 / 2.98 GiB
    VG UUID mTlluj-g1iK-9KDS-lwfC-7MZ4-uaf8-sujejy

    [root@andy ~]#

      4.减少卷组容量

      减少卷组容量使用vgreduce命令在卷组中删除物理卷

    [root@andy ~]# vgreduce scvg /dev/sdb5
    Volume group "scvg" not found
    Cannot process volume group scvg
    Volume group "scvg" not found
    Cannot process volume group scvg
    Failed to find physical volume "/dev/sdb5".
    [root@andy ~]# vgdisplay
    --- Volume group ---
    VG Name cl
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 3
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 2
    Open LV 2
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 19.00 GiB
    PE Size 4.00 MiB
    Total PE 4863
    Alloc PE / Size 4863 / 19.00 GiB
    Free PE / Size 0 / 0
    VG UUID I6Qk0g-DZWM-xJMw-EShG-p9IJ-Xe9c-A2e9UR

    --- Volume group ---
    VG Name vg1
    System ID
    Format lvm2
    Metadata Areas 3
    Metadata Sequence No 2
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 0
    Open LV 0
    Max PV 0
    Cur PV 3
    Act PV 3
    VG Size 2.98 GiB
    PE Size 8.00 MiB
    Total PE 381
    Alloc PE / Size 0 / 0
    Free PE / Size 381 / 2.98 GiB
    VG UUID mTlluj-g1iK-9KDS-lwfC-7MZ4-uaf8-sujejy

    [root@andy ~]# pvscan
    PV /dev/sda2 VG cl lvm2 [19.00 GiB / 0 free]
    PV /dev/sdb2 VG vg1 lvm2 [1016.00 MiB / 1016.00 MiB free]
    PV /dev/sdb3 VG vg1 lvm2 [1016.00 MiB / 1016.00 MiB free]
    PV /dev/sdb5 VG vg1 lvm2 [1016.00 MiB / 1016.00 MiB free]
    Total: 4 [21.97 GiB] / in use: 4 [21.97 GiB] / in no VG: 0 [0 ]
    [root@andy ~]#

      5.删除卷组

      删除卷组命令是vgremove

    [root@andy ~]# vgremove vg1
    Volume group "vg1" successfully removed
    [root@andy ~]# vgscan
    Reading volume groups from cache.
    Found volume group "cl" using metadata type lvm2
    [root@andy ~]#

      重新创建回来

    [root@andy ~]# vgcreate -s 8MB vg1 /dev/sdb2 /dev/sdb3 /dev/sdb5
    Volume group "vg1" successfully created
    [root@andy ~]# vgdisplay
    --- Volume group ---
    VG Name cl
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 3
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 2
    Open LV 2
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 19.00 GiB
    PE Size 4.00 MiB
    Total PE 4863
    Alloc PE / Size 4863 / 19.00 GiB
    Free PE / Size 0 / 0
    VG UUID I6Qk0g-DZWM-xJMw-EShG-p9IJ-Xe9c-A2e9UR

    --- Volume group ---
    VG Name vg1
    System ID
    Format lvm2
    Metadata Areas 3
    Metadata Sequence No 1
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 0
    Open LV 0
    Max PV 0
    Cur PV 3
    Act PV 3
    VG Size 2.98 GiB
    PE Size 8.00 MiB
    Total PE 381
    Alloc PE / Size 0 / 0
    Free PE / Size 381 / 2.98 GiB
    VG UUID Rb1igK-NUv0-Sc2Q-lX4P-aZVD-C3aO-0yiwxc

    [root@andy ~]#

      注意:

    只有在删除卷组之后,才能删除物理卷,vg1卷组中还没有添加任何逻辑卷,如果拥有了逻辑卷,则需要先删除逻辑卷再删除卷组。

    删除就是安装反过来的过程,每一步都不能跳过。

    1.4LVM逻辑卷管理

    卷组建立完成后,接下来需要把卷组再划分为逻辑卷。我们可以把逻辑卷想象成分区,那么这个逻辑辑卷当然也需要被格式化和挂载。

    另外,逻辑卷也是可以动态调整大小的,而且数据不会丢失,也不用卸载逻辑卷。

      1.建立逻辑卷

    我们现在已经建立了3GB大小的卷组vg1,接下来在卷组中建立逻辑卷。

    lvcreate  [选项]  [-n 逻辑卷名]  卷组名

    -L  容量:指定逻辑卷大小,单位MB、GB、TB等

    -l  个数:按照PE个数指定逻辑卷大小,这个参数需要换算容量,太麻烦

    -n  逻辑卷名:指定逻辑卷名

      建立一个1.5GB大小的lamplv逻辑卷,命令如下:

    [root@andy ~]# lvcreate -L 1.5GB -n lamplv vg1
    Logical volume "lamplv" created.
    [root@andy ~]#

    建立完逻辑卷还要在格式化和挂载之后才能正常使用。格式化和挂载命令与操作普通分区时是一样的,不过需要注意的是,逻辑卷的设备文件名是“/dev/卷组名/逻辑卷名”

    如逻辑卷lamplv的设备文件名就是“/dev/vg1/lamplv”

    [root@andy ~]# lvcreate -L 1.5GB -n lamplv vg1
    WARNING: xfs signature detected on /dev/vg1/lamplv at offset 0. Wipe it? [y/n]: y
    Wiping xfs signature on /dev/vg1/lamplv.
    Logical volume "lamplv" created.
    [root@andy ~]#
    [root@andy ~]#
    [root@andy ~]# mkfs.xfs /dev/vg1/lamplv
    meta-data=/dev/vg1/lamplv isize=512 agcount=4, agsize=98304 blks
    = sectsz=512 attr=2, projid32bit=1
    = crc=1 finobt=0, sparse=0
    data = bsize=4096 blocks=393216, imaxpct=25
    = sunit=0 swidth=0 blks
    naming =version 2 bsize=4096 ascii-ci=0 ftype=1
    log =internal log bsize=4096 blocks=2560, version=2
    = sectsz=512 sunit=0 blks, lazy-count=1
    realtime =none extsz=4096 blocks=0, rtextents=0
    [root@andy ~]# mount /dev/vg1/lamplv /root/disklvm
    [root@andy ~]# mount | grep lamplv
    /dev/mapper/vg1-lamplv on /root/disklvm type xfs (rw,relatime,attr2,inode64,noquota)
    [root@andy ~]#

    [root@andy ~]# df -hT | grep lamplv
    /dev/mapper/vg1-lamplv xfs 1.5G 33M 1.5G 3% /root/disklvm
    [root@andy ~]#

    这样就可以正常使用了,如果需要开机后自动挂载,则要修改/etc/fstab

      2.查看逻辑卷

      查看命令同样有两个,第一个命令lvscan只能看到系统中是否拥有逻辑卷

    [root@andy ~]# lvscan
    ACTIVE '/dev/cl/swap' [2.00 GiB] inherit
    ACTIVE '/dev/cl/root' [17.00 GiB] inherit
    ACTIVE '/dev/vg1/lamplv' [1.50 GiB] inherit
    [root@andy ~]#

      第二个命令lvdisplay

    [root@andy ~]# lvdisplay
    --- Logical volume ---
    LV Path /dev/cl/swap
    LV Name swap
    VG Name cl
    LV UUID BFUSV1-mmK3-fjiq-uPQY-7Koa-x7Rh-culBcV
    LV Write Access read/write
    LV Creation host, time localhost.localdomain, 2019-07-03 07:48:48 +0800
    LV Status available
    # open 2
    LV Size 2.00 GiB
    Current LE 512
    Segments 1
    Allocation inherit
    Read ahead sectors auto
    - currently set to 8192
    Block device 253:1

    --- Logical volume ---
    LV Path /dev/cl/root
    LV Name root
    VG Name cl
    LV UUID Me25T7-dT3k-Y360-ZX3M-XvYQ-8nDO-5hxKL3
    LV Write Access read/write
    LV Creation host, time localhost.localdomain, 2019-07-03 07:48:49 +0800
    LV Status available
    # open 1
    LV Size 17.00 GiB
    Current LE 4351
    Segments 1
    Allocation inherit
    Read ahead sectors auto
    - currently set to 8192
    Block device 253:0

    --- Logical volume ---
    LV Path /dev/vg1/lamplv
    LV Name lamplv
    VG Name vg1
    LV UUID j2Q0Uu-mUej-gMQ2-jJGN-9Nyt-EVpD-F3uesR
    LV Write Access read/write
    LV Creation host, time andy, 2019-12-26 08:04:45 +0800
    LV Status available
    # open 1
    LV Size 1.50 GiB
    Current LE 192
    Segments 2
    Allocation inherit
    Read ahead sectors auto
    - currently set to 8192
    Block device 253:2

    [root@andy ~]#

      3.调整逻辑卷大小

    我们可以使用lvresize命令调整逻辑卷大小,一般不会去减小逻辑卷空间,容易导致数据丢失。

    除非已经备份了逻辑卷中的数据,否则不要减小逻辑卷的空间。

    lvresize  [选项]  逻辑卷的设备文件名

    -L  容量:安装容量调整大小,单位为KB、GB、TB等使用+代表增加空间,使用 - 代表减少空间。

        如果直接写容量,则代表设定逻辑卷大小为指定大小。

    -l  个数:按照PE个数调整逻辑卷大小

      将lamplv逻辑卷扩容至2.5G

    [root@andy ~]# lvresize -L 2.5G /dev/vg1/lamplv
    Size of logical volume vg1/lamplv changed from 1.50 GiB (192 extents) to 2.50 GiB (320 extents).
    Logical volume vg1/lamplv successfully resized.
    [root@andy ~]#

    [root@andy ~]# lvdisplay
    --- Logical volume ---
    LV Path /dev/cl/swap
    LV Name swap
    VG Name cl
    LV UUID BFUSV1-mmK3-fjiq-uPQY-7Koa-x7Rh-culBcV
    LV Write Access read/write
    LV Creation host, time localhost.localdomain, 2019-07-03 07:48:48 +0800
    LV Status available
    # open 2
    LV Size 2.00 GiB
    Current LE 512
    Segments 1
    Allocation inherit
    Read ahead sectors auto
    - currently set to 8192
    Block device 253:1

    --- Logical volume ---
    LV Path /dev/cl/root
    LV Name root
    VG Name cl
    LV UUID Me25T7-dT3k-Y360-ZX3M-XvYQ-8nDO-5hxKL3
    LV Write Access read/write
    LV Creation host, time localhost.localdomain, 2019-07-03 07:48:49 +0800
    LV Status available
    # open 1
    LV Size 17.00 GiB
    Current LE 4351
    Segments 1
    Allocation inherit
    Read ahead sectors auto
    - currently set to 8192
    Block device 253:0

    --- Logical volume ---
    LV Path /dev/vg1/lamplv
    LV Name lamplv
    VG Name vg1
    LV UUID j2Q0Uu-mUej-gMQ2-jJGN-9Nyt-EVpD-F3uesR
    LV Write Access read/write
    LV Creation host, time andy, 2019-12-26 08:04:45 +0800
    LV Status available
    # open 1
    LV Size 2.50 GiB
    Current LE 320
    Segments 3
    Allocation inherit
    Read ahead sectors auto
    - currently set to 8192
    Block device 253:2

    [root@andy ~]#

    逻辑卷大小已经改变但是:

    [root@andy ~]# df -hT
    文件系统 类型 容量 已用 可用 已用% 挂载点
    /dev/mapper/cl-root xfs 17G 2.0G 16G 12% /
    devtmpfs devtmpfs 902M 0 902M 0% /dev
    tmpfs tmpfs 912M 0 912M 0% /dev/shm
    tmpfs tmpfs 912M 8.7M 904M 1% /run
    tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
    /dev/sda1 xfs 1014M 139M 876M 14% /boot
    /dev/sdb1 xfs 5.0G 33M 5.0G 1% /disk
    tmpfs tmpfs 183M 0 183M 0% /run/user/0
    /dev/mapper/vg1-lamplv xfs 1.5G 33M 1.5G 3% /root/disklvm
    [root@andy ~]#

      可以看到挂载的/dev/vg1/lamplv大小依然是1.5G

      不需要卸载,可以直接使用resize2fs调整逻辑卷大小

      resize2fs  [选项]  [设备文件名]  [调整大小]

    命令如下:

    [root@andy ~]# resize2fs /dev/vg1/lamplv

      4.删除逻辑卷

    删除逻辑卷数据就会丢失,如果确定删除逻辑卷,首先卸载,然后使用lvremove删除

    [root@andy ~]# umount /dev/vg1/lamplv
    [root@andy ~]# lvremove /dev/vg1/lamplv
    Do you really want to remove active logical volume vg1/lamplv? [y/n]: y
    Logical volume "lamplv" successfully removed
    [root@andy ~]#

  • 相关阅读:
    2020-05-12 Linux基本操作
    SpringBoot项目设置能访问静态资源,resource/static目录下文件
    2020-04-25 Hadoop框架学习
    2020-05-24 vue简单语法
    2020-04-25 elasticsearch
    2020-04-25 kafka
    2020-04-11 函数式数据处理(Java8)
    2020-03-29 分布式事务解决方案(RocketMQ)
    配置文件示例
    Spring-data-redis实现消息队列的demo(附源码)
  • 原文地址:https://www.cnblogs.com/yzandy/p/12092592.html
Copyright © 2011-2022 走看看