lvm(logical volume manager)逻辑卷管理器。主要作用是动态分配磁盘分区及调整磁盘分区大小,并且可以让多个分区或物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘)来使用。
一个硬盘/dev/sda划分了3个主分区:/dev/sda1、/dev/sda2、/dev/sda3,对应挂载点/boot、/、/home还有一部分磁盘空间没有划分。问题:当系统用户增多,/home分区空间不够用了,如何处理?
解决方法:
传统方法:在未划分的空间中分割一个分区,挂载到/home下,并把sda3的内容复制到新分区上。或者把该新分区挂载到另外的挂载点上,然后在/home下创建链接,链接到该新挂载点。
问题:当系统用户增多,/home分区空间不够用了,如何处理?
解决方法:
利用lvm解决。lvm的好处在于,可以动态调整逻辑卷(相当于一个逻辑分区)的容量大小。
即若sda3是一个lvm逻辑分区,比如/dev/rootvg/lv3,那么lv3就可以被动态放大。这样就解决了动态容量调整的问题。
PV:物理卷,处于lvm的最底层,可以是整个物理磁盘,也可以是硬盘中的分区。
VG:卷组,将多个物理卷合起来就组成了卷组。组成同一个卷组的物理卷可以是同一硬盘的不同分区,也可以是不同硬盘的不同分区。
LV:逻辑卷。卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区就叫逻辑卷,逻辑卷可以写入数据和格式化。
PE:物理区域,用来保存数据的最小单元,数据实际上都是写入PE,PE大小可以配置,默认是4MB。
建立lvm的步骤:
首先需要把物理硬盘分区,也可以是整块物理硬盘。
然后把物理分区建立成为物理卷(PV),也可以把整块硬盘都建立为物理卷。
把物理卷整合成为卷组(VG)。卷组就已经可以动态调整大小了。可以将物理分区加入卷组,也可以把物理分区从卷组删除(可能造成数据丢失)。
最后把卷组再划分为逻辑卷(LV),逻辑卷也是可以直接调整大小的。逻辑卷也需要格式化和挂载。
添加硬盘,查看硬盘信息:
显示分区类型
显示指定文件类型的磁盘使用情况
实验:统计当前文件夹的大小,默认不统计软链接指向的目的文件夹
使用fdisk查看指定硬盘的分区,也可以对硬盘进行分区操作
使用fdisk查看新增硬盘的分区情况
从图中可以看出,除了显示硬盘大小之外,下面有一行提示信息,提示/dev/sdb设备中没有分区表,因此需要对该硬盘进行分区操作。
1.建立lvm类型的分区。用fdisk命令在/dev/sdb上建立lvm类型的分区。
建立好卷组后,使用lvcreate在已有卷组上建立逻辑卷。
3.lvm逻辑卷的管理
1.增加新的物理卷到卷组
当卷组中没有足够的空间分配给逻辑卷时,可以用给卷组增加物理卷的方法来增加卷组的空间。/dev/sdb4必须为lvm类型,而且必须为PV
2.逻辑卷容量的动态调整
当逻辑卷的空间不足时,用lvextend命令把卷组中的空闲空间分配到该逻辑卷以扩展逻辑卷的容量。当逻辑卷的空闲空间太大时,用lvreduce命令减少逻辑卷的容量
3.删除逻辑卷—卷组—物理卷(先后顺序不能变)
4.物理卷、卷组和逻辑卷的检查
配置与管理磁盘
认识Linux分区
①linux中所有文件和目录都在 “/”下。
②linux系统中每一个硬件设备(如硬盘、内存)都映射到系统的一个文件。
SCSI设备映射的文件以sd为前缀,系统中第1个SCSI设备为sda,第2个设备为sdb。
③查看系统中的分区信息:
df命令的英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB。建议使用“df -h”的参数组合。
认识Linux分区
①查看磁盘空间占用情况
df命令拥有查看硬盘空间使用情况。
参数 说 明
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以k字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
-t 显示各指定类型的文件系统的磁盘使用情况。
-h 以容易阅读的方式显示
-T 显示文件系统类型
②.查看文件或目录所使用的空间
du命令查看磁盘或某个目录占用的磁盘空间,常见的应用场景如硬盘满时需要找到占用空间最多的目录或文件。
参数 说 明
-a 显示全部目录和其子目录下的每个文件所占的磁盘空间
-b 大小用bytes来表示(默认值为k bytes)
-c 最后再加上总计(默认值)
-s 只显示各文件大小的综合
-x 只计算属于同一个文件系统的文件
-L 计算所有的文件大小
3.使用硬盘
介绍通过命令方式对硬盘分区、格式化,再挂载到系统中的过程。本节将以在Linux系统中新增一个硬盘为基础进行操作。
添加硬盘
(1)
(2)
(3)
(4)
(5)
(6)
查看硬盘设备
查看硬盘分区表
当系统中添加硬盘后,可通过查看硬盘分区表来了解硬盘的分区情况,以便对硬盘分区进行进一步处理。例如:若硬盘已有分区,可将其挂载到文件系统中访问;若硬盘没有分区,则可进行分区操作。
1.查看系统中的硬盘
2.查看分区
实验:
1.查看当前系统中的硬盘设备
对于新增加的硬盘,必须要进行分区、格式化之后才能使用。
使用fdisk命令查看指定硬盘的分区,也可对硬盘进行分区操作。
命令格式:
fdisk [-b<分区大小>][-luv][外围设备代号]
-b<分区大小>:指定每个分区的大小
-l:列出指定的外围设备的分区表状况
-u: 配合-l参数使用,用分区数目取代柱面数目, 来表示每个分区的起始地址
-v:显示版本信息
实验:
2.使用fdisk查看指定硬盘的分区,也可以对硬盘进行分区操作
实验:
3.使用fdisk查看新增硬盘的分区情况
从图中可以看出,除了显示硬盘大小之外,下面有一行提示信息,提示/dev/sdb设备中没有分区表,因此需要对该硬盘进行分区操作。
5. 硬盘分区
硬盘的分区有3种情况:主分区、扩展分区、逻辑分区。
一个硬盘最多可有4个主分区,若超过4个分区数,必须首先创建一个扩展分区,然后从扩展分区中划分多个逻辑分区。
1.创建主分区
2.查看分区
3.创建扩展分区
4.创建逻辑分区
5.修改分区类型
硬盘的分区有3种情况:主分区、扩展分区、逻辑分区。 一个硬盘最多可有4个主分区,若超过4个分区数,必须首先创建一个扩展分区,然后从扩展分区中划分多个逻辑分区。
a:设置活动分区(启动过分区)
b:编辑-个分区为bsd分区
c:设置为DOS兼容过分区
d:删除一个硬盘分区
l:列出linux支持的分区类型
m:显示所有命令列表(即帮助信息)
n:增加一个新的分区三
o:创建一个空的DOS分区
p:显示硬盘分区情况
q:退出程序,且不保存分区的修改
s:创建一个空的sun分区
t:修改分区的类型代码
u:改变分区大小的显示方式
v:检验磁盘分区表
w:退出程序,且保存分区的修改
x:进入专家模式
将磁盘分区的文件系统创建好之后,还需要将其挂载到系统中才能使用。Linux的文件系统只有一个根目录,其他文件系统都挂载在根目录下的某一个子目录中。通常情况下,可将硬盘分区、光盘或U盘挂接到Linux文件系统中。例如,通常将光盘挂载在/mnt/cdrom/目录中。