磁盘管理——LVM

来源:互联网 发布:做优化代理 编辑:程序博客网 时间:2024/05/19 20:57

一 什么是LVM

逻辑卷轴管理器(英语:LogicalVolume Manager,缩写为LVM),又译为逻辑卷宗管理器、逻辑磁区管理器、逻辑磁碟管理器,是Linux核心所提供的逻辑卷轴管理(Logical volume management)功能。它在硬碟的硬盘分区之上,又建立一个逻辑层,以方便系统管理硬碟分割系统。

最先由IBM开发,在AIX系统上实作,OS/2 作业系统与 HP-UX也支援这个功能。在1998年,Heinz Mauelshagen 根据在 HP-UX 上的逻辑卷轴管理器,写作出第一个 Linux 版本的逻辑卷轴管理器。

 

#LVM:把磁盘合并

#物理卷:PV 划分为LVM的声明

#卷组:VG 把多个磁盘分到一组

#逻辑卷:LV 化分一部分使用

 

二 物理卷相关操作

#动态添加和减少#坏了:磁盘更换,数据丢失#安装pvcreate命令[root@serv01 ~]# yum install /sbin/pvcreate-y#创建物理卷[root@serv01 ~]# pvcreate /dev/sdb1/dev/sdc1 /dev/sdd1 Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdc1" successfully created Physical volume "/dev/sdd1" successfully created#显示物理卷[root@serv01 ~]# pvdisplay "/dev/sdb1" is a new physical volume of "2.00 GiB"  ---NEW Physical volume ---  PVName               /dev/sdb1  VGName                PVSize               2.00 GiB Allocatable           NO  PESize               0   Total PE              0 Free PE               0 Allocated PE          0  PVUUID              pz5yiv-EiGe-ggUF-PBuz-DGg7-Q7TN-wcRtDF   "/dev/sdc1" is a new physical volume of "2.00 GiB"  ---NEW Physical volume ---  PVName               /dev/sdc1  VGName                PVSize               2.00 GiB Allocatable           NO  PESize               0   Total PE              0 Free PE               0 Allocated PE          0  PVUUID              Ktxmtw-CXKV-EfUF-NU8q-dxBJ-ptFG-J61jGl   "/dev/sdd1" is a new physical volume of "2.00 GiB"  ---NEW Physical volume ---  PVName               /dev/sdd1  VGName                PVSize               2.00 GiB Allocatable           NO  PESize               0   Total PE              0 Free PE               0 Allocated PE          0  PVUUID              RGu6DT-qQut-fnAU-Hdvu-NKT4-uggp-QtFNRs

 

三 卷组相关操作

#显示卷组[root@serv01 ~]# vgdisplay  Novolume groups found #创建卷组[root@serv01 ~]# vgcreate myvg /dev/sdb1/dev/sdc1 /dev/sdd1 Volume group "myvg" successfully created[root@serv01 ~]# vgdisplay  ---Volume group ---  VGName               myvg System ID             Format                lvm2 Metadata Areas        3 Metadata Sequence No  1  VGAccess             read/write  VGStatus             resizable  MAXLV                0  CurLV                0 Open LV               0  MaxPV                0  CurPV                3  ActPV                3  VGSize               5.99 GiB  PESize               4.00 MiB Total PE              1533 Alloc PE / Size       0 / 0   Free  PE / Size       1533 / 5.99 GiB  VGUUID               Yai04O-2UGc-LoZ3-iVHA-L7yO-26eZ-CI82tb


四 逻辑卷相关操作

#创建逻辑卷[root@serv01 ~]# lvcreate -L 500M -n mylv01myvg Logical volume "mylv01" created[root@serv01 ~]# lvdisplay--- Logical volume ---  LVName                /dev/myvg/mylv01  VGName                myvg  LVUUID               zjfjIV-S3Kv-dkHZ-xKOC-wPV7-nG3H-QuaKGU  LVWrite Access        read/write  LVStatus              available  #open                 0  LVSize                500.00 MiB Current LE             125 Segments               1 Allocation             inherit Read ahead sectors     auto  -currently set to     256 Block device           253:0

五 LVM使用

#格式化[root@serv01 ~]# mkfs.ext4 /dev/myvg/mylv01mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)Stride=0 blocks, Stripe width=0 blocks128016 inodes, 512000 blocks25600 blocks (5.00%) reserved for the superuserFirst data block=1Maximum filesystem blocks=6763315263 block groups8192 blocks per group, 8192 fragments pergroup2032 inodes per groupSuperblock backups stored on blocks:       8193,24577, 40961, 57345, 73729, 204801, 221185, 401409 Writing inode tables: done                           Creating journal (8192 blocks): doneWriting superblocks and filesystemaccounting information: done This filesystem will be automaticallychecked every 37 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.#挂载[root@serv01 ~]# mount /dev/myvg/mylv01/web/[root@serv01 ~]# df -hFilesystem            Size Used Avail Use% Mounted on/dev/sda2             9.7G  1.1G 8.1G  12% /tmpfs                 188M     0 188M   0% /dev/shm/dev/sda1             194M   25M 160M  14% /boot/dev/sda5             4.0G  137M 3.7G   4% /opt/dev/sr0              3.4G 3.4G     0 100% /iso/dev/mapper/myvg-mylv01                      485M   11M 449M   3% /web [root@serv01 ~]# cd /boot[root@serv01 boot]# cd /web/[root@serv01 web]# lslost+found#拷贝文件[root@serv01 web]# cp /boot/* ./ -rf[root@serv01 web]# lsconfig-2.6.32-131.0.15.el6.x86_64  initramfs-2.6.32-131.0.15.el6.x86_64.img  System.map-2.6.32-131.0.15.el6.x86_64efi                                lost+found                               vmlinuz-2.6.32-131.0.15.el6.x86_64grub                               symvers-2.6.32-131.0.15.el6.x86_64.gz#追加文件到/etc/fstab[root@serv01 web]# echo"/dev/myvg/mylv01 /web ext4 defaults 1 2" >> /etc/fstab[root@serv01 web]# tail -n 1 /etc/fstab/dev/myvg/mylv01 /web ext4 defaults 1 2[root@serv01 ~]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda2             9.7G  1.1G 8.1G  12% /tmpfs                 188M     0 188M   0% /dev/shm/dev/sda1             194M   25M 160M  14% /boot/dev/sda5             4.0G  137M 3.7G   4% /opt/dev/mapper/myvg-mylv01                      485M   29M 431M   7% /web/dev/sr0              3.4G  3.4G    0 100% /iso#重启,到/web目录下查看文件[root@serv01 web]# reboot[root@larrywen disk]# ssh 192.168.1.11root@192.168.1.11's password:Last login: Thu Aug  1 21:48:24 2013 from 192.168.1.1[root@larrywen disk]# cd /webconfig-2.6.32-131.0.15.el6.x86_64         lost+found                            System.map-2.6.32-131.0.15.el6.x86_64initramfs-2.6.32-131.0.15.el6.x86_64.img  symvers-2.6.32-131.0.15.el6.x86_64.gz  vmlinuz-2.6.32-131.0.15.el6.x86_64[root@serv01 web]# lvextend —help

六 增加逻辑卷

[root@serv01 web]# lvextend -L +500M/dev/myvg/mylv01 Extending logical volume mylv01 to 1000.00 MiB Logical volume mylv01 successfully resized#lvdisplay[root@serv01 web]# lvdisplay  ---Logical volume ---  LVName                /dev/myvg/mylv01  VGName                myvg  LVUUID               zjfjIV-S3Kv-dkHZ-xKOC-wPV7-nG3H-QuaKGU  LVWrite Access        read/write  LVStatus              available  #open                 1  LVSize                1000.00 MiB Current LE             250 Segments               1 Allocation             inherit Read ahead sectors     auto  -currently set to     256 Block device           253:0#查看磁盘发现大小没变[root@serv01 web]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda2             9.7G  1.1G 8.1G  12% /tmpfs                 188M     0 188M   0% /dev/shm/dev/sda1             194M   25M 160M  14% /boot/dev/sda5             4.0G 137M  3.7G   4% /opt/dev/mapper/myvg-mylv01                      485M   29M 431M   7% /web/dev/sr0              3.4G  3.4G    0 100% /iso[root@serv01 web]# cd /#卸载[root@serv01 /]# umount /web#执行resize2fs命令更新[root@serv01 /]# resize2fs /dev/myvg/mylv01resize2fs 1.41.12 (17-May-2010)Please run 'e2fsck -f /dev/myvg/mylv01'first.#发现有提示,先执行e2fsck -f/dev/myvg/mylv01[root@serv01 /]# e2fsck -f /dev/myvg/mylv01e2fsck 1.41.12 (17-May-2010)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/myvg/mylv01: 16/128016 files (0.0%non-contiguous), 45237/512000 blocks#再次执行上述命令,再次mount,再次查看磁盘空间,发现磁盘变大[root@serv01 /]# resize2fs /dev/myvg/mylv01resize2fs 1.41.12 (17-May-2010)Resizing the filesystem on /dev/myvg/mylv01to 1024000 (1k) blocks.The filesystem on /dev/myvg/mylv01 is now1024000 blocks long. [root@serv01 /]# mount /dev/myvg/mylv01/web[root@serv01 /]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda2             9.7G  1.1G 8.1G  12% /tmpfs                 188M     0 188M   0% /dev/shm/dev/sda1             194M   25M 160M  14% /boot/dev/sda5             4.0G 137M  3.7G   4% /opt/dev/sr0              3.4G  3.4G    0 100% /iso/dev/mapper/myvg-mylv01                      969M   29M 891M   4% /web


七 减少空间

#减少空间——危险操作,很可能数据被破坏[root@serv01 /]# lvreduce -L -700M/dev/myvg/mylv01 WARNING: Reducing active and open logical volume to 300.00 MiB THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce mylv01? [y/n]:y Reducing logical volume mylv01 to 300.00 MiB Logical volume mylv01 successfully resized[root@serv01 /]# lvdisplay  ---Logical volume ---  LVName                /dev/myvg/mylv01  VGName                myvg  LVUUID               zjfjIV-S3Kv-dkHZ-xKOC-wPV7-nG3H-QuaKGU  LVWrite Access        read/write  LVStatus              available  #open                 1  LVSize                300.00 MiB Current LE             75 Segments               1 Allocation             inherit Read ahead sectors     auto  -currently set to     256 Block device           253:0 [root@serv01 /]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda2             9.7G  1.1G 8.1G  12% /tmpfs                 188M     0 188M   0% /dev/shm/dev/sda1             194M   25M 160M  14% /boot/dev/sda5             4.0G  137M 3.7G   4% /opt/dev/sr0              3.4G  3.4G    0 100% /iso/dev/mapper/myvg-mylv01                      969M   29M 891M   4% /web[root@serv01 /]# resize2fs /dev/myvg/mylv01resize2fs 1.41.12 (17-May-2010)Please run 'e2fsck -f /dev/myvg/mylv01'first. [root@serv01 /]# e2fsck -f /dev/myvg/mylv01e2fsck 1.41.12 (17-May-2010)The filesystem size (according to thesuperblock) is 1024000 blocksThe physical size of the device is 307200blocksEither the superblock or the partitiontable is likely to be corrupt!Abort<y>? Yes [root@serv01 /]# resize2fs /dev/myvg/mylv01300resize2fs 1.41.12 (17-May-2010)resize2fs: New size smaller than minimum(34402) [root@serv01 /]# mount /dev/myvg/mylv01/webmount: wrong fs type, bad option, badsuperblock on /dev/mapper/myvg-mylv01,      missing codepage or helper program, or other error      In some cases useful info is found in syslog - try      dmesg | tail  or so [root@serv01 /]# df -hFilesystem            Size  Used Avail Use% Mounted on/dev/sda2             9.7G 1.1G  8.1G  12% /tmpfs                 188M     0 188M   0% /dev/shm/dev/sda1             194M   25M 160M  14% /boot/dev/sda5             4.0G  137M 3.7G   4% /opt/dev/sr0              3.4G  3.4G    0 100% /iso  [root@serv01 /]# lvremove /dev/myvg/mylv01[root@serv01 /]# vgremove myvg [root@serv01 /]# vgcreate myvg/dev/sd[bcd]1 Volume group "myvg" successfully created[root@serv01 /]# lvcreate -L 1000M -nmylv01 myvg Logical volume "mylv01" created[root@serv01 /]# lvreduce -L -700M/dev/myvg/mylv01^C[root@serv01 /]# umount /webumount: /web: not mounted[root@serv01 /]# lvreduce -L 700M/dev/myvg/mylv01 WARNING: Reducing active logical volume to 700.00 MiB THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce mylv01? [y/n]:y Reducing logical volume mylv01 to 700.00 MiB Logical volume mylv01 successfully resized[root@serv01 /]# resize2fs -f/dev/myvg/mylv01 17323

 

八 添加磁盘

[root@serv01 /]# pvcreate /dev/sde1 Physical volume "/dev/sde1" successfully created[root@serv01 /]# vgextend myvg /dev/sde1 Volume group "myvg" successfully extended[root@serv01 /]# lvextend -L +2G/dev/myvg/mylv01 Extending logical volume mylv01 to 2.68 GiB Logical volume mylv01 successfully resized[root@serv01 /]# resize2fs /dev/myvg/mylv01 [root@serv01 /]# resize2fs /dev/myvg/mylv01resize2fs 1.41.12 (17-May-2010)resize2fs: Bad magic number in super-blockwhile trying to open /dev/myvg/mylv01Couldn't find valid filesystem superblock.


九 减少(移除)磁盘

#减少(移除)磁盘:减少的磁盘不影响存储[root@serv01 /]# pvmove /dev/sdb1[root@serv01 /]# vgreduce myvg /dev/sdb1[root@serv01 /]# pvremove /dev/sdb1[root@serv01 /]# df -h

十 销毁磁盘

[root@serv01 /]# lvremove /dev/myvg/mylv01[root@serv01 /]# vgremove myvg[root@serv01 /]# pvremove /dev/sdc1[root@serv01 /]# pvremove /dev/sdd1[root@serv01 /]# pvremove /dev/sde1


十一 参考资料

http://zh.wikipedia.org/wiki/LVM

 

十二 相关文章

  • 磁盘管理——RAID 0
  • 磁盘管理——RAID 1
  • 磁盘管理——RAID 10
  • 磁盘管理——RAID 5
  • 磁盘管理——RAID 6
  • 磁盘管理——小实验



  我的邮箱wgbno27@163.com  新浪微博@Wentasy27           微信公众平台:JustOracle(微信号:justoracle)  数据库技术交流群:336882565(加群时验证 From CSDN XXX)  Oracle交流讨论组:https://groups.google.com/d/forum/justoracle  By Larry Wen


katoonSina CSDN@Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]