内容提要
1、磁盘分区的相关概念
2、使用静态分区的缺点
3、LVM的相关概念
磁盘分区
在安装Linux以前,首先应该了解一些关于硬盘分区的知识。
现代操作系统无一例外地使用了虚拟内存技术。Windows系统使用交换文件实现这一技术,而Linux系统使用交换分区实现。因此,安装Windows系统只使用一个分区,而安装Linux系统至少需要两个分区,其中之一交换分区。
磁盘分区的一般概念
磁盘使用前要进行分区。磁盘分区有主分区、扩展分区和逻辑分区之分。一块硬盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,且一块硬盘只能有一个扩展分区,在这个扩展分区内可以划分多个逻辑分区。
如图所示的是一块硬盘的分区结构。在该磁盘中有2个主分区、1个扩展分区,并且在扩展分区里有4个逻辑分区。
磁盘分区的设备名
在Linux中用户用设备名来访问设备,磁盘也不例外。Linux下的设备名存放在/dev目录中。
磁盘设备名称如下:
- 系统的第一块IDE接口的硬盘称为/dev/hda
- 系统的第二块IDE接口的硬盘称为/dev/hdb
- 系统的第一块SCSI接口的硬盘称为/dev/sda
- 系统的第二块SCSI接口的硬盘称为/dev/sdb
以此类推,分区则使用数字编号表示,如: - 系统的第一块IDE接口的第1个分区称为/dev/hda1
- 系统的第一块IED接口的第5个分区称为/dev/hda5
- 系统的第二块SCSI接口硬盘的第1个分区称为/dev/sdb1
- 系统的第二块SCSI接口硬盘的第5个分区称为/dev/sdb5
1、数字编号1~4留给主分区或扩展分区使用,逻辑分区编号从5开始
2、SCSI/SAS/SATA/USB接口硬盘的名称均以/dev/sd开头
Linux和Windows分区对比
在Windows系统中使用盘符来标识不同的分区,而在Linux中使用分区的设备来标识不同的分区,如图所示。
Linux环境下没有盘符的概念,要对磁盘设备进行操作,需要使用磁盘设备名,要操作文件则需要挂载创建在分区上的文件系统。在Linux系统上划分分区之后,还要在分区上创建文件系统。Windows系统常用的文件系统类型为FAT32、NTFS,而Linux系统常用的文件系统类型为ext2、ext3、ext4、ReiserFS等。Linux下创建文件系统的操作相当于Windows下的磁盘格式化操作。
- Ext2:最早的Linux文件系统,适用于容量不大且更新不频繁的分区,如/boot分区
- Ext3:ext2的改进版本,支持日志功能,有且于系统从非正常关机中恢复
- Ext4:ext系列的最新版本,提供诸如纳称级时间戳、支持巨型文件等特性
- XFS:SGI开发,支持最大到8EB的文件系统
- Btrfs:由Oracle开发,支持Copy on Write(CoW)操作,常用于数据保护和快照
- Reiserfs:一种日志文件系统,曾是Linux的默认文件系统,后来被EXT4取代
- NTFS:Windows常用的文件系统
- FAT32:常用于存储设备,如USB驱动器和SD卡
- ISO9660:用于光盘的标准文件系统
此外,还有JFS2、UFS、Fast、GFS2、OCFS2等多种文件系统,涵盖了从传统的日志文件系统到现代的大规模集群文件系统。Linux的虚拟文件系统(VFS)层使得支持多种文件系统成为可能。
静态分区的缺点
在安装Linux的过程中如何正确地评估各分区大小是比较困难的,因为系统管理员不但要考虑当前某个分区需要的容量大小,还要预估该分区以后可能需要的容量的最大值。如果估计不准确,当某个分区不够用时系统管理员甚至可能要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。
某个分区空间耗尽时,通常的解决方法是:
使用符号链接,将破坏Linux文件系统的标准结构
使用调整分区大小工具(如Patition Magic等),将必须停机一段时间进行调整
备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区,将必须停机一段时间进行恢复操作
使用静态分区,当某个分区空间耗尽时,只能暂时解决问题,而没有从根本上解决问题。使用Linux的逻辑盘卷管理可以从根本上解决这个问题,使得用户在无需停机的情况下可以方便地调整各个分区大小。
逻辑卷管理(LVM)
什么是LVM
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来为文件系统屏蔽下层磁盘分区的布局,从而提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。系统管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。系统管理员通过LVM可以方便的调整存储卷组的大小,并可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“devlopment”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而当系统添加新的磁盘时,通过LVM系统管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
LVM基本术语
1、物理卷(physical volume,PV)
o 物理卷在LVM系统中处于最底层
o 物理卷可以是整个硬盘、硬盘上的分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID)
o 物理卷是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数
2、卷组(Volume Group,VG)
o 卷组建立在物理卷之上,它由一个或多个物理卷组成
o 卷组创建之后,可以动态添加物理卷到卷组中,在卷组上可以创建一个或多个“LVM分区”(逻辑卷)
o 一个LVM系统中可以只有一个卷组,也可以包含多个卷组
o LVM的卷组类似于非LVM系统中的物理硬盘
3、逻辑卷(Logical Volume,LV)
o 逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间
o 逻辑卷创建之后,其大小可以伸缩
o LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立 文件系统(如 /home 或 /usr 等)
4、物理区域(Physical Extent,PE)
o 每一个物理卷被划分为基本单元(称为PE),具有唯一编号的PE是可以被LVM寻址的最小存储单元
o PE的大小可以根据实际情况在创建物理卷时指定,默认为4MB
o PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小需要一致
5、逻辑区域(Logical Extent,LE)
逻辑卷也被划分为可被寻址的基本单位(称为LE)
在同一个卷组中,LE的大小和PE是相同的,并且一一对应
和非LVM系统将包含分区信息的元数据保存在位于分区的超始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷超始处的卷组描述符区域(Volume Group Descriptor Area,VGDA)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符和一些PE描述符。
LVM与文件系统之前的关系
/boot 分区不能位于卷组中,因为引导装载程序无法从逻辑卷中读取。如果你想将 / 分区放在逻辑卷上,必须创建一个与卷组分离的 /boot分区。
PV-VG-LV的设备名
PV 物理卷:磁盘或分区 /dev/sda?
VG 卷组:一组磁盘 和/或 分区 /dev/<VG name>/(目录)
LV 逻辑卷:LVM分区 /dev/<VG name>/<LV name>