# 第五阶段：存储管理

## 存储管理

本地存储管理

存储管理与磁盘分区

技术指标：主轴转速，平均寻道时间，数据传输率，高速缓存，单碟容量

硬盘接口方式

FC-AL,SCSI,SAS,SATA

常用的分区工具

fdisk

sfdisk

GNU parted

－高级分区操作（创建、复制、调整大小等等）

分区工作 fdisk sfdisk GNU parted

进入交互模式

Fdisk <硬盘设备名>

在命令行方式下显示指定硬盘分区表信息

Fdisk -l <硬盘设备名>

<table><tr><td>子命令</td><td>说明</td><td>子命令</td><td>说明</td></tr><tr><td>a</td><td>调整硬盘的启动分区</td><td>p</td><td>列出硬盘分区表</td></tr><tr><td>d</td><td>删除一个硬盘分区</td><td>q</td><td>退出fdisk，不保存更改</td></tr><tr><td>l</td><td>列出所有支持的分区类型</td><td>t</td><td>更改分区类型</td></tr><tr><td>m</td><td>列出所有命令</td><td>u</td><td>切换所显示的分区大小的单位</td></tr><tr><td>n</td><td>创建一个新的分区</td><td>w</td><td>把设置写入硬盘分区表之后返回</td></tr></table>

在安装 Linux 的过程中如何正确地评估各分区大小是一个难题，因为系统管理员不但要考虑到当前某个分区需要的容量，还要预见该分区以后可能需要的容量的最大值。

某个分区空间耗尽时，通常的解决方法是：

使用符号链接

—— 破坏了Linux文件系统的标准结构

使用调整分区大小的工具(如:Patition Magic 等)

—— 必须停机一段时间进行调整

备份整个系统、清除硬盘、重新对硬盘分区，然后恢复数据到新分区

—— 必须停机一段时间进行恢复操作

磁盘分区工具

#parted [选项] <硬盘设备名>

命令行模式

`parted [选项] <硬盘设备名> <子命令> [<子命令参数>]`

子命令

打印帮助信息：help [COMMAND]

显示分区表： print [free|NUMBER|all]

创建新分区：mkpart PART-TYPE [FS-TYPE] START END

删除指定分区：rm NUMBER

设置分区标记：set NUMBER FLAG STATE

LVM 是逻辑盘卷管理（Logical Volume Manager）的简称，它是 Linux 环境下对卷进行方便操作的抽象层。

LVM 是建立在硬盘和分区之上的一个逻辑层，来为文件系统屏蔽下层磁盘分区布局，从而提高磁盘分区管理的灵活性。

LVM允许在多个物理设备间重新组织文件系统，包括重新设定文件系统的大小。

通过 LVM 可 以轻松管 理磁盘分区， 如 ：将若干个磁盘分区连接 为 一 个 整 块 的卷组（volume group），形成一个存储池。

可以在卷组中随意创建逻辑卷（logical volumes），并进一步在逻辑卷上创建文件系统。通过LVM 可以方便的调整存储卷组的大小，并且可以对磁盘存储按照组的方式进行命名、管理和分配。

![](4cbc28e93a9e75800549938774bad7f0ef3d1eb12b834d8abf9e81b712d18b64.jpg)

物理卷(physical volume, PV)在 LVM 系统中处于最底层

物理卷可以是整个硬盘、硬盘上的分区或从逻辑上与磁盘分区具有同样功能的设备（如：RAID）

物理卷是 LVM 的基本存储逻辑块，但和基本的物理存储介质（如分区、磁盘等）比较，却包含有与LVM 相关的管理参数

每一个物理卷被划分为基本单元（称为 Physical Extent, PE），具有唯一编号的 PE 是可以被 LVM 寻址的最小存储单元

PE 的大小可根据实际情况在创建物理卷时指定，默认为 4MB

PE 的大小一旦确定将不能改变，同一个卷组中的所有物理卷的 PE 的大小需要一致

卷组(Volume Group, VG)建立在物理卷之上，它由一个或多个物理卷组成

卷组创建之后，可以动态添加物理卷到卷组中，在卷组上可以创建一个或多个“LVM 分区”（逻辑卷）

一个 LVM 系统中可以只有一个卷组，也可以包含多个卷组

LVM 的卷组类似于非LVM系统中的物理硬盘

逻辑卷(Logical Volume, LV)建立在卷组之上，它是从卷组中“切出”的一块空间

逻辑卷创建之后，其大小可以伸缩

LVM 的逻辑卷类似于非 LVM 系统中的硬盘分区，在逻辑卷之上可以建立文件系统 （比如/home 或者 /usr 等）

/boot 分区不能位于卷组中，因为引导装载程序无法从逻辑卷中读取。

如果你想把 / 分区放在逻辑卷上，必须创建一个与卷组分离的 /boot 分区。

![](117bf6748fa3cf0c523b2e5f45029875c8b21fb40e1f35fd979178d83d0ad3b3.jpg)

创建 LVM 类型的分区

在新硬盘上创建物理卷

将新创建的物理卷添加到卷组

在卷组中创建逻辑卷

在逻辑卷中创建文件系统

挂装创建的文件系统

PV 阶段

VG 阶段

LV 阶段

物理卷在LV没系统中处于最底层

可以是整个硬盘、硬盘上的分区

每一个物理卷被划分位基本单元 PE 具有唯一编号的PE是可以被LVM寻址的最小存储单元

PE 的大小可以根据实际情况

卷组VG建立在物理卷之上，由一个或多个物理卷组成

卷组创建

可以由一个卷组，也可以多个卷组

逻辑卷建立在卷组之上，它是从卷组中切除的一块空间

如home路径、

/boot分区不能位于卷组中没因为引导装载程序无法从逻辑卷中读取

如果你想把/分区放在逻辑卷上，必须创建一个与卷组分离的/rooot分区

创建物理卷

创建卷组

创建逻辑卷

创建物理卷

`pvcreate <磁盘或分区设备名>`

创建卷组

`vgcreate <卷组名> <物理卷设备名> [...]`

创建逻辑卷

`lvcreate <逻辑卷大小> -n <逻辑卷名> <卷组名>`

`lvcreate <PE 值> -n <逻辑卷名> <卷组名>`

查看物理卷。卷组。逻辑卷。

查看物理卷

`pvdisplay [<物理卷设备名>]`

查看卷组

`vgdisplay [<卷组名>]`

查看逻辑卷

`lvdisplay [<逻辑卷设备名>]`

存储管理工具

LBM Logical Volumn Manager

逻辑盘卷管理，建立在硬盘和分区之上

将若干个磁盘分区链接为一个整块的卷组（volumn group），形成一个存储池

若卷组中无剩余空间，首先扩展卷组

添加硬盘，在磁盘上创建 8e 类型的分区

在分区上创建物理卷

将物理卷添加到卷组中

`vgextend <卷组名> <物理卷设备名> [...]`

若卷组中有剩余空间，扩展卷组中的逻辑卷

`lvextend <逻辑卷增量> <逻辑卷设备名称>`

`lvextend <PE 值> <逻辑卷设备名称>`

对已扩展的逻辑卷中的文件系统进行容量扩展

`resize2fs <分区或逻辑卷设备名>`

使用 umount 命令卸载文件系统

使用e2fsck命令检查文件系统

使用 resize2fs 命令缩减文件系统容量

缩减逻辑卷

`lvreduce -L <逻辑卷增量> <逻辑卷设备名称>`

`lvreduce -l <PE 值> <逻辑卷设备名称>`

<table><tr><td>任务</td><td>PV</td><td>VG</td><td>LV</td></tr><tr><td>创建</td><td>pvcreate</td><td>vgcreate</td><td>lvm</td></tr><tr><td>删除</td><td>pvremove</td><td>vgremove</td><td>lvm</td></tr><tr><td>显示信息</td><td>pvs</td><td>vgs</td><td>lvs</td></tr><tr><td>扫描列表</td><td>pvscan</td><td>vgscan</td><td>lvs</td></tr><tr><td>显示属性</td><td>pvdisplay</td><td>vgdisplay</td><td>lvm</td></tr><tr><td>更改属性</td><td>pvchange</td><td>vgchange</td><td>lvm</td></tr><tr><td>扩展</td><td></td><td>vgextend</td><td>lve</td></tr><tr><td>缩减</td><td></td><td>vgreduce</td><td>lvr</td></tr></table>

Linux 文件系统

硬盘的分类

硬盘的接口

硬盘分区

逻辑卷管理

Linux下的文件系统
