学习 Linux LVM

1,首先,了解相关的术语,参考下表:

*************************** 1. row ***************************
英文简称: LVM
中文名称: 逻辑卷管理
英文全称: Logic Volume Management
    解释: LVM能将不同的物理卷(即类型为8E,无文件系统的LVM分区)整合到一起,合并
成一个大分区(无论这些小的LVM分区是否在一个磁盘上),这个大分区称为卷组。然后在这个
大分区上创建逻辑卷。这样做的好处是可以随时并入新的物理卷,增加大分区,然后随时扩增
LVM下的逻辑卷大小而不需要重启系统。
*************************** 2. row ***************************
英文简称: PV
中文名称: 物理卷
英文全称: Physical Volume
    解释: 硬盘上的分区
*************************** 3. row ***************************
英文简称: LG
中文名称: 逻辑卷
英文全称: Logic Volume
    解释: 将一个大区再进行分区所得的分区,为逻辑卷。在LVM中将很多物理卷(PV)合并
成卷组(VG),在对这个大的卷组进行分区得到逻辑卷(LV)。逻辑卷才可以被格式化,挂载进
行数据读写。
*************************** 4. row ***************************
英文简称: VG
中文名称: 卷组
英文全称: Volume Group
    解释: 卷组包含单个或多个物理卷

2, 接着掌握相关命令,参考下表:

*************************** 1. row ***************************
      command: cfdisk
     parmeter: 磁盘分区工具,图形化界面,注意Type选项,选择8E即为LVM分区
usage_example: 图形化界面,看之即懂
*************************** 2. row ***************************
      command: pvcreate
     parmeter: 将现有的分区初始化成用于LVM的物理卷
usage_example: pvcreate /dev/sda1
*************************** 3. row ***************************
      command: vgcreate
     parmeter: 使用物理卷创建出一个卷组,-s参数能设定增量单位
usage_example: vgcreate -s 32M vg_hzaumycology /dev/sda2,创建一个卷
组vg_hzaumycology,并将/dev/sda2加入到卷组。
*************************** 4. row ***************************
      command: vgextend
     parmeter: 将一个物理卷加入到卷组中
usage_example: vgextend vg_hzaumycology /dev/sdb1,该命令将物理卷/dev
/sdb1加入到卷组vg_hzaumycology中。
*************************** 5. row ***************************
      command: lvcreate
     parmeter: 在卷组上创建逻辑卷(LV), -L 指定创建LV大小, -n LV的名字
usage_example: lvcreate -L 300G -n vg_hzaumycology-lv_home vg_hza
umycology,在卷组vg_hzaumycology上创建一个大小为500G的逻辑卷,卷名为vg_hz
aumycology-lv_home。
*************************** 6. row ***************************
      command: vgdisplay
     parmeter: 查看现有的卷组情况
usage_example: vgdisplay卷组状态
*************************** 7. row ***************************
      command: mkfs.ext4
     parmeter: 格式化工具,按默认参数格式化分区即可
usage_example: mkfs.ext4 /dev/vg_hzaumycology/vg_hzaumycology-lv_
home,将卷组中的逻辑卷格式化成ext4文件系统,
*************************** 8. row ***************************
      command: lvextend
     parmeter: 增加逻辑卷的空间 -L后接+1G,表示增加1G空间, -L后接1G,表示这
个LV的空间是多少
usage_example: lvextend -L +500G /dev/vg_hzaumycology/vg_hzaumyco
logy-lv_home,将该逻辑卷扩增500G空间。
*************************** 9. row ***************************
      command: df
     parmeter: 查看磁盘使用状况
usage_example: df -m,查看的磁盘大小以M
*************************** 10. row ***************************
      command: resize2fs
     parmeter: 扩充文件系统
usage_example: reisize2fs /dev/vg_hzaumycology/vg_hzaumycology-lv
_home,扩充该逻辑卷,和lvextend命令配合来增加磁盘空间,对应的文件系统为ext4。
*************************** 11. row ***************************
      command: resize2fs_
     parmeter: 扩充文件系统
usage_example: reisize_reiserfs /dev/vg_hzaumycology/vg_hzaumycol
ogy-lv_home,扩充该逻辑卷,和lvextend命令配合来增加磁盘空间,不过对应的文件系
统为ReiserFS。

3, 然后,按步骤了解LVM机制。以在CentOS6.2上添置一个3TB硬盘为例。

<1> 安装需要的软件和程序

#yum install cfdisk 
安装cfdisk。CentOS6.2默认没有cfdisk这个命令,先安装该命令。

<2> 磁盘分区,创建物理卷

使用cfdisk命令来创建type为8E的LVM物理卷(PV)。
使用cfdisk命令将3TB硬盘分为/dev/sdb1(type为8E)和/dev/sdb2(Type为83)
两个分区,大小都为1500G。
partprobe 强制让核心重新捕捉一次 partition table.

<3> 创建卷组(VG)

使用vgcreate创建一个卷组。
CentOS6.2系统在装机是使用的默认设置,将/dev/sda1设为主分区,不属于LVM,
挂载到CentOS6.2系统/boot目录下,用于系统的启动;将/dev/sda2分区加入卷
组。
#vgcreate vg_hzaumycology /dev/sda2;

<4> 创建逻辑卷(LV)

使用lvcreate创建逻辑卷。
CentOS6.2默认创建了3个逻辑卷(LV)。
#lvcreate -L 50G -n vg_hzaumycology-lv_root vg_hzaumycology; 
#lvcreate -L 300G -n vg_hzaumycology-lv_home vg_hzaumycology; 
#lvcreate -L 32G -n vg_hzaumycology-lv_swap vg_hzaumycology; 
逻辑卷在CentOS6.2系统中对应的位置为"/dev/卷组名/逻辑卷名"。

 <5> 格式化逻辑卷

使用mkfs.ext4在逻辑卷上创建文件系统。
#mkfs.ext4 /dev/vg_hzaumycology/vg_hzaumycology-lv_root;
#mkfs.ext4 /dev/vg_hzaumycology/vg_hzaumycology-lv_home;

<6> 将另外一个物理卷加入到卷组中

使用vgdisplay命令查看VG,使用vgextend命令将物理卷加入到卷组从而扩增卷组
大小。
#vgdisplay;查看到系统默认创建的卷组vg_hzaumycology  
#lvdisplay;查看到系统有3个逻辑卷vg_hzaumycology-lv_root, lvcreate 
vg_hzaumycology-lv_home和vg_hzaumycology-lv_swap分别对应这系统的
/root,/home目录和SWAP分区。#vgextend vg_hzaumycology /dev/sdb1; 
将第二块硬盘的第一个分区1500G的空间加入到卷组vg_hzaumycology中。

<7> 扩增逻辑卷的容量

有了物理卷的加入,利于逻辑卷的扩增,使用命令lvextend和resize2fs来扩增逻
辑卷。
#lvextend -L +500G /dev/vg_hzaumycology/vg_hzaumycology-lv_
home; 给逻辑卷vg_hzaumycology-lv_home增加500G空间。
#resize2fs /dev/vg_hzaumycology/vg_hzaumycology-lv_home; 重新
给逻辑卷定大小,这一步需要许多时间,因为500G空间较大。完毕使用df -m命令查
看磁盘分区状况,才能看到磁盘容量变大。

<8> 为第二块磁盘的第二个分区/dev/sdb2创建文件系统并在开机自动挂载到指定位置

#mkfs.ext4 /dev/sdb2; 将/dev/sdb2格式化,创建文件系统ext4。 
#mkdir /bioinformatic; chown chenlianfu:chenlianfu /bioinform
atics; 
#chmod 750 /bioinformatics; 创建文件夹bioinformatics并修改权限用于
挂载/dev/sdb2。添加“/dev/sdb2 /bioinformatics ext4 uid=500,gid=
501 1 2”到/etc/fstab中。

将3TB磁盘分为2个1.5TB分区,其中一个分区整合到LVM中,另外一个分区不整合到LVM
而单独为一个区。以后重装系统到此3TB磁盘的时候,好将文件备份到分区2中,以避免
重要文件的丢失。