http://blog.itpub.net/29654823/viewspace-1222446/
深度分析lvm和VG(卷组)以及pv(物理卷)和lv(逻辑卷)的关系 详解如何增加磁盘容量
1.LVM 是 Logical Volume Manager(逻辑卷管理器)的简写,LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。
PV 物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
vg 卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成
lv 逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
可以这样理解他们之间的关系:现在有这么几个人 每个人有一个苹果,但是有的人想吃1.4个苹果,有的人想吃0.8个苹果,有的还想吃0.6个不等 那么做么样才能满足这样的需求呢,这样 :把苹果搅拌成苹果泥。然后再给人分配苹果泥,这样就可以满足此条件了;这个例子中苹果相当于物理磁盘,然后必须把它搅拌成泥(泥就相当于物理卷PV),只有把泥一起放在泥罐(相当于卷组)才能进一步重新分给所需的人,重新分配的过程就是把卷组重新分成lv(逻辑卷)也就是/home /usr /var 等等。只有先把苹果能成泥,才能进一步重新分给人,也就是只有先把物理磁盘转化成pv(物理卷) ,然后才能加入到卷组,然后才能重新分成lv(逻辑卷),这样就能做到动态管理,也就是说 ,存储空间不足时 ,可以再加物理磁盘,转化成物理卷,再加入到卷组,再分给空间不足的逻辑卷,
2.接下来 ,分析该如何给逻辑卷如/u01 ,扩大容量,
(1)[root@ENMOEDU ~]# df -h 查看磁盘使用量 发现/usr 使用了65% ,应该对其增加容量
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_enmoedu-LogVol00 5.0G 529M 4.2G 12% /
tmpfs 503M 253M 251M 51% /dev/shm
/dev/sda1 194M 72M 113M 39% /boot
/dev/mapper/vg_enmoedu-LogVol01 5.0G 141M 4.6G 3% /home
/dev/mapper/vg_enmoedu-LogVol02 5.0G 348M 4.4G 8% /tmp
/dev/mapper/vg_enmoedu-LogVol06 59G 11G 45G 20% /u01
/dev/mapper/vg_enmoedu-LogVol03 9.9G 6.1G 3.4G 65% /usr
/dev/mapper/vg_enmoedu-LogVol04 9.9G 351M 9.1G 4% /var
(2)[root@ENMOEDU ~]# fdisk -l 显示磁盘信息 以便和后面对比
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x000f22b5
。。。。。有省略。。。。。。
(3) 选择虚拟机 - 设置 如下图: 选择添加,然后再选择大小。
这样就加上了新磁盘。 (4)再查看磁盘信息 发现和上次一样,这时候不要困惑,重启虚拟机 即可。 [root@ENMOEDU ~]# fdisk -lDisk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x000f22b5 (5)重启后 再查看磁盘信息, [root@ENMOEDU ~]# fdisk -l
Disk /dev/sda: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 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: 0x000f22b5
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 13055 104651776 8e Linux LVM
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 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: 0x00000000 发现这是与上次不同的 也就是新建的磁盘, (6)我们已经知道 ,磁盘必须先创建成物理卷 ,然后才能加进卷组,然后才能加进目标逻辑卷; 在这之前 应该先将该磁盘格式化, [root@ENMOEDU ~]#fdisk /dev/sdb 先对sdb磁盘分区,因为我们这里只想给一个目标逻辑卷,所以就分成了一个区,
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xa20fa9ff.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652):
Using default value 652
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@ENMOEDU ~]# mkfs.ext3 /dev/sdb1 在创建物理卷之前 应该先将该磁盘格式化, 因为这里之分了一个区,所以 是sdb1 mke2fs 1.43-WIP (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1309289 blocks
65464 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
(7)[root@ENMOEDU ~]# pvcreate /dev/sdb1 创建成物理卷
Physical volume "/dev/sdb1" successfully created
[root@ENMOEDU ~]# pvdisplay 查看物理卷信息,
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_enmoedu
PV Size 99.80 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 25549
Free PE 0
Allocated PE 25549
PV UUID GESziD-VXMq-QsDh-0glz-uJN9-2OlF-wP02fv
"/dev/sdb1" is a new physical volume of "4.99 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name 因为sdb1还没有加进任何卷组 所以这里卷组名字为空,
PV Size 4.99 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Mbo885-C53J-EYN3-t6qg-tpru-57Pi-V3GfB0 (7)将物理卷加进卷组 vg_enmoedu [root@ENMOEDU ~]#vgextend vg_enmoedu /dev/sdb1 (8)把剩余空间全部分给 /dev/mapper/vg_enmoedu-LogVol03 逻辑卷 [ root@ENMOEDU ~]# lvextend -l +100%FREE /dev/mapper/vg_enmoedu-LogVol03
Extending logical volume lv_root to 12.53 GiB
Logical volume lv_root successfully resized (9)使上面命令生效 [ root@ENMOEDU ~]# resize2fs /dev/mapper/vg_enmoedu-LogVol03 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/mapper/vg_lvm-lv_root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/mapper/vg_lvm-lv_root to 3284992 (4k) blocks. The filesystem on /dev/mapper/vg_lvm-lv_root is now 3284992 blocks long. (10)再查看分区大小: [root@ENMOEDU ~]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_enmoedu-LogVol00 5.0G 529M 4.2G 12% /
tmpfs 503M 264K 503M 1% /dev/shm
/dev/sda1 194M 72M 113M 39% /boot
/dev/mapper/vg_enmoedu-LogVol01 5.0G 141M 4.6G 3% /home
/dev/mapper/vg_enmoedu-LogVol02 5.0G 348M 4.4G 8% /tmp
/dev/mapper/vg_enmoedu-LogVol06 59G 11G 45G 20% /u01
/dev/mapper/vg_enmoedu-LogVol03 15G 6.1G 8.0G 43% /usr 添加成功。
/dev/mapper/vg_enmoedu-LogVol04 9.9G 349M 9.1G 4% /var
/dev/sr0 3.1G 3.1G 0 100% /media/OL6.5 i386 Disc 1 20131125