LVM 介绍

google(创建a block dev)

LVM 介绍:
 
LVM - Logical Volume Manager 是Linux系统下最强大的磁盘管理技术之一.当您需要考虑如何替用户数据和系统文件分配空间的时候,LVM可以让您彻底忘记传统的分区做法.
简单地来说,LVM就是将众多物理设备组合成一个大的虚拟设备,用户只需思考如何在虚拟设备上做传统的空间分配策略,而将物理设备的管理交由LVM自己去处理.这个由物理设备组
合所成的虚拟设备称为卷组(Volume Group),简称为VG;而用户在卷组VG上所划分的磁盘空间则称为逻辑卷(Logical Volume),简称为LV;而原始物理设备必须经过初始化处理才能加
入卷组集合,这种经过特别处理的原始设备或磁盘空间则称为物理卷(Physical Volume),简称为PV.
LVM磁盘空间管理系统允许您在需要的时候重新调整大小, 这也就意味着在管理磁盘空间资源方面,但您应该留心硬盘出错的情况,如果您没有在LVM管理中为出现这种情况而做好计
划,那么您可能会丢失大量数据.

LVM 术语:
PV - Physical Volume 物理卷,例如一个硬盘,或一个Software RAID设备;
VG - Volume Group 卷组,将一组物理卷收集为一个管理单元;
LV - Logical Volume 逻辑卷,等同于传统分区,可看作便准的块设备,以容纳文件系统;
PE - Physical Extent 物理块,划分物理卷的数据块;
LE - Logical Extent 逻辑块,划分逻辑卷的数据块;
 
说明: /boot 这个挂载分区不能存在于VG卷组里.所以我们一般是建议单独分区.
 
[root@testA ~]# rpm -qa|grep -i lvm  首先保证安装下面包
lvm2-2.02.46-8.el5
lvm2-cluster-2.02.46-8.el5
system-config-lvm-1.1.5-1.0.el5
 
[root@testA ~]# fdisk -l   查看硬件信息
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14          78      522112+  82  Linux swap / Solaris
/dev/sda3              79        1305     9855877+  83  Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/sde: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sde doesn't contain a valid partition table
Disk /dev/sdf: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdf doesn't contain a valid partition table
 
创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。
[root@testA ~]# pvcreate /dev/sdb                创建物理卷
  Physical volume "/dev/sdb" successfully created
[root@testA ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created
[root@testA ~]# pvcreate /dev/sdd
  Physical volume "/dev/sdd" successfully created
[root@testA ~]# pvcreate /dev/sde
  Physical volume "/dev/sde" successfully created
[root@testA ~]# pvcreate /dev/sdf
  Physical volume "/dev/sdf" successfully created
 
创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组
[root@testA ~]# vgcreate haha /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf  创建卷组
  /dev/cdrom: open failed: Read-only file system
  /dev/cdrom: open failed: Read-only file system
  Attempt to close device '/dev/cdrom' which is not open.
  Volume group "haha" successfully created
 
vgcreate命令第一个参数是指定该卷组的逻辑名:haha。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate在创建卷组 haha 以外,还设置使用大小为4 MB的PE(默
认为4MB),这表示卷组上创建的所有逻辑卷都以 4 MB 为增量单位来进行扩充或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4 MB 的PE决定了单个逻辑卷最大容量为
256 GB,若希望使用大于256G的逻辑卷则创建卷组时指定更大的PE。PE大小范围为8 KB 到 512 MB,并且必须总是 2 的倍数(使用-s指定,具体请参考man vgcreate)。

 
 
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:
如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:
 
[root@testA ~]# vgreduce haha /dev/sdc  卷组里面删除一个物理卷

为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组
[root@testA ~]# vgchange -a y haha      激活卷组
  0 logical volume(s) in volume group "haha" now active
[root@testA ~]# vgdisplay  查看 Volume Group (VG)卷组 状态
  --- Volume group ---
  VG Name               haha
  System ID            
  Format                lvm2
  Metadata Areas        5
  Metadata Sequence No  13
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                5
  Act PV                5
  VG Size               9.98 GB
  PE Size               4.00 MB
  Total PE              2555
  Alloc PE / Size       2555 / 9.98 GB
  Free  PE / Size       0 / 0  
  VG UUID               AYLnj9-jZu7-Q6IR-5Jd9-A25T-xQgJ-ZSwcGs

[root@testA ~]# lvcreate -L9000 -n coremail haha  创建逻辑卷 coremail 大小是9000M
  Logical volume "index" created
其他逻辑卷方法创建类似上面的
如果想将剩余空间全部创建为其他逻辑卷,可以先输入vgdisplay命令查看到
例如   
Total PE              2555     全部的PE
Alloc PE / Size       2250 / 8.79 GB  使用的PE2250 使用的大小8.79G
Free  PE / Size       305 / 1.19 GB   剩余的PE305 剩余的空间大小1.19G
 
[root@testA ~]# lvcreate -l 305 -n mysqldata haha  这里制定了剩余PE数,表示将剩余空间全部创建成逻辑卷mysqldata
[root@testA ~]# mkfs -t ext3 /dev/haha/coremail   创建文件系统
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1154176 inodes, 2304000 blocks
115200 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2361393152
71 block groups
32768 blocks per group, 32768 fragments per group
16256 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
You have new mail in /var/spool/mail/root
 
[root@testA ~]# mkfs -t ext3 /dev/haha/mysqldata   创建文件系统
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
156160 inodes, 312320 blocks
15616 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=322961408
10 block groups
32768 blocks per group, 32768 fragments per group
15616 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912
Writing inode tables: done                           
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
 
[root@testA ~]# mkdir /coremail
[root@testA ~]# mount /dev/haha/coremail /coremail
[root@testA ~]# mkdir /mysqldata
[root@testA ~]# mount /dev/haha/mysqldata /mysqldata
[root@testA ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             9.2G  4.3G  4.4G  50% /
/dev/sda1              99M   24M   70M  26% /boot
tmpfs                 217M     0  217M   0% /dev/shm
none                  217M  104K  217M   1% /var/lib/xenstored
/dev/mapper/haha-coremail
                      8.7G  148M  8.1G   2% /coremail  挂载成功
/dev/mapper/haha-mysqldata
                      1.2G   34M  1.1G   3% /mysqldata 挂载成功
 
开机自动挂载
[root@test ~]# vi /etc/fstab  
LABEL=/                 /                       ext3    defaults        1 1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/mapper/haha-coremail   /coremail                   ext3    defaults        0 0
/dev/mapper/haha-mysqldata  /mysqldata                  ext3    defaults        0 0
到这里。lvm算完成。
[root@testA ~]# umount /coremail  卸载挂载
[root@testA ~]# lvremove /dev/haha/coremail  删除逻辑卷,首先要卸载,然后再删除。
  /dev/cdrom: open failed: Read-only file system
Do you really want to remove active logical volume coremail? [y/n]: y
  Logical volume "coremail" successfully removed
 
 
模拟一个逻辑卷空间不足,现在添加了一块2G的新硬盘,需要添加到系统里面。
关机,安装硬盘,启动机器

[root@testA ~]# pvcreate /dev/sdg
  Physical volume "/dev/sdg" successfully created
[root@testA ~]# vgextend haha /dev/sdg
  /dev/cdrom: open failed: Read-only file system
  Attempt to close device '/dev/cdrom' which is not open.
  Volume group "haha" successfully extended
[root@testA ~]# vgdisplay   可以看到
  Free  PE / Size       511 / 2.00 GB
[root@testA ~]# lvextend -L+1G /dev/haha/mysqldata
  Extending logical volume mysqldata to 2.19 GB
  Logical volume mysqldata successfully resized

上面的命令就实现将逻辑卷MYSQLDATA的大小增加1G。
 
[root@testA ~]# resize2fs /dev/haha/mysqldata
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/haha/mysqldata is mounted on /mysqldata; on-line resizing required
Performing an on-line resize of /dev/haha/mysqldata to 574464 (4k) blocks.
The filesystem on /dev/haha/mysqldata is now 574464 blocks long.
[root@testA ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             9.2G  4.3G  4.4G  50% /
/dev/sda1              99M   24M   70M  26% /boot
tmpfs                 217M     0  217M   0% /dev/shm
/dev/mapper/haha-coremail
                      8.7G  148M  8.1G   2% /coremail
none                  217M  104K  217M   1% /var/lib/xenstored
/dev/mapper/haha-mysqldata
                      2.2G   34M  2.1G   2% /mysqldata  这里显示增加了1G
不需要umount,直接可以增加。

减少空间,我测试了不通过,还没搞懂那里的问题,改天再找问题。或者知道的朋友可以回复下,谢谢!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值