逻辑卷小结

逻辑卷

逻辑卷:把不同大小的物理设备,抽象成一个完整的文件系统,方便对物理设备的管理与应用。

其基本步骤为:

1.将指定的设备设置为物理卷
    物理卷是指定大小的固定得物理区域
2.用一个或者多个物理卷创建一个卷组
3.创建逻辑卷
    在物理卷上创建的逻辑卷由物理区域组成,可以再逻辑卷上创建文件系统

    dm:device mapper ,将一个或多个底层块设备组织成一个逻辑设备的模块。

    /dev/mapper/VG_name/LV_name

pv管理工具:

常用命令:

  • pvs:显示pv的简要信息
          [root@laodeng6 ~]# pvs
          PV         VG   Fmt  Attr PSize  PFree
          /dev/sda2  vg0  lvm2 a--u 59.99g 7.99g
  • pvdisplay:显示pv的详细信息
        [root@laodeng6 ~]# pvdisplay 
        --- Physical volume ---
        PV Name               /dev/sda2
        VG Name               vg0
        PV Size               60.00 GiB / not usable 8.00 MiB    
        Allocatable           yes 
        PE Size               8.00 MiB
        Total PE              7679
        Free PE               1023
        Allocated PE          6656
        PV UUID               oqQvzV-SU1r-HfCK-adnG-iQnv-Pg20-bS5HDQ
  • pvcreate /dev/device :创建pv
        [root@laodeng6 ~]# pvcreate /dev/sdc1
        Physical volume "/dev/sdc1" successfully created
      
        [root@laodeng6 ~]# pvdisplay /dev/sdc1    
        "/dev/sdc1" is a new physical volume of "5.01 GiB"
        --- NEW Physical volume ---
        PV Name               /dev/sdc1
        VG Name               
        PV Size               5.01 GiB    
        Allocatable           NO
        PE Size               0   
        Total PE              0
        Free PE               0
        Allocated PE          0
        PV UUID               yYh2J4-PryA-l0Fd-WUi-aYf-nnPh-joerv
  • pvremove /dev/device:移除pv
            [root@laodeng6 ~]# pvremove /dev/sdc1
            Labels on physical volume "/dev/sdc1" successfully wiped
vg管理工具:

常用命令:

  • vgs:显示卷组的简要信息
      [root@laodeng6 ~]# vgs
        VG   #PV #LV #SN Attr   VSize  VFree
        vg0    1   4   0 wz--n- 59.99g 7.99g
  • vgdisplay:显示卷组的详细信息
        [root@laodeng6 ~]# vgdisplay 
        --- Volume group ---
        VG Name               vg0
        System ID             
        Format                lvm2
        Metadata Areas        1
        Metadata Sequence No  5
        VG Access             read/write
        VG Status             resizable
        MAX LV                0
        Cur LV                4
        Open LV               4
        Max PV                0
        Cur PV                1
        Act PV                1
        VG Size               59.99 GiB
        PE Size               8.00 MiB
        Total PE              7679
        Alloc PE / Size       6656 / 52.00 GiB
        Free  PE / Size       1023 / 7.99 GiB
        VG UUID               fEcXYF-zk91-qaiW-4OaN-X3T1-eLrt-AV3L4i
  • vgcreate vg_name /dev/device:创建vg
        [root@laodeng6 ~]# vgcreate testvg /dev/sdc1
        Volume group "testvg" successfully created
        [root@laodeng6 ~]# vgdisplay testvg
        --- Volume group ---
        VG Name               testvg
        System ID             
        Format                lvm2
        Metadata Areas        1
        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                1
        Act PV                1
        VG Size               5.01 GiB
        PE Size               4.00 MiB
        Total PE              1282
        Alloc PE / Size       0 / 0   
        Free  PE / Size       1282 / 5.01 GiB
        VG UUID               Qx8PFT-mm5W-sbF3-qyyj-Ac2K-NXSH-O50Ivq
  • vgextend vg_name /dev/device:扩展vg空间
            [root@laodeng6 ~]# vgextend testvg /dev/sdc2
            Volume group "testvg" successfully extended
  • vgreduce vg_name /dev/device:缩减vg空间,把pv从vg中移除
            [root@laodeng6 ~]# vgreduce testvg /dev/sdc2
            Removed "/dev/sdc2" from volume group "testvg"
    注意:在将pv从vg中移除时,要先做pvmove操作

lv管理工具

常用命令:

  • lvs:显示lv的简要信息
      
        [root@laodeng6 ~]# lvs
        LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
        root vg0  -wi-ao---- 20.00g                                                    
        swap vg0  -wi-ao----  2.00g                                                    
        usr  vg0  -wi-ao---- 10.00g                                                    
        var  vg0  -wi-ao---- 20.00g
  • lvdisplay:显示lv的详细信息
  • lvcreate -L #[mMgGtT] -n NAME VolumeGroup:创建逻辑卷
            [root@laodeng6 ~]# lvcreate -L 3G -n testlv testvg
            Logical volume "testlv" created.

使用逻辑卷

在完成以上的几步之后要想使用逻辑卷的话,需要对其进行格式化与挂载操作。

格式化硬盘指定文件系统:
mkfs.ext4 -b 1024 -L TESTLV /dev/testvg/testlv
  • 挂载逻辑卷
      
      [root@laodeng6 ~]# mkdir /testlvm
      [root@laodeng6 ~]# mount /dev/testvg/testlv /test
      testdir/ testlvm/ 
      [root@laodeng6 ~]# mount /dev/testvg/testlv /testlvm/
    
      [root@laodeng6 ~]# df -h
      df: `/mnt/usb': Input/output error
      Filesystem            Size  Used Avail Use% Mounted on
      /dev/mapper/vg0-root   20G  336M   19G   2% /
      tmpfs                 491M     0  491M   0% /dev/shm
      /dev/sda1             190M   34M  147M  19% /boot
      /dev/mapper/vg0-usr   9.8G  2.2G  7.1G  24% /usr
      /dev/mapper/vg0-var    20G  201M   19G   2% /var
      /dev/mapper/testvg-testlv                    3.0G  3.3M  2.8G   1% /testlvm

扩展逻辑卷

逻辑卷支持在线修改其大小,所以不用卸载之后再扩展。
    lvextent -L [+]#[mMgGtT] /dev/vg_name/lv_name
    其中不带[+]的话是直接扩展到#[mMgGtT]指定的大小。
      [root@laodeng6 ~]# lvextend -L 5G /dev/testvg/testlv 
      Size of logical volume testvg/testlv changed from 3.00 GiB (768 extents) to 5.00 GiB (1280 extents).
      Logical volume testlv successfully resized.
    
注意:做到此步之后逻辑卷是不能马上被使用的,因为扩展之后,你的文件系统依然是原来的大小,需要扩展文件系统到逻辑卷指定的大小方可使用。
命令是:
    resize2fs /dev/vg_name/lv_name
    
        [root@laodeng6 ~]# resize2fs /dev/testvg/testlv
        resize2fs 1.41.12 (17-May-2010)
        Filesystem at /dev/testvg/testlv is mounted on /testlvm; on-line resizing required
        old desc_blocks = 12, new_desc_blocks = 20
        Performing an on-line resize of /dev/testvg/testlv to 5242880 (1k) blocks.
        The filesystem on /dev/testvg/testlv is now 5242880 blocks long.

缩减逻辑卷

在缩减逻辑卷时,不能直接就缩减逻辑卷,应该先缩减内部文件系统的大小至制定大小,然后再缩减逻辑卷的物理空间大小。与扩展逻辑卷是一个相反的过程。
    在执行缩减操作时要注意的是,缩减后的空间一定要能够容纳目前逻辑卷里的所有文件才行。
    而且在缩减逻辑卷时要先卸载逻辑卷。因为缩减不允许在线进行。
    缩减有风险,执行需谨慎。

所以缩减逻辑卷有以下几步:

  • 1.卸载逻辑卷
    umount /dev/vg_name/lv_name
      
      [root@laodeng6 ~]# umount /dev/testvg/testlv
      [root@laodeng6 ~]# df
      df: `/mnt/usb': Input/output error
      Filesystem           1K-blocks    Used Available Use% Mounted on
      /dev/mapper/vg0-root  20511356  343732  19119048   2% /
      tmpfs                   502068       0    502068   0% /dev/shm
      /dev/sda1               194241   34181    149820  19% /boot
      /dev/mapper/vg0-usr   10190136 2238672   7427176  24% /usr
      /dev/mapper/vg0-var   20511356  204996  19257784   2% /var
  • 2.做文件系统的强制检测
      e2fsck -f /dev/vg_name/lv_name
          
          [root@laodeng6 ~]# e2fsck -f /dev/testvg/testlv
          e2fsck 1.41.12 (17-May-2010)
          Pass 1: Checking inodes, blocks, and sizes
          Pass 2: Checking directory structure
          Pass 3: Checking directory connectivity
          Pass 4: Checking reference counts
          Pass 5: Checking group summary information
          TESTLV: 11/327680 files (0.0% non-contiguous), 119749/5242880 blocks
  • 3.缩减其逻辑卷文件系统大小
      resize2fs /dev/vg_name/lv_name #[mMgGtT]
      
          [root@laodeng6 ~]# resize2fs /dev/testvg/testlv 4G
          resize2fs 1.41.12 (17-May-2010)
          Resizing the filesystem on /dev/testvg/testlv to 4194304 (1k) blocks.
          The filesystem on /dev/testvg/testlv is now 4194304 blocks long.
  • 4.缩减其逻辑卷的大小
      lvreduce -L [-]#[mMgGtT] /dev/vg_name/lv_name
      其前面的减号与扩展逻辑卷里的加号用法相同。
    
        [root@laodeng6 ~]# lvreduce -L 4G /dev/testvg/testlv
        WARNING: Reducing active logical volume to 4.00 GiB.
        THIS MAY DESTROY YOUR DATA (filesystem etc.)    
        Do you really want to reduce testvg/testlv? [y/n]: y    
        Size of logical volume testvg/testlv changed from 5.00 GiB (1280 extents) to 4.00 GiB (1024 extents).    
        Logical volume testlv successfully resized.
  • 5.最后再把逻辑卷挂载到系统上就完成了逻辑卷的缩减操作。

快照

  • 创建快照卷
    
      lvcreate -L #[mMgGtT] -p r -s -n sanpshot_lv_name original_lv_name
          -L #:指定快照卷的大小      
          -p:指明权限      
          -s:表示快照      
          -n:快照名字  
      original_lv_name:原逻辑卷名字
    
          [root@laodeng6 ~]# lvcreate -s -L 1G -n testlv-snap -p r /dev/testvg/testlv 
          Logical volume "testlv-snap" created.
  • 挂载快照卷
    
      [root@laodeng6 ~]# mount /dev/testvg/testlv-snap /mnt
      mount: block device /dev/mapper/testvg-testlv--snap is write-protected, mounting read-only
    
      做完快照后将其里面的内容备份出来后快照卷就没有什么作用了,此时删除快照卷就行。
  • 逻辑卷的删除操作
      删除时要先取消挂载
      umount /dev/vg_name/lv_name
      然后执行逻辑卷删除命令:
      lvremove /dev/vg_name/lv_name
      卷组的删除操作:
      vgremove /dev/vg_name
      pv的删除操作:
      pvremove /dev/device

    raid小实例:

    • 创建一个可用空间为500M的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

                

    (1)创建分区及文件系统

    1.png

    (2)创建raid1

    2.png

    (3)创建/dev/md0的文件系统

    3.png

    (4)挂载

    4.png4。1.png

    (5)生成raid1的配置文件防止重新启动时失败

    5.png

原创文章,作者:dxkboke,如若转载,请注明出处:http://www.178linux.com/42194

(0)
dxkbokedxkboke
上一篇 2016-09-01 08:50
下一篇 2016-09-01 08:51

相关推荐

  • linux系统文件的元数据

    linux系统文件的元数据 什么是元数据 文件的数据分两种: 一种元数据,既属性数据:metadata 一种就是数据本身:data 如何查看元数据: stat stat命令用于显示文件的状态信息 [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO …

    Linux干货 2018-03-11
  • AWK小记

    gawk – pattern scanning and processing language 基本用法:gawk [options] ‘program’ FILE … program: PATTERN{ACTION STATEMENTS} 语句之间用分号分隔 print, printf 选项: -F:指明输入…

    2018-01-16
  • N25-第九周博客作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # 统计登录用户和非登陆用户的个数 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干货 2017-02-24
  • DNS and BIND

    DNS and BIND 名称解析:把一种代号转换成为另一种代号的功能是应用程序基于某个搜索键在指定的数据库查询,查询到对应的键以后,对应键被找出来的过程!passwd —《nsswith》/etc/nsswith.conf 注意:查询的时候用到的是UDP的53,主从复制走的是tcp(但是也用到udp) DNS: Domain Name Serv…

    Linux干货 2016-10-21
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • 计算机网络基础知识与Linux网络配置

    本文主要内容是: 1.讲述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 2、IP地址的分类有哪些?子网掩码的表示形式及其作用 3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。 4、如何给网络接口配置多个地址,有哪些方式? 5、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方…

    Linux干货 2016-11-14

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 14:11

    对lvm的工作原理建议画图来表示,直观明了,同时对于raid常见级别的工作模式及使用场景需要作者能熟练掌握,并通过自己的语言描述出来。