ITPub博客

首页 > Linux操作系统 > Linux操作系统 > LVM

LVM

原创 Linux操作系统 作者:raysuen 时间:2016-12-15 09:52:37 0 删除 编辑
命令:
    pv
        pvcreate,pvremove,pvscan,pvs,pvdisplay,pvmove
    gv
        vgcreate,vgremove,vgextend,vgreduce,vgs,vgdisplay,vgscan
    lv
        lvcreate,lvremove,lvextend,lvreduce,lvresize,lvs,lvdisplay
1 创建LVM类型磁盘分区
[root@ray ~]# fdisk /dev/sdb

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 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: 0x9c871455

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  83  Linux
/dev/sdb2             263         524     2104515   83  Linux

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): L

0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
5  Extended        42  SFS             86  NTFS volume set da  Non-FS data    
6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     
a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      
c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            
f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1

Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 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: 0x9c871455

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  8e  Linux LVM
/dev/sdb2             263         524     2104515   83  Linux

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 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: 0x9c871455

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         262     2104483+  8e  Linux LVM
/dev/sdb2             263         524     2104515   8e  Linux LVM

[root@ray ~]# partprobe /dev/sdb
[root@ray ~]# cat /proc/partitions
major minor  #blocks  name

   8        0   20971520 sda
   8        1     512000 sda1
   8        2   20458496 sda2
   8       16    8388608 sdb
   8       17    2104483 sdb1
   8       18    2104515 sdb2
253        0   18391040 dm-0
253        1    2064384 dm-1

2 PV 
[root@ray ~]# pvcreate /dev/sdb{1,2}   创建pv
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created

[root@ray ~]# pvs 查看pv,size误差在20%都在可接受范围
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb1       lvm2 a--  2.01g 2.01g
  /dev/sdb2       lvm2 a--  2.01g 2.01g

[root@ray ~]# pvdisplay 查询pv详细信息
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup
  PV Size               19.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4994
  Free PE               0
  Allocated PE          4994
  PV UUID               JUPIw8-FmET-tSl1-zgcq-GL1L-OKpt-jTGJKR

  "/dev/sdb1" is a new physical volume of "2.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               2.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               bGhhum-4Rym-cn5f-QBUc-aRiq-3xUE-eFrwSy

  "/dev/sdb2" is a new physical volume of "2.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name               
  PV Size               2.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               m6gZtj-RHZ6-Gt2h-LXXa-ckXg-z509-AiB1Cy

删除pv
[root@ray ~]# pvs
  PV         VG       Fmt  Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  19.51g    0
  /dev/sdb1  myvg     lvm2 a--   2.00g 2.00g
  /dev/sdb2           lvm2 a--   2.01g 2.01g
[root@ray ~]# pvremove /dev/sdb2  删除指定pv
  Labels on physical volume "/dev/sdb2" successfully wiped
[root@ray ~]# pvs
  PV         VG       Fmt  Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  19.51g    0
  /dev/sdb1  myvg     lvm2 a--   2.00g 2.00g

3 vg操作
    vgcreate vg_name /dev/path
        -s #: 指定PE大小,默认是4M
[root@ray ~]# vgcreate myvg /dev/sdb{1,2}
  Volume group "myvg" successfully created
[root@ray ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   2   0 wz--n- 19.51g    0
  myvg       2   0   0 wz--n-  4.01g 4.01g

[root@ray ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  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               4.01 GiB
  PE Size               4.00 MiB
  Total PE              1026
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1026 / 4.01 GiB
  VG UUID               u5OKhA-pmYA-17Cn-mtBi-9a4B-QBZe-9chig5

[root@ray ~]# vgremove myvg  删除vg
  Volume group "myvg" successfully removed
[root@ray ~]# vgcreate -s 8M myvg /dev/sdb{1,2}
  Volume group "myvg" successfully created
[root@ray ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  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               4.00 GiB
  PE Size               8.00 MiB
  Total PE              512
  Alloc PE / Size       0 / 0   
  Free  PE / Size       512 / 4.00 GiB
  VG UUID               EfOh6p-zGyX-sH7h-vYEW-Qxa7-O8GA-gJmeCF

从当前vg移除pv
[root@ray ~]# pvmove /dev/sdb2  把指定的pv中的数据随机移动到其他pv设备中
  No data to move for myvg
[root@ray ~]# vgreduce myvg /dev/sdb2   移除指定的pv设备
  Removed "/dev/sdb2" from volume group "myvg"
[root@ray ~]# vgs  查看vg信息,myvg已经只有一个pv,大小变为2G
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   2   0 wz--n- 19.51g    0
  myvg       1   0   0 wz--n-  2.00g 2.00g
[root@ray ~]# pvs   查看pv,sdb2不属于myvg
  PV         VG       Fmt  Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  19.51g    0
  /dev/sdb1  myvg     lvm2 a--   2.00g 2.00g
  /dev/sdb2           lvm2 a--   2.01g 2.01g

添加pv到vg
[root@ray ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created
[root@ray ~]# vgextend myvg /dev/sdb2
  Volume group "myvg" successfully extended
[root@ray ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   2   0 wz--n- 19.51g    0
  myvg       2   0   0 wz--n-  4.00g 4.00g
[root@ray ~]# pvs
  PV         VG       Fmt  Attr PSize  PFree
  /dev/sda2  VolGroup lvm2 a--  19.51g    0
  /dev/sdb1  myvg     lvm2 a--   2.00g 2.00g
  /dev/sdb2  myvg     lvm2 a--   2.00g 2.00g

4 lv操作
    lvcreate
        lvcreate -n LV_NAME -L #G LV_SIZE 
    lvextend
        lvextend -L [+]# /path
            -L +表示在当前size加#指定的大小
                不写+,表示扩展到指定的大小
    resize2fs
        resize2fs /path # 
            -p 表示能扩展多大就尽可能的扩展,不必指定扩展的大小
[root@ray ~]# lvcreate -L 512M -n testlv myvg   创建lv
  Logical volume "testlv" created
[root@ray ~]# lvs
  LV      VG       Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root VolGroup -wi-ao----  17.54g                                             
  lv_swap VolGroup -wi-ao----   1.97g                                             
  testlv  myvg     -wi-a----- 512.00m                                             
[root@ray ~]# lvdisplay /dev/myvg/testlv
  --- Logical volume ---
  LV Path                /dev/myvg/testlv
  LV Name                testlv
  VG Name                myvg
  LV UUID                csX9GV-wTj7-Rpqj-oYVn-O97m-wuiE-o57CX9
  LV Write Access        read/write
  LV Creation host, time ray, 2016-12-14 17:37:30 +0800
  LV Status              available
  # open                 0
  LV Size                512.00 MiB
  Current LE             64
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

挂载lv到目录
[root@ray ~]# mke2fs -j /dev/myvg/testlv
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
32768 inodes, 131072 blocks
6553 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=134217728
4 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
     32768, 98304

正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@ray ~]# mount /dev/myvg/testlv /mnt/
[root@ray ~]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
/dev/mapper/myvg-testlv on /mnt type ext3 (rw)  蓝色部分为设备的真正路径

移除lv
[root@ray ~]# umount /mnt/   已挂载的lv,在remove前必须先卸载
[root@ray ~]# lvremove /dev/myvg/testlv
Do you really want to remove active logical volume testlv? [y/n]: y
  Logical volume "testlv" successfully removed
[root@ray ~]# lvs
  LV      VG       Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root VolGroup -wi-ao---- 17.54g                                             
  lv_swap VolGroup -wi-ao----  1.97g    

扩展lv
[root@ray ~]# vgs   查看vg是否有空间给lv扩展
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   2   0 wz--n- 19.51g    0
  myvg       2   1   0 wz--n-  4.00g 3.50g
[root@ray ~]# lvextend -L 1G /dev/myvg/testlv  扩展
  Extending logical volume testlv to 1.00 GiB
  Logical volume testlv successfully resized
[root@ray ~]# df -h     lv大小没有变化
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   11G  5.5G  67% /
tmpfs                         499M   80K  499M   1% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
/dev/mapper/myvg-testlv       504M   17M  462M   4% /mnt
[root@ray ~]# resize2fs -p /dev/myvg/testlv    扩展逻辑边界
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/myvg/testlv is mounted on /mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/myvg/testlv to 262144 (4k) blocks.
The filesystem on /dev/myvg/testlv is now 262144 blocks long.

[root@ray ~]# df -h    已经货站到1G大小
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   11G  5.5G  67% /
tmpfs                         499M   80K  499M   1% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
/dev/mapper/myvg-testlv      1008M   17M  941M   2% /mnt
[root@ray ~]#

缩减lv
    注意:
        1 不能在线缩减,先卸载
        2 确保缩减后的空间大小依然能存储原有的所有数据
        3 在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态
[root@ray ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   11G  5.5G  67% /
tmpfs                         499M   80K  499M   1% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
/dev/mapper/myvg-testlv      1008M   17M  941M   2% /mnt
[root@ray ~]#
[root@ray ~]# umount /mnt/
[root@ray ~]# e2fsck -f /dev/myvg/testlv  前置检查文件
e2fsck 1.41.12 (17-May-2010)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/myvg/testlv: 12/65536 files (0.0% non-contiguous), 8384/262144 blocks

[root@ray ~]# resize2fs /dev/myvg/testlv 712M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/myvg/testlv to 182272 (4k) blocks.
The filesystem on /dev/myvg/testlv is now 182272 blocks long.

[root@ray ~]# lvreduce -L 712M /dev/myvg/testlv
  WARNING: Reducing active logical volume to 712.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce testlv? [y/n]: y
  Reducing logical volume testlv to 712.00 MiB
  Logical volume testlv successfully resized
[root@ray ~]# mount /dev/myvg/testlv /mnt/
[root@ray ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G   11G  5.5G  67% /
tmpfs                         499M   80K  499M   1% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
/dev/mapper/myvg-testlv       700M   17M  648M   3% /mnt

5 快照卷
    1 生命周期为整个数据的时长,在这端时长内,数据的增长量不能超出快照卷的大小,最好和源卷大小相同
    2 快照卷应是只读
    3 跟源卷在一个卷组内

    lvcreate -L # -n SLV_NAME -s -p r /source_lv
        -s 表示要创建快照卷
        -p 表示权限
[root@ray ~]# lvcreate -L500M -n testlv-snap -s -p r /dev/myvg/testlv    创建快照卷
  Rounding up size to full physical extent 504.00 MiB
  Logical volume "testlv-snap" created
[root@ray ~]# lvs
  LV          VG       Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root     VolGroup -wi-ao----  17.54g                                             
  lv_swap     VolGroup -wi-ao----   1.97g                                             
  testlv      myvg     owi-aos--- 712.00m                                             
  testlv-snap myvg     sri-a-s--- 504.00m      testlv   0.00    

[root@ray ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   2   0 wz--n- 19.51g    0
  myvg       2   2   1 wz--n-  4.00g 2.81g
[root@ray ~]# lvremove /dev/myvg/testlv-snap               删除快照卷
Do you really want to remove active logical volume testlv-snap? [y/n]: y
  Logical volume "testlv-snap" successfully removed
[root@ray ~]# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  VolGroup   1   2   0 wz--n- 19.51g    0
  myvg       2   1   0 wz--n-  4.00g 3.30g 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28572479/viewspace-2130626/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: ldap搭建
请登录后发表评论 登录
全部评论
擅长oracle,Linux。精通shell,python。

注册时间:2016-08-23

  • 博文量
    145
  • 访问量
    227119