zoukankan      html  css  js  c++  java
  • linux LVM:物理卷逻辑卷

    逻辑卷管理器,当分区不够用的时候,可以新建一个更大的分区再复制进去,但是浪费时间。Lvm可以弹性调整分区大小,可以动态组合分区。分区大小固定了就无法调整,
    
    apt-get update & apt-get install pv*
    pt-cache search <包名>
    查询已经安装的package : dpkg -S libgstreamer0.10-dev  
    
    物理卷:

    /dev/sda2这个分区属于VolGroup00这个卷组,大小19G。整个操作系统有一个物理卷,这个物理卷针对的就是sda2这一个分区。物理卷对应的就是实际的硬盘分区,一个卷组可以包含一个或多个物理卷,当一个卷组容量不够用的时候,可以加进来一个分区,这样这个卷组的容量就变大了,LVM本身他的价值也是体现在这里。
    
    一个分组可以分成几个逻辑卷,比较3个逻辑卷a,b,c,a存储数据库文件,b存储文件相关的数据,c存放临时文件。
    
    最底层的是物理卷,物理卷直接跟硬盘分区相对应。多个物理卷组成卷组。在不同的卷组里面可以划分不同的逻辑卷使用。(这个就是LVM本身的说明)
    
    root@ubuntu:/# fdisk -l
    Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
    Device     Boot     Start      End     Sectors     Size    Id    Type
    /dev/sda1  *        2048   39845887  39843840   19G    83   Linux
    /dev/sda2       39847934   41940991  2093058    1022M  5   Extended
    /dev/sda5       39847936   41940991  2093056    1022M  82  Linux swap / Solaris
    
    Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
    Device     Boot Start     End Sectors Size Id Type
    /dev/sdb1        2048 4194303 4192256   2G 83 Linux
    
    root@ubuntu:/# pvcreate /dev/sdb1  :把分区制作成物理卷
    WARNING: ext3 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
      Wiping ext3 signature on /dev/sdb1.
      Physical volume "/dev/sdb1" successfully created  (物理卷创建成功)
    
    root@ubuntu:/# pvdisplay  :查看物理卷
      "/dev/sdb1" is a new physical volume of "500.00 MiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdb1    :物理卷的名称就叫做/dev/sdb1
      VG Name                           :还不属于任何卷组
      PV Size               500.00 MiB
      Allocatable           NO
      PE Size               0   
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               c1bSmd-8dcv-vo9s-Wooe-Qf5m-QIEP-H1ygQz
    
    创建卷组要指定一个物理卷,否则无法创建。
    root@ubuntu:/# vgcreate  sdb_volm_group  /dev/sdb1
      Volume group "sdb_volm_group" successfully created (卷组sdb_volm_group创建成功)
    
    root@ubuntu:/# vgdisplay  :查看卷组
      --- Volume group ---
      VG Name               sdb_volm_group
      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               496.00 MiB
      PE Size               4.00 MiB
      Total PE              124
      Alloc PE / Size       0 / 0   
      Free  PE / Size       124 / 496.00 MiB
      VG UUID               PzyjKt-Nc6B-HZeK-fXeu-LayV-xWpi-Li1jCd
    
    现在把一个分区sdb1转换成物理卷sdb1,把这个卷加入到sdb_volm_group卷组里面去了,下面在卷组里面去创建不同的分区逻辑卷。
    (创建逻辑卷,-L指定大小100M,-n指定名字nuoji1,后面跟卷组名称)
    root@ubuntu:/# lvcreate -L 100M -n nuoji1 sdb_volm_group
      Logical volume "nuoji1" created.   (逻辑卷创建成功)
    root@ubuntu:/# lvcreate -L 100M -n nuoji2 sdb_volm_group
      Logical volume "nuoji2" created.
    root@ubuntu:/# lvdisplay  :查看逻辑卷
      --- Logical volume ---
      LV Path                /dev/sdb_volm_group/nuoji1
      LV Name                nuoji1
      VG Name                sdb_volm_group
      LV UUID                oYSIhw-Fpik-19L4-CjAj-9Hob-tgCA-1ilUkU
      LV Write Access        read/write
      LV Creation host, time ubuntu, 2018-02-14 04:58:50 -0800
      LV Status              available
      # open                 0
      LV Size                100.00 MiB
      Current LE             25
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:0
       
      --- Logical volume ---
      LV Path                /dev/sdb_volm_group/nuoji2
      LV Name                nuoji2
      VG Name                sdb_volm_group
      LV UUID                UVxno2-wtUW-MP78-tVOp-76Ps-wewM-h3lbJG
      LV Write Access        read/write
      LV Creation host, time ubuntu, 2018-02-14 05:24:45 -0800
      LV Status              available
      # open                 0
      LV Size                100.00 MiB
      Current LE             25
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:1
    root@ubuntu:/dev/sdb_volm_group# ls
    nuoji1  nuoji2
    逻辑卷创建好了之后就可以使用了,可以直接把逻辑卷挂载在目录下:
    root@ubuntu:/dev/sdb_volm_group# df -h 
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1        19G  7.1G   11G  41% /
    /dev/sr0        1.5G  1.5G     0 100% /media/yw1989/Ubuntu 16.04.3 LTS amd64
    /dev/sdc1       3.2G   21M  3.2G   1% /media/upan
    (挂载逻辑分区)
    root@ubuntu:/# mount -t ext3 /dev/sdb_volm_group/nuoji1 /yw/nuiji_fenqu
    mount: wrong fs type, bad option, bad superblock on /dev/mapper/sdb_volm_group-nuoji1,
           missing codepage or helper program, or other error
           In some cases useful info is found in syslog - try
           dmesg | tail or so.( /dev/sdb_volm_group/nuoji1只是一个逻辑卷的分区,没有指定文件类型没有格式化,)
    
    (为逻辑卷分区指定文件类型ext3,也就是格式化)
    root@ubuntu:/# mke2fs -j /dev/sdb_volm_group/nuoji1
    mke2fs 1.42.13 (17-May-2015)
    Creating filesystem with 102400 1k blocks and 25688 inodes
    Filesystem UUID: cb5da3fc-3a96-4c85-b392-ce6777fb05fa
    Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done 
    
    (挂载逻辑卷分区,不报错了)
    root@ubuntu:/# mount -t ext3 /dev/sdb_volm_group/nuoji1 /yw/nuiji_fenqu
    root@ubuntu:/# mount -a
    root@ubuntu:/# mount
    /dev/mapper/sdb_volm_group-nuoji1 on /yw/nuiji_fenqu type ext3 (rw,relatime,data=ordered)
    
    root@ubuntu:/# df -h
    /dev/mapper/sdb_volm_group-nuoji1   93M  1.6M   87M   2% /yw/nuiji_fenqu (nuiji_fenqu目录指向逻辑卷分区sdb_volm_group-nuoji1,这个逻辑卷分区是组里面的分的,这个组是sdb硬盘下面的sdb1分区,大小93M是逻辑卷创建时指定的大小)
    
    (逻辑卷是为了重新分配卷组的硬盘大小)

    ----------------------------------------移除是把刚才的过程反过来:-----------------------------------------

    root@ubuntu:/# umount /yw/nuiji_fenqu     (先卸载挂载)
    root@ubuntu:/# df -h      (没有挂载信息了)
    Filesystem      Size  Used Avail Use% Mounted on
    udev            456M     0  456M   0% /dev
    /dev/sda1        19G  7.1G   11G  41% /
    /dev/sr0        1.5G  1.5G     0 100% /media/yw1989/Ubuntu 16.04.3 LTS amd64
    /dev/sdc1       3.2G   21M  3.2G   1% /media/upan
    
    
    root@ubuntu:/# lvremove /dev/mapper/sdb_volm_group-nuoji1  (移除逻辑卷分区)
    Do you really want to remove and DISCARD active logical volume nuoji1? [y/n]: y
      Logical volume "nuoji1" successfully removed
    root@ubuntu:/# lvremove /dev/mapper/sdb_volm_group-nuoji2
    Do you really want to remove and DISCARD active logical volume nuoji2? [y/n]: y
      Logical volume "nuoji2" successfully removed
    
    
    root@ubuntu:/# lvdisplay    (逻辑卷1,2都没有了)
    
    root@ubuntu:/# vgremove /dev/sdb_volm_group    (移除卷组)
      Volume group "sdb_volm_group" successfully removed
    root@ubuntu:/# vgdisplay    (卷组没了)
    
    root@ubuntu:/# pvdisplay   (查看物理卷)
      "/dev/sdb1" is a new physical volume of "500.00 MiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdb1
      VG Name               
      PV Size               500.00 MiB
      Allocatable           NO
      PE Size               0   
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               RbdqsP-cW2q-U5bQ-ZFiU-kCbN-312j-tKAsY1
    
    root@ubuntu:/# pvremove /dev/sdb1  (移除物理卷)
      Labels on physical volume "/dev/sdb1" successfully wiped
    root@ubuntu:/# pvdisplay    (没有物理卷了)
    
    root@ubuntu:/# apt-get  install  pv*
    root@ubuntu:/# pv
    pv                       pvmd                     pvpgn-support-installer
    pvchange                 pvmgetarch               pvremove
    pvck                     pvmgroups                pvresize
    pvcreate                 pvmgs                    pvrg-jpeg
    pvdisplay                pvm_gstat                pvs
    pvm                      pvmove                   pvscan
  • 相关阅读:
    Net设计模式实例之简单工厂模式(Simple Factory Pattern)
    Net设计模式实例系列文章总结
    2019年工作总结
    在Asp.Net Core中集成Kafka(中)
    如何将生产环境的服务Docker镜像拉取到本地进行调试
    记一次EFCore类型转换错误及解决方案
    Asp.Net Core中创建多DbContext并迁移到数据库
    ABP中的AutoMapper
    EFCore中的导航属性
    Asp.Net Core 调用第三方Open API查询物流数据
  • 原文地址:https://www.cnblogs.com/yaowen/p/8449156.html
Copyright © 2011-2022 走看看