感谢支持
我们一直在努力

磁盘管理之LVM

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,从而提高磁盘分区管理的灵活性。接下来通过实验来详细了解LVM的使用。

Linux入门教程:使用LVM逻辑卷管理器管理灵活存储 http://www.linuxidc.com/Linux/2014-07/104443.htm

CentOS 6.3下配置LVM(逻辑卷管理) http://www.linuxidc.com/Linux/2014-06/103839.htm

Linux LVM简明教程 http://www.linuxidc.com/Linux/2014-06/103390.htm

Linux的LVM(Logical Volume Manager) 学习笔记 http://www.linuxidc.com/Linux/2014-05/101880.htm

RHCE认证笔记:LVM实验 http://www.linuxidc.com/Linux/2014-04/99685.htm

Linux系统管理之LVM案例 http://www.linuxidc.com/Linux/2014-02/96987.htm

1.实验环境准备.添加一块未使用过的磁盘/dev/sdb,使用fdisk从其中分出两个5G的分区,并且将其分区类型该为8e

[root@localhost ~]# fdisk -l /dev/sdb

Disk /dev/sdb: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 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: 0x0f199ec4

  Device Boot      Start        End      Blocks  Id  System

/dev/sdb1              1        654    5253223+  8e  Linux LVM

/dev/sdb2            655        1308    5253255  8e  Linux LVM

2.创建物理卷:

[root@localhost ~]# pvcreate /dev/sdb1

  Physical volume “/dev/sdb1” successfully created

[root@localhost ~]# pvcreate /dev/sdb2

  dev_is_mpath: failed to get device for 8:18

  Physical volume “/dev/sdb2” successfully created

[root@localhost ~]# pvscan

  PV /dev/sda2  VG vg0            lvm2 [59.99 GiB / 7.99 GiB free]

  PV /dev/sdb1                      lvm2 [5.01 GiB]

  PV /dev/sdb2                      lvm2 [5.01 GiB]

  Total: 3 [70.01 GiB] / in use: 1 [59.99 GiB] / in no VG: 2 [10.02 GiB]

3.在物理卷的基础上创建卷组,将/dev/sdb1加入卷组

[root@localhost ~]# vgcreate  test /dev/sdb1

  Volume group “test” successfully create

[root@localhost ~]# vgscan #可以看到卷组test已经创建成功

  Reading all physical volumes.  This may take a while…

  Found volume group “test” using metadata type lvm2

  Found volume group “vg0” using metadata type lvm2

4.在卷组test中创建一个大小为4G的逻辑卷test1

[root@localhost ~]# lvcreate -L 4G -n test1 test

  Logical volume “test1” created

[root@localhost ~]# lvscan

  ACTIVE            ‘/dev/test/test1’ [4.00 GiB] inherit #test1已经创建成功

  ACTIVE            ‘/dev/vg0/root’ [20.00 GiB] inherit

  ACTIVE            ‘/dev/vg0/swap’ [2.00 GiB] inherit

  ACTIVE            ‘/dev/vg0/usr’ [10.00 GiB] inherit

  ACTIVE            ‘/dev/vg0/var’ [20.00 GiB] inherit

5.接下来就可以按照普通分区,对test1进行格式化,并且挂载使用了

[root@localhost ~]# mkfs.ext4 /dev/test/test1

mke2fs 1.41.12 (17-May-2010)

……

This filesystem will be automatically checked every 34 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@localhost ~]# mkdir /test

[root@localhost ~]# mount /dev/test/test1 /test/

[root@localhost ~]# df -h

Filesystem              Size  Used Avail Use% Mounted on

/dev/mapper/vg0-root    20G  428M  19G  3% /

tmpfs                  246M    0  246M  0% /dev/shm

/dev/sda1              194M  30M  155M  16% /boot

/dev/mapper/vg0-usr    9.9G  2.3G  7.2G  24% /usr

/dev/mapper/vg0-var      20G  361M  19G  2% /var

/dev/mapper/test-test1  4.0G  136M  3.7G  4% /test #逻辑卷成功创建

6.在/test下放入一个文件,测试可否使用

[root@localhost test]# echo “lv test” >a.txt

[root@localhost test]# cat a.txt

lv test

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-08/105381p2.htm 

7.当我们使用完一段时间后,可能4G的空间不够用了,这种时候,我们可以对test1进行扩展.LVM的灵活性就展现出来了.例如我们想扩展到7G,但是经过查看,卷组中的空间已经不够使用,需要先对卷组进行扩展

[root@localhost test]# vgs test

VG #PV #LV #SN Attr VSize VFree

test 1 1 0 wz–n- 5.01g 1.01g

[root@localhost test]# vgextend test /dev/sdb2

Volume group “test” successfully extended

[root@localhost test]# vgs test

VG #PV #LV #SN Attr VSize VFree

test 2 1 0 wz–n- 10.02g 6.02g

8.扩展逻辑卷test1(首先扩展物理边界,再扩展文件系统边界)

[root@localhost test]# vgextend test /dev/sdb2

Volume group “test” successfully extended

[root@localhost test]# vgs test

VG #PV #LV #SN Attr VSize VFree

test 2 1 0 wz–n- 10.02g 6.02g

[root@localhost test]# lvextend -L 7G /dev/test/test1 #扩展物理边界

Extending logical volume test1 to 7.00 GiB

Logical volume test1 successfully resized

[root@localhost test]# resize2fs /dev/test/test1 #扩展文件系统边界

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/test/test1 is mounted on /test; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/test/test1 to 1835008 (4k) blocks.

The filesystem on /dev/test/test1 is now 1835008 blocks long.

[root@localhost test]# df -h #test1成功扩展到7G大小

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/vg0-root 20G 428M 19G 3% /

tmpfs 246M 0 246M 0% /dev/shm

/dev/sda1 194M 30M 155M 16% /boot

/dev/mapper/vg0-usr 9.9G 2.3G 7.2G 24% /usr

/dev/mapper/vg0-var 20G 361M 19G 2% /var

/dev/mapper/test-test1 6.9G 137M 6.5G 3% /test

9.对测试后的test1访问,查看文件是否被破坏

[root@localhost test]# cat a.txt #文件未被破坏

lv test

10.快照卷创建(用于文件系统备份等场景使用)

[root@localhost test]# lvcreate -n snap-test1 -L 2G -s /dev/test/test1 -p r

Logical volume “snap-test1” created

[root@localhost test]# mkdir /test.bak

[root@localhost test]# mount /dev/test/snap-test1 /test.bak/

mount: block device /dev/mapper/test-snap–test1 is write-protected, mounting read-only

11.查看test1及其快照卷的文件列表及a.txt的文件内容

[root@localhost /]# ls /test

a.txt lost+found

[root@localhost /]# ls /test.bak/

a.txt lost+found

[root@localhost test]# cat /test/a.txt /test.bak/a.txt

lv test

lv test

12.修改test1中的文件,查看在其快照卷中是否发生了改动

[root@localhost test]# echo “This is a new line” >>/test/a.txt

[root@localhost test]# cat /test/a.txt

lv test

This is a new line

[root@localhost test]# cat /test.bak/a.txt #快照卷的文件内容未发生改变

lv test

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-08/105381.htm

赞(0) 打赏
转载请注明出处:服务器评测 » 磁盘管理之LVM
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏