首页 > 代码库 > [Linux] centOS 6.5 LVM 逻辑卷 管理 实验报告

[Linux] centOS 6.5 LVM 逻辑卷 管理 实验报告

目录

1.      LVM 简介

2.      LVM基本术语

3.      LVM的安装

4.      LVM的使用

4.1        物理卷的管理

4.2        卷组的管理:

4.3        逻辑卷的管理:

5.      一个例子

5.1        练习:

5.2        开始部署

 

1.   LVM 简介

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

由四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,我们可以对这些逻辑分区进行大小调节, 也可以进行快照备份.

 

2.   LVM基本术语

Physical volume(PV): 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。典型的物理卷是硬盘分区,但也可以是整个硬盘或已创建的Software RAID 卷。

Volume Group(VG): 卷组是LVM中最高抽象层,是由一个或多个物理卷所组成的存储器池。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

Logical Volume(LV): 逻辑卷相当于非LVM系统中的分区,它在卷组上建立,是一个标准的块设备,可以在其上建立文件系统

Physical Extent (PE): 物理块, 物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同。PE的大小是可配置的,默认为4MB。

3.   LVM的安装

查看lvm2是否已经安装

1 [root@stu ~]# rpm -qa|grep lvm

mesa-private-llvm-3.3-0.3.rc3.el6.i686

lvm2-2.02.100-8.el6.i686

lvm2-libs-2.02.100-8.el6.i686

如果没有返回内容, 那么需要进行安装

1 [root@stu ~]# yum install lvm2

4.   LVM的使用

如果要创建一个逻辑卷需要经过以下三个阶段:

4.1  物理卷的管理:

pvcreate /path/to/dev: 初始化一个磁盘或分区创建成为物理卷;

pvmove /path/to/dev: 移动该设备上的物理块到其他设备上.(在移除物理卷时可以使用,防止数据丢失)

pvscan: 搜索目前系统里面任何具有物理卷的磁盘或分区;

pvdisplay: 显示出目前系统上面的物理卷状态;

pvremove /path/to/pv_dev : 将物理卷移除,让该分区不具有物理卷属性。

4.2              卷组的管理:

vgcreate : 创建卷组命令 –s PE大小, 默认4M;

vgscan : 搜索系统上面是否有卷组存在

vgdisplay : 显示目前系统上面的卷组状态;

vgextend : 在卷组内添加额外的物理卷;

vgreduce : 在卷组内移除物理卷;

vgchange : 配置卷组是否启动 (active);

vgremove : 删除一个卷组

4.3              逻辑卷的管理:

lvcreate : 创建逻辑卷.

lvscan : 查询系统上面的逻辑卷.

lvdisplay : 显示系统上面的逻辑卷状态

lvextend : 在逻辑卷里面添加容量.

lvreduce : 在逻辑卷里面减少容量.

lvremove : 删除一个逻辑卷.

lvresize : 对 LV 进行容量大小的调整.

5.   一个例子

5.1              练习:

       1. 创建一个由两个物理卷组成的大小为20G的卷组myvg, 要求PE大小16M.

       2. 在该卷组上创建大小为7G的逻辑卷mylv1, 要求其文件系统为ext4, 块大小为2048,

       3. 开机自动挂载到/users

       4. 新建用户openstack, 其家目录为/users/openstack, 切换至openstack用户, 复制一些文件到家目录中

       5. 缩减mylv1到5G大小, 切换到openstack用户, 确保没有数据丢失

       6. 对mylv1创建快照卷snap-mylv1, 并通过其备份数据到/tmp/user.tar.bz2;

 

5.2              开始部署

  1. 准备了两个分区, sdb1(8G),sdc1(12G)来组成一个20G 的myvg卷组

格式化第一个sdb1

#使用fdisk格式化sdb

1 [root@stu ~]# fdisk /dev/sdb

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-1305, default 1): 1

Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +8G

#调整分区格式为LVM

Command (m for help): t

Selected partition 1

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)

#如果忘了代码,可以输入l查找LVM格式的代码

#查看分区状况

Command (m for help): p

 

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

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

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        1045     8393931   8e  Linux LVM

#保存退出

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

#格式化并保存退出

 

准备第二个物理分区sdc1(12G) 步骤同上:

1 [root@stu ~]# fdisk /dev/sdc

#确认分区状况:

1 [root@stu ~]# lsblk

  2. 创建物理卷

1 [root@stu ~]# pvcreate /dev/sdb1 /dev/sdc1

1 [root@stu ~]# pvs

#查看物理卷情况

1 [root@stu ~]# pvscan

 

  3. 创建大小为20G的卷组myvg, 要求PE大小16M.

1 [root@stu ~]# vgcreate -s 16M myvg /dev/sdb1 /dev/sdc1

1 [root@stu ~]# vgs

#查看卷组情况

  4. 在该卷组上创建大小为7G的逻辑卷mylv1, 要求其文件系统为ext4, 块大小为2048

1 [root@stu ~]# lvcreate myvg -n mylv1 -L 7G

#在卷组myvg上创建大小为7G的逻辑卷mylv1

1 [root@stu ~]# fdisk /dev/myvg/mylv1

#在逻辑卷上创建分区

1 [root@stu ~]# mke2fs -t ext4 -b 2048 /dev/myvg/mylv1

#格式化逻辑卷mylv1为ext4文件系统块大小2048K

     5. 开机自动挂载到/users

1 [root@stu /]# mkdir /users2 3 [root@stu /]# vim + /etc/fstab

#设置开机自动挂载逻辑卷到/users上

#添加/dev/myvg/mylv1         /users                  ext4    defaults        0 2到/dev/fstab 最后一行

1 [root@stu /]# mount –a

#自动挂载

 

  6. 新建用户openstack, 其家目录为/users/openstack, 切换至openstack用户, 复制一些文件到家目录中

1 [root@stu users]# useradd openstack -d /users/openstack

#新建用户openstack, 其家目录为/users/openstack

1 [root@stu users]# su - openstack2 [root@stu users]# cp -r /etc/* ~/

#切换至openstack用户, 复制一些/etc/下的文件到家目录中

 

  7. 缩减mylv1到5G大小, 切换到openstack用户, 确保没有数据丢失

缩减逻辑卷大小思路:

7.1. 卸载卷, 并执行强制检测

# e2fsck -f /path/to/lv_device

7.2. 缩减逻辑边界:

# resize2fs /path/to/lv_device Size

7.3. 缩减物理边界:

# lvreduce -L [-]Size /path/to/vg_name/lvname

7.4.  验证是否正常

 

7.5.  开始实施:

1 [root@stu ~]# umount /dev/myvg/mylv1 #卸载卷2 [root@stu ~]# e2fsck -f /dev/myvg/mylv1 #强行检测3 [root@stu ~]# resize2fs /dev/myvg/mylv1 5G #缩减逻辑边界到5G4 [root@stu ~]# lvreduce -L 5G /dev/myvg/mylv1 #缩减物理边界到 5G5 [root@stu ~]# lsblk #验证数据

1 [root@stu ~]# mount –a #重新挂载逻辑卷2 [root@stu ~]# cd /users/openstack/ #验证数据3 [root@stu openstack]# ll

  8. 对mylv1创建快照卷snap-mylv1, 并通过其备份数据到/tmp/user.tar.bz2;

1 [root@stu openstack]# lvcreate -s -L 50M -n snap_mylv1 -p r /dev/myvg/mylv1 #建立快照2 [root@stu openstack]# mount /dev/myvg/snap_mylv1 /media/snap/ #挂载快照3 [root@stu openstack]# tar -jcf /tmp/user.tar.bz2 /media/snap/openstack/* #建立归档

 

[Linux] centOS 6.5 LVM 逻辑卷 管理 实验报告