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

    补充说明

    1.

    在增大lv时,同步文件系统,ext4的文件系统采用resize2fs命令,而xfs文件系统采用xfs_growfs命令同步。


    2. 逻辑卷的快照技术

    写时复制技术 COW  

    主要是用解决备份时数据一致性的问题。 也可以用在虚拟机快照。

    演示过程:
    为已存在的逻辑卷/dev/vg02/lv02创建大小为1G的快照。
    [root@geust02 ~]# lvcreate -s -L 1G -n lv02s /dev/vg02/lv02

    xfs文件系统不允许两个相同的UUID设备同时挂载,所以挂载时,要采用-o nouuid的选项。(而ext4文件系统则无此问题。)

    [root@geust02 ~]# blkid /dev/vg02/lv02*
    /dev/vg02/lv02: UUID="88e8def7-1ea2-4cb8-87d3-9cf608c84ef7" TYPE="xfs"
    /dev/vg02/lv02s: UUID="88e8def7-1ea2-4cb8-87d3-9cf608c84ef7" TYPE="xfs"

    [root@geust02 ~]# mount /dev/vg02/lv02 /dd/

    [root@geust02 ~]# mount -o nouuid /dev/vg02/lv02s /ee/

    [root@geust02 ~]# df -hT |grep vg02
    /dev/mapper/vg02-lv02 xfs 10G 33M 10G 1% /dd
    /dev/mapper/vg02-lv02s xfs 10G 33M 10G 1% /ee

    3. 关于缩小LVM

    对于ext4文件系统,可以进行缩小。
    umount /dev/vg02/lv03

    e2fsck -f /dev/vg02/lv03 5G

    resize2fs /dev/vg02/lv03 5G


    lvreduce -L 5G /dev/vg02/lv03

    对于xfs文件系统,不支持缩小。

    4. 删除LVM

    删除lv
    umount /dev/vg02/lv02
    lvchange -a n /dev/vg02/lv02
    lvremove /dev/vg02/lv02 (不做)

    删除vg
    vgchange -a n vg02
    vgremove vg02

    删除pv
    pvremove /dev/sdb1


    5. 迁移逻辑卷

    vgchange -a y vg02

    -----------------
    基础练习1答案

    [root@server01 ~]# fdisk -l |grep vd
    磁盘 /dev/vda:21.5 GB, 21474836480 字节,41943040 个扇区
    /dev/vda1 * 2048 1026047 512000 83 Linux
    /dev/vda2 1026048 41943039 20458496 8e Linux LVM
    磁盘 /dev/vdb:2147 MB, 2147483648 字节,4194304 个扇区
    磁盘 /dev/vdc:5368 MB, 5368709120 字节,10485760 个扇区
    [root@server01 ~]# fdisk /dev/vdb
    欢迎使用 fdisk (util-linux 2.23.2)。

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

    Device does not contain a recognized partition table
    使用磁盘标识符 0x8dc79bed 创建新的 DOS 磁盘标签。

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

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

    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@server01 ~]# fdisk /dev/vdb
    欢迎使用 fdisk (util-linux 2.23.2)。

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


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

    命令(输入 m 获取帮助):w
    The partition table has been altered!
    [root@server01 ~]# fdisk -l |grep vd
    磁盘 /dev/vda:21.5 GB, 21474836480 字节,41943040 个扇区
    /dev/vda1 * 2048 1026047 512000 83 Linux
    /dev/vda2 1026048 41943039 20458496 8e Linux LVM
    磁盘 /dev/vdb:2147 MB, 2147483648 字节,4194304 个扇区
    磁盘 /dev/vdc:5368 MB, 5368709120 字节,10485760 个扇区
    [root@server01 ~]# fdisk /dev/vdb
    欢迎使用 fdisk (util-linux 2.23.2)。

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

    Device does not contain a recognized partition table
    使用磁盘标识符 0x8dc79bed 创建新的 DOS 磁盘标签。

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

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

    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@server01 ~]# fdisk /dev/vdb
    欢迎使用 fdisk (util-linux 2.23.2)。

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


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

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

    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@server01 ~]# fdisk /dev/vdc
    欢迎使用 fdisk (util-linux 2.23.2)。

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

    Device does not contain a recognized partition table
    使用磁盘标识符 0xf81497d7 创建新的 DOS 磁盘标签。

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

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

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

    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@server01 ~]#
    [root@server01 ~]# fdisk -l |grep vd
    磁盘 /dev/vda:21.5 GB, 21474836480 字节,41943040 个扇区
    /dev/vda1 * 2048 1026047 512000 83 Linux
    /dev/vda2 1026048 41943039 20458496 8e Linux LVM
    磁盘 /dev/vdb:2147 MB, 2147483648 字节,4194304 个扇区
    /dev/vdb1 2048 4194303 2096128 8e Linux LVM
    磁盘 /dev/vdc:5368 MB, 5368709120 字节,10485760 个扇区
    /dev/vdc1 2048 10485759 5241856 8e Linux LVM
    [root@server01 ~]# cat /proc/partitions |grep vd
    252 0 20971520 vda
    252 1 512000 vda1
    252 2 20458496 vda2
    252 16 2097152 vdb
    252 17 2096128 vdb1
    252 32 5242880 vdc
    252 33 5241856 vdc1

    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@server01 ~]# fdisk /dev/vdc
    欢迎使用 fdisk (util-linux 2.23.2)。

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

    Device does not contain a recognized partition table
    使用磁盘标识符 0xf81497d7 创建新的 DOS 磁盘标签。

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

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

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

    Calling ioctl() to re-read partition table.
    正在同步磁盘。
    [root@server01 ~]#
    [root@server01 ~]# fdisk -l |grep vd
    磁盘 /dev/vda:21.5 GB, 21474836480 字节,41943040 个扇区
    /dev/vda1 * 2048 1026047 512000 83 Linux
    /dev/vda2 1026048 41943039 20458496 8e Linux LVM
    磁盘 /dev/vdb:2147 MB, 2147483648 字节,4194304 个扇区
    /dev/vdb1 2048 4194303 2096128 8e Linux LVM
    磁盘 /dev/vdc:5368 MB, 5368709120 字节,10485760 个扇区
    /dev/vdc1 2048 10485759 5241856 8e Linux LVM
    [root@server01 ~]# cat /proc/partitions |grep vd
    252 0 20971520 vda
    252 1 512000 vda1
    252 2 20458496 vda2
    252 16 2097152 vdb
    252 17 2096128 vdb1
    252 32 5242880 vdc
    252 33 5241856 vdc1


    [root@server01 ~]# pvcreate /dev/vdb1 /dev/vdc1
    Physical volume "/dev/vdb1" successfully created
    Physical volume "/dev/vdc1" successfully created

    [root@server01 ~]# vgcreate vg_test /dev/vdb1 /dev/vdc1
    Volume group "vg_test" successfully created

    [root@server01 ~]# lvcreate -n lv_test -L 4G vg_test
    Logical volume "lv_test" created.

    [root@server01 ~]# mkfs.ext4 /dev/vg_test/lv_test

    [root@server01 test]# dd if=/dev/zero of=test.db bs=3M count=1000

    [root@server01 test]# df -h |grep lv_test
    /dev/mapper/vg_test-lv_test 3.9G 3.0G 667M 82% /test


    基础练习2答案:

    [root@server01 test]# vgdisplay vg_test
    --- Volume group ---
    VG Name vg_test
    System ID
    Format lvm2
    Metadata Areas 2
    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 [root@server01 test]# vgdisplay vg_test
    --- Volume group ---
    VG Name vg_test
    System ID
    Format lvm2
    Metadata Areas 2
    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 2
    Act PV 2
    VG Size 6.99 GiB
    PE Size 4.00 MiB
    Total PE 1790
    Alloc PE / Size 1024 / 4.00 GiB
    Free PE / Size 766 / 2.99 GiB
    VG UUID mp0SsX-ptTk-Pljw-CClb-z3hi-60NT-YaJ1pv
    2
    Act PV 2
    VG Size 6.99 GiB
    PE Size 4.00 MiB
    Total PE 1790
    Alloc PE / Size 1024 / 4.00 GiB
    Free PE / Size 766 / 2.99 GiB
    VG UUID mp0SsX-ptTk-Pljw-CClb-z3hi-60NT-YaJ1pv

    [root@server01 test]# lvextend -L +2G /dev/vg_test/lv_test
    Size of logical volume vg_test/lv_test changed from 4.00 GiB (1024 extents) to 6.00 GiB (1536 extents).
    Logical volume lv_test successfully resized.
    [root@server01 test]# resize2fs /dev/vg_test/lv_test
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/vg_test/lv_test is mounted on /test; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    The filesystem on /dev/vg_test/lv_test is now 1572864 blocks long.

    [root@server01 test]# df -h |grep lv_test
    /dev/mapper/vg_test-lv_test 5.8G 3.0G 2.6G 54% /test


    vg_test只有7G

    加1G硬盘

    [root@server01 test]# fdisk -l |grep vdd
    磁盘 /dev/vdd:1073 MB, 1073741824 字节,2097152 个扇区
    /dev/vdd1 2048 2097151 1047552 8e Linux LVM


    [root@server01 test]# pvcreate /dev/vdd1
    Physical volume "/dev/vdd1" successfully created
    [root@server01 test]# vgextend vg_test /dev/vdd1
    Volume group "vg_test" successfully extended
    [root@server01 test]# vgdisplay vg_test
    --- Volume group ---
    VG Name vg_test
    System ID
    Format lvm2
    Metadata Areas 3
    Metadata Sequence No 4
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 1
    Open LV 1
    Max PV 0
    Cur PV 3
    Act PV 3
    VG Size 7.99 GiB
    PE Size 4.00 MiB
    Total PE 2045
    Alloc PE / Size 1536 / 6.00 GiB
    Free PE / Size 509 / 1.99 GiB
    VG UUID mp0SsX-ptTk-Pljw-CClb-z3hi-60NT-YaJ1pv


    [root@server01 test]# lvextend -l +100%FREE /dev/vg_test/lv_test
    Size of logical volume vg_test/lv_test changed from 6.00 GiB (1536 extents) to 7.99 GiB (2045 extents).
    Logical volume lv_test successfully resized.
    [root@server01 test]# resize2fs /dev/vg_test/lv_test
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/vg_test/lv_test is mounted on /test; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    The filesystem on /dev/vg_test/lv_test is now 2094080 blocks long.

    [root@server01 test]# df -h |grep lv_test
    /dev/mapper/vg_test-lv_test 7.8G 3.0G 4.5G 41% /test

  • 相关阅读:
    ORACLE--Connect By、Level、Start With的使用(Hierarchical query-层次查询)
    小工具-ANT
    测试类。。。重写篇
    java代码----求最大值,平均值。。。
    java代码,输入n多个数,求其平均值,虽有重复,但是第二次,我就乱写了
    java代码求输入数的平均值~~~~
    java代码求输入的三个数的最大值
    java代码switch语句求分数等级
    java代码求分数等级的输出~~~
    java代码 求和1+1/2+1/3+1/4+1/5+1/6+.......+1/n 的值~~~~
  • 原文地址:https://www.cnblogs.com/yczlove/p/7326785.html
Copyright © 2011-2022 走看看