Linux自学笔记——LVM2的创建与管理

LVM2,Logical VolumeManager,逻辑卷管理,它是linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在linux 2.4内核上实现。Linux用户安装Linux操作系统时遇到一个常见的难以决定的问题就是如何正确的评估各分区的大小,已分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着linux的逻辑管理卷功能的出现,这些问题也都迎刃而解,用户在无需停机的情况下便可以方便的调整各个分区的大小。

基本术语:

PV:Physical Volume,物理卷,指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的的物理存储介质比较,却包含与LVM相关的物理参数。

PE:Physical Extent,物理块,每个物理卷PV被划分为的基本单元称为PE,PE的大小是可以配置的,默认为4MB,所以物理卷PV由大小等同的基本单元PE组成。

VG:Volume Group,卷组,类似于非LVM系统的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

LV:类似于非LVM系统中的磁盘分区,逻辑卷建立在VG之上。在逻辑卷之上可以建立文件系统。

下图为PV,VG,LV三者之间的关系:

LVM的创建和管理:

创建前准备:

本文实在虚拟机中测试LVM的创建,首先添加一块磁盘,划分分区,分区号分别为sdb1,sdb2,sdb3,sdb5。

具体过程如下:

1.     查看磁盘分区

2.     用fdisk命令对/dev/sdb进行分区,且每一个分区分2G的空间:

分完之后查看分区列表,并保存退出:

3.     更改分区类型为8e:

4.     使用partx命令让内核重新识别新分区:

PV管理工具:

pvcreate  /dev/DEVICE:创建pv

pvs:简要pv信息显示

pvdisplay:显示pv的详细信息

pvchange:改变物理卷的属性

pvmove:移动部分空间到其它物理卷

pvremove:移除物理卷

pvresize:调整物理卷的大小

VG管理工具:

vgs:显示卷组信息

vgdisplay:显示卷组详细信息

vgcreate [-s #[kKmMgGtTpPeE]]VolumeGroupName  PhysicalDevicePath[PhysicalDevicePath...]:创建卷组

-s:指明卷组上物理卷PE的大小

-p:卷组中允许添加的最大的物理卷的个数

-l:卷组上允许添加的最大的逻辑卷的个数

vgchange:改变卷组属性

vgrename:重命名组卷

vgextend VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]:扩展组卷

vgremove:移除组卷

vgscan:扫描所有卷组

vgreduce VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]:缩减组卷的空间,需先做pvmove

LV管理工具:

lvcreate  -L #[mMgGtT] -n NAME VolumeGroup:创建逻辑卷

-n:指定逻辑卷名字

-L:指定逻辑卷大小

lvremove /dev/VG_NAME/LV_NAME:移除逻辑卷

df –lh:显示逻辑卷的空间信息

lvs:显示逻辑卷信息

lvdisplay:显示逻辑卷详细信息

扩展逻辑卷:

# lvextend -L [+]#[mMgGtT]/dev/VG_NAME/LV_NAME

# resize2fs /dev/VG_NAME/LV_NAME

缩减逻辑卷:

# umount /dev/VG_NAME/LV_NAME

# e2fsck -f /dev/VG_NAME/LV_NAME

# resize2fs /dev/VG_NAME/LV_NAME#[mMgGtT]

# lvreduce -L [-]#[mMgGtT]/dev/VG_NAME/LV_NAME

# mount

快照:snapshot

lvcreate -L #[mMgGtT] -p r -s -nsnapshot_lv_name original_lv_name

练习1:创建一个至少有两个PV组成的大小为6G的名为myvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为4G的逻辑卷mylv;挂载至/users目录;

1.     创建pv,并查看pv的详细信息;

2.     创建vg,并查看vg详细信息;

3.     创建lv,并查看lv详细信息;

4.     格式化逻辑卷并挂载;

练习2:扩展卷组myvg;

练习3:扩展mylv至5G;

练习4:收缩mylv至3G;

练习5:对mylv创建快照,并尝试基于快照备份数据,验正快照的功能;

1.     在/dev/myvg/mylv逻辑卷里首先创建文件,然后做快照;

2.     查看快照;

3.     移除快照;

练习6:若lvm系统中其中一块磁盘后者分区发生损坏,如何转移数据;

练习7:删除整个逻辑卷;

时间: 2024-12-26 13:37:15

Linux自学笔记——LVM2的创建与管理的相关文章

Linux学习笔记之文件管理,用户管理

学而不用,总是忘记,今天又整理一下,记在这里,方便以后自己查看 常用操作命令 目录常用操作命令: pwd, cd, ls, mkdir, rmdir, tree. 文件常用操作命令: find,locate, whereis, which, touch, file, cp, rm,mv,ln,cat,tac,head,tail,more,less,grep,wc. 用户及用户组管理 Linux系统中用户分为3类:root用户,普通用户和虚拟用户.其中虚拟用户是不具备登录系统的能力,但却是系统运行

Linux分类笔记(一)-权限管理

Linux分类笔记(一) 权限管理 普通权限 文件的普通权限 对一个普通的文件使用ls -ll命令后,看到下面的输出内容   而对于文件权限中的每一位,又分别代表了以下的意思 文件类型又有以下几类: [d]:目录 [-]:文件 [l]:连接文件 [b]:可供存储的接口设备 [c]:串行端口设备,如键盘和鼠标 权限的定义: r:可读,普通文件的r代表可以读取该文件的实际内容:目录的r代表可以读取该目录结构列表的权限 w:可写,普通文件的w代表可以编辑,新增或者修改文件内容,但不能删除该文件:目录的

Linux学习笔记(6)-工作管理

什么是工作管理 工作来自job命令的翻译,job命令可以查看后台工作的进程.举例来说什么是工作管理,当你要打包一个比较大的目录时,很耗时间,但是你同时又需要使用别的命令.你会想我可以到开几个终端进行登录.在/etc/security/limits.conf里面可以设定使用者同时可以登入的连接数,如果设为1,那不是没辙了?由于耗时的打包命令并不需要与用户进行交互,可不可以让程序在后台打包呢?答案是可以的. 将进程放入后台运行 使用"&"符号让命令在后台工作 #tar -zcf e

Linux学习笔记(5)-进程管理

进程简介 进程是正在执行的一个程序或命令,每一个进程都有自己的地址空间,并占有一定的系统资源.感性的认识,进程就是一个正在运行的程序 进程管理的作用 判断服务器的运行状态 查看系统中有哪些进程 杀死进程(很少用,一般会采用正常的关闭手段) 查看系统所有的进程 #ps aux #ps -le 输出信息各字段的含义 USER:进程是由哪个用户产生的 PID:进程的ID号 %CPU:进程占用CPU资源的百分比 %MEM:进程占用物理内存的百分比 VSZ:该进程占用虚拟内存的大小,单位KB RSS:该进

linux自学笔记——RAID级别特性以及软RAID的实现

RAID,Redundant Arrays of Inexpensive Disks 廉价冗余磁盘阵列,又称为Redundant Arrays of Independent Disks,独立冗余磁盘阵列. 其基本原理就是利用多块较小的磁盘通过不同的组织方式,组成一个大的磁盘组,以提高磁盘的IO能力和耐用性.由于组织方式不同,所以把RAID分为多个级别.而最常用的是RAID0,RAID1,RAID5,RAID6,RAID10,RAID01.下面我们将对以上的级别进行比较分析. 级别:level R

Linux自学笔记——linux进程及作业管理

内核的功用主要有进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能这几个方面,本文主要讨论linux进程及作业管理. 进程管理: 进程,process,运行中程序的一个副本,且存在生命周期: 进程分为CPU bound和I/Obound. CPU bound:CPU密集型(类似于高清视频) I/O bound:IO密集型(编辑器等频繁IO操作) Linux内核存储进程信息的固定格式为:task struct(结构体) 多个任务的task struct组件的链表:task list 进程创

Linux学习笔记——LVM2

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性. 创建和管理LVM 创建LVM系统一般需要一下步骤 1.创建分区 Linux中有一个很好用的分区工具fdisk,具体的分区过程这里不做说明,注意要修改磁盘i

Linux 自学笔记——内核管理初步及编译

Linux Kernel: 内核设计体系:单内核.微内核: 内核的组成部分: 1.Kernel:内核核心,一般为bzimage,通常位于/boot目录,名称为vmlinuz-VERSION-release: 2.Kernel object:内核对象,即内核模块,一般放置于/lib/modules/VERSION-release/,maninfo命令通过读取此文件的信息以显示相关信息: 内核模块与内核核心版本一定要严格匹配: []:N: [M]:Module,编译进模块中: [*]:Y,编译进内核

linux自学笔记——rpm程序包管理

RPM是Redhat PackageManager(RPM程序包管理器)的缩写,这一文件格式名称虽然打上了Redhat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.Suse以及Turbo Linux的分发版本也都有采用.RPM程序包管理器可分为安装.升级.卸载.查询.校验等五种功能,以下我们将会对这五种功能的相应的用法一一说明. RPM程序包: 源代码:name-VERSION.tar.gz    源代码由RPM自动编译安装: VERSION: major.minor.rel