Skip to content

管理文件系统

使用Linux的时候可以选择使用的文件系统, 大多数的发行版会贴心的提供默认的文件系统

探究Linuxwe年系统

Linux文件系统为我们在硬盘中存储的01和应用之间搭建起一座桥梁

Linux支持多种类型的文件系统管理文件和目录。每种文件系统都在存储设备上实现了虚拟目录结构,仅特性略有不同

基本的Linux文件系统

Linux最初采用的简单的文件系统, 模仿了Unix文件系统

ext文件系统

Linux最早的文件系统, 叫做扩展文件系统(简写ext), 提供了一个基本的类Unix系统: 使用虚拟目录来操控硬件设备,在物理设备上按照定长的块来存储数据

ext文件系统采用名为索引节点的系统来存放虚拟目录中所存储文件的信息, 在每个物理设备中创建一个单独的表(称为索引节点表)来存储这些文件的信息

储在虚拟目录中的每一个文件在索引节点表中都有一个条目

其跟踪的每个文件的额外数据:

  • 文件名
  • 文件大小
  • 文件的属主
  • 文件的属组
  • 文件的访问权限
  • 指向存有文件数据的每个硬盘块的指针

Linux通过记录每一个索引节点的数值来寻找文件

ext2文件系统

最早的系统有限制, 比如文件大小不能超过2G

ext2的保存了同样的结构, 但是索引方式发生了更改, 可以保存更多的信息

增加了创建时间, 修改时间, 最后访问时间帮助追踪, 最大的文件扩展为2T以上

还改变了数据块的存储方式, 按组分配硬盘减少碎片化

但它也有一些限制。索引节点表虽然支持文件系统保存有关文件的更多信息,但会对系统造成致命的问题。文件系统每次存储或更新文件,它都要用新信息来更新索引节点表。问题在于这种操作并非总是一气呵成的。如果计算机系统在存储文件和更新索引节点表之间发生了什么,这二者的内容就不同步了。ext2文件系统由于容易在系统崩溃或断电时损坏而臭名昭著。即使文件数据正常保存到了物理设备上,如果索引节点表记录没完成更新的话,ext2文件系统甚至都不知道那个文件存在

日志文件系统(JFS)

它不再使用之前先将数据直接写入存储设备再更新索引节点表的做法,而是先将文件的更改写入到临时文件(称作日志,journal)中。在数据成功写到存储设备和索引节点表之后,再删除对应的日志条目

有三种传统的日志

方法描述
数据模式索引节点和文件都会被写入日志;丢失数据风险低,但性能差
有序模式只有索引节点数据会被写入日志,但只有数据成功写入后才删除;在性能和安全性之间取得了良好的折中
回写模式只有索引节点数据会被写入日志,但不控制文件数据何时写入;丢失数据风险高,但仍比不用日志好

数据模式是最安全的, 也是最慢的, 要写入两次, 第一次写入日志, 第二次写入真正的存储设备

ext3

采用和ect2相同的索引节点表结构, 但给每个存储设备增加了一个日志文件

默认情况下,ext3文件系统用有序模式的日志功能, 你可以在创建文件系统时用简单的一个命令行选项将ext3文件系统的日志方法改成数据模式或回写模式

缺陷:

  • 无法恢复误删的文件
  • 没有任何内建的数据压缩功能
  • 不支持加密文件

ext4

几乎是所有发行版的默认文件系统

支持数据压缩和加密

ext4文件系统还支持一个称作区段(extent)的特性, 设备上按块分配空间,但在索引节点表中只保存起始块的位置。由于无需列出所有用来存储文件中数据的数据块,它可以在索引节点表中节省一些空间

ext4还引入了块预分配技术, 在存储设备上给一个你知道要变大的文件预留空间,ext4文件系统可以为文件分配所有需要用到的块,而不仅仅是那些现在已经用到的块

Reiser文件系统

只支持回写日志模式, 最快的日志文件系统之一

  • 你可以在线调整已有文件系统的大小

  • 尾部压缩(tailpacking)的技术,该技术能将一个文件的数据填进另一个文件的数据块中的空白空间

JFS文件系统

在使用的最古老的文件系统, 从Unix上移植

采用的是有序日志方法

JFS文件系统采用基于区段的文件分配,即为每个写入存储设备的文件分配一组块。这样可以减少存储设备上的碎片

XFS文件系统

最初用于Unix后来移植到Linux

采用回写模式的日志

写时复制文件系统(COW)

兼顾了安全性以及性能

利用快照兼顾了安全性和性能。如果要修改数据,会使用克隆或可写快照。修改过的数据并不会直接覆盖当前数据,而是被放入文件系统中的另一个位置上。即便是数据修改已经完成,之前的旧数据也不会被重写

ZFS文件系统

稳定的文件系统, 但是没有采用GPL许可

Btrf文件系统

出现在许多的Linux系统之中, 但不是默认

操作文件系统

创建分区

一开始你需要创建一个分区来容纳文件系统, 可以是整个硬盘或部分硬盘

fdisk工具帮助管理安装在任何设备上的分区

要启动fdisk命令,你必须指定要分区的存储设备的设备名

有时候,创建新磁盘分区最麻烦的事情就是找出安装在Linux系统中的物理磁盘。Linux采用了一种标准格式来为硬盘分配设备名称,但是你得熟悉这种格式。对于老式的IDE驱动器,Linux使用的是/dev/hdx。其中x表示一个字母,具体是什么要根据驱动器的检测顺序(第一个驱动器是a,第二个驱动器是b,以此类推)。对于较新的SATA驱动器和SCSI驱动器,Linux使用/dev/sdx。其中的x具体是什么也要根据驱动器的检测顺序(和之前一样,第一个驱动器是a,第二个驱动器是b,以此类推)。在格式化分区之前,最好再检查一下是否正确指定了驱动器

可以采用交互命令告诉fdisk你要做什么

命令描述
a设置活动分区标志
b编辑BSD Unix系统用的磁盘标签
c设置DOS兼容标志
d删除分区
l显示可用的分区类型
m显示命令选项
n添加一个新分区
o创建DOS分区表
p显示当前分区表
q退出,不保存更改
s为Sun Unix系统创建一个新磁盘标签
t修改分区的系统ID
u改变使用的存储单位
v验证分区表
w将分区表写入磁盘
x高级功能
bash
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ sudo fdisk /dev/sda

欢迎使用 fdisk (util-linux 2.36.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助): p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
Disk model: VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:7D46A08B-AB29-4475-889D-2477A5B44D51

设备          起点     末尾     扇区  大小 类型
/dev/sda1     2048     4095     2048    1M BIOS 启动
/dev/sda2     4096  1054719  1050624  513M EFI 系统
/dev/sda3  1054720 41940991 40886272 19.5G Linux 文件系统

进入并查看

bash
命令(输入 m 获取帮助): n
分区号 (4-128, 默认  4): 4
第一个扇区 (34-41943006, 默认 41940992): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (41940992-41943006, 默认 41943006): +512k

创建了一个新分区 4,类型为“Linux filesystem”,大小为 512 KiB。

命令(输入 m 获取帮助): p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
Disk model: VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:7D46A08B-AB29-4475-889D-2477A5B44D51

设备           起点     末尾     扇区  大小 类型
/dev/sda1      2048     4095     2048    1M BIOS 启动
/dev/sda2      4096  1054719  1050624  513M EFI 系统
/dev/sda3   1054720 41940991 40886272 19.5G Linux 文件系统
/dev/sda4  41940992 41940993        2  512K Linux 文件系统

命令(输入 m 获取帮助):

创建一个512k的分区

分区可以按主分区(primary partition)或扩展分区(extended partition)创建.

主分区可以直接被系统格式化, 扩展分区只能容纳其他逻辑分区

扩展分区出现的原因是每个存储设备上只能有4个分区。可以通过创建一个扩展分区,然后在扩展分区内创建逻辑分区进行扩展。

fdisk允许创建多种分区类型。使用l命令列出可用的不同类型。默认创建一个Linux文件系统

bash
命令(输入 m 获取帮助): w
分区表已调整。
正在同步磁盘。

退出

创建文件系统

在把数据存储到分区之前, 你必须对文件系统进行格式化, 这样Linux才能使用

工具用途
mkefs创建一个ext文件系统
mke2fs创建一个ext2文件系统
mkfs.ext3创建一个ext3文件系统
mkfs.ext4创建一个ext4文件系统
mkreiserfs创建一个ReiserFS文件系统
jfs_mkfs创建一个JFS文件系统
mkfs.xfs创建一个XFS文件系统
mkfs.zfs创建一个ZFS文件系统
mkfs.btrfs创建一个Btrfs文件系统

不是所有的都默认安装, 可以使用type命令查看

不同的文件系统都有不同的命令用来创建不同类型的文件系统, 但是都允许通过没有参数的命令创建一个默认的文件系统

bash
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ sudo mkfs.ext4 /dev/sda4
[sudo] jiao 的密码: 
mke2fs 1.46.3 (27-Jul-2021)

文件系统太小,无法容纳日志
创建含有 128 个块(每块 4k)和 64 个inode的文件系统

正在分配组表: 完成                            
正在写入inode表: 完成                            
写入超级块和文件系统账户统计信息: 已完成

创建的第一步是构建一个日志

下一步是把分区挂载到某一个虚拟目录下的挂载点, 你可以把它挂载到任何位置

bash
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ ls /mnt
hgfs
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ sudo mkdir /mnt/my_partition   #创建挂载的文件夹
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ ls -la /mnt/
总用量 16
drwxr-xr-x  4 root root 4096  8月  4 18:11 .
drwxr-xr-x 20 root root 4096  3月 11 21:39 ..
drwxr-xr-x  2 root root 4096  7月 18 22:00 hgfs
drwxr-xr-x  2 root root 4096  8月  4 18:11 my_partition
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ ls -la /mnt/my_partition
总用量 8
drwxr-xr-x 2 root root 4096  8月  4 18:11 .
drwxr-xr-x 4 root root 4096  8月  4 18:11 ..
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ ls -dF /mnt/my_partition
/mnt/my_partition/
jiao@jiao-virtual-machine:~/桌面/linux-shell/7/test2$ sudo  mount -t ext4  /dev/sda4  /mnt/my_partition					#进行挂载, 类型是ext4

可以投入日常使用了

这种挂载是临时挂载, 重启的时候不会自动挂载, 要强制挂载可以把它添加到/etc/fstab文件

文件系统的检查与修复

碰上突然断电或者某个不规矩的程序在访问文件时锁定了系统,也会出现错误。幸而有一些命令行工具可以帮你将文件系统恢复正常

fsck命令能够检查和修复大部分类型的Linux文件系统,包括本章早些时候讨论过的ext、ext2、ext3、ext4、ReiserFS、JFS和XFS。

bash
fsck options filesystem

文件系统可以通过设备名、在虚拟目录中的挂载点以及分配给文件系统的唯一UUID值来引用

日志文件系统需要用到fsck检查, 但是COW文件系统是否需要仍然存在争议, 甚至ZFS文件系统没有提供接口

fsck命令使用/etc/fstab文件来自动决定正常挂载到系统上的存储设备的文件系统。如果存储设备尚未挂载(比如你刚刚在新的存储设备上创建了个文件系统),你需要用-t命令行选项来指定文件系统类型。

选项描述
-a如果检测到错误,自动修复文件系统
-A检查/etc/fstab文件中列出的所有文件系统
-C给支持进度条功能的文件系统显示一个进度条(只有ext2和ext3)
-N不进行检查,只显示哪些检查会执行
-r出现错误时提示
-R使用-A选项时跳过根文件系统
-s检查多个文件系统时,依次进行检查
-t指定要检查的文件系统类型
-T启动时不显示头部信息
-V在检查时产生详细输出
-y检测到错误时自动修复文件系统

有些命令行选项是重复的。这是为多个命令实现通用的前端带来的部分问题。有些文件系统修复命令有一些额外的可用选项。如果要做更高级的错误检查,就需要查看这个文件系统修复工具的手册页面来确定是不是有该文件系统专用的扩展选项

只能在未挂载的文件系统上运行fsck命令。对大多数文件系统来说,你只需卸载文件系统来进行检查,检查完成之后重新挂载就好了。但因为根文件系统含有所有核心的Linux命令和日志文件,所以你无法在处于运行状态的系统上卸载它

逻辑卷管理

如果用标准分区在硬盘上创建文件系统, 为已有的文件系统添加额外的空间就只能在同一个物理硬盘上调整可用的分区大小, 没有地方了觉需要弄一个更大的硬盘,然后手动将已有的文件系统移动到新的硬盘上

通过将另外一个硬盘上的分区加入已有文件系统,动态地添加存储空间。Linux逻辑卷管理器(logical volume manager,LV M)软件包正好可以用来做这个。它可以让你在无需重建整个文件系统的情况下,轻松地管理磁盘空间

个人理解: 把硬件进行抽象成一个整体, 在抽象的整体上进行文件系统操作

逻辑卷管理分布

核心在于如何处理安装在系统上的硬盘分区

硬盘===>物理卷

每一个物理卷映射到特定的物理分区, 多个物理卷可以组成一个卷组

逻辑卷管理系统将卷组视为一个物理硬盘,但事实上卷组可能是由分布在多个物理硬盘上的多个物理分区组成的。卷组提供了一个创建逻辑分区的平台,而这些逻辑分区则包含了文件系统。

整个结构中的最后一层是逻辑卷(logical volume,LV)。逻辑卷为Linux提供了创建文件系统的分区环境,作用类似于到目前为止我们一直在探讨的Linux中的物理硬盘分区。Linux系统将逻辑卷视为物理分区

可以使用任意一种标准Linux文件系统来格式化逻辑卷,然后再将它加入Linux虚拟目录中的某个挂载点

QQ图片20220804184439

第三个物理硬盘有一个未使用的分区。通过逻辑卷管理,你随后可以轻松地将这个未使用分区分配到已有卷组:要么用它创建一个新的逻辑卷,要么在需要更多空间时用它来扩展已有的逻辑卷

如果你给系统添加了一块硬盘,逻辑卷管理系统允许你将它添加到已有卷组,为某个已有的卷组创建更多空间,或是创建一个可用来挂载的新逻辑卷

Linux中的LVM

允许你使用简单的命令来控制一个完整的逻辑卷环境

有两个可行的版本:

  • LVM1: 可用于Linux2.4
  • LVM2: 更新的版本, 提供格外功能

快照

你在逻辑卷在线的状态下将其复制到另一个设备

快照允许你在复制的同时,保证运行关键任务的Web服务器或数据库服务器继续工作

LVM1只允许拍摄快照, 之后就不能写入了

LVM2允许在创建在线逻辑卷的可读写快照。有了可读写的快照,就可以删除原先的逻辑卷,然后将快照作为替代挂载上

条带化

可跨多个物理硬盘创建逻辑卷。文件中的数据块会被分散到多个硬盘上。每个后继数据块会被写到下一个硬盘上

因为Linux可以将一个文件的多个数据块同时写入多个硬盘,而无需等待单个硬盘移动读写磁头到多个不同位置

LV M条带化不同于RAID条带化。LV M条带化不提供用来创建容错环境的校验信息。事实上,LV M条带化会增加文件因硬盘故障而丢失的概率。单个硬盘故障可能会造成多个逻辑卷无法访问

镜像

镜像是一个实时更新的逻辑卷的完整副本。当你创建镜像逻辑卷时,LV M会将原始逻辑卷同步到镜像副本中。根据原始逻辑卷的大小,这可能需要一些时间才能完成

一旦原始同步完成,LV M会为文件系统的每次写操作执行两次写入——一次写入到主逻辑卷,一次写入到镜像副本。可以想到,这个过程会降低系统的写入性能。就算原始逻辑卷因为某些原因损坏了,你手头也已经有了一个完整的最新副本

使用Linux LVM

有些Linux开发出了图形界面

定义物理卷

使用的第一步就是把硬盘上的物理分区转化为Linux LVm使用的物理卷区段, fdisk命令可以帮忙, 在创建了基本的Linux分区之后, 通过t命令改变分区类型

bash
命令(输入 m 获取帮助): t   
分区号 (1-4, 默认  4): 4
Partition type or alias (type L to list all): 30     //进行类型的设置, 30代表Linux LVM系统一部分

已将分区“Linux filesystem”的类型更改为“Linux LVM”。
命令(输入 m 获取帮助): p
Disk /dev/sda:20 GiB,21474836480 字节,41943040 个扇区
Disk model: VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:7D46A08B-AB29-4475-889D-2477A5B44D51

设备           起点     末尾     扇区  大小 类型
/dev/sda1      2048     4095     2048    1M BIOS 启动
/dev/sda2      4096  1054719  1050624  513M EFI 系统
/dev/sda3   1054720 41940991 40886272 19.5G Linux 文件系统
/dev/sda4  41940992 41942015     1024  512K Linux LVM

然后利用分区创建实际的物理卷, 这可以通过pvcreate命令来完成。

bash
jiao@jiao-virtual-machine:/mnt$ sudo pvcreate /dev/sdb1
WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdb1.
  Physical volume "/dev/sdb1" successfully created.
jiao@jiao-virtual-machine:/mnt$ sudo pvdisplay /dev/sdb1
  "/dev/sdb1" is a new physical volume of "<7.50 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               <7.50 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               7sSerG-a3fu-LAEG-l2Yl-SH6R-6L7s-PDhJyk

dev_is_mpath: failed to get device for 8:17或类似的消息唬住了。只要看到了successfully created就没问题。pvcreate命令会检查分区是否为多路(multi-path,mpath)设备。如果不是的话,就会发出上面那段消息。

可以使用pvdisplay显示创建列表的过程, 方式和上面一样

创建卷组

从物理卷中创建一个或多个卷组。究竟要为系统创建多少卷组并没有既定的规则,你可以将所有的可用物理卷加到一个卷组,也可以结合不同的物理卷创建多个卷组

需要使用vgcreate命令。vgcreate命令需要一些命令行参数来定义卷组名以及你用来创建卷组的物理卷名

bash
jiao@jiao-virtual-machine:/mnt$ sudo vgcreate Voll /dev/sdb1
  Volume group "Voll" successfully created

可以使用vgdisplay查看细节

bash
jiao@jiao-virtual-machine:/mnt$ sudo vgdisplay Voll
  --- Volume group ---
  VG Name               Voll
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <7.50 GiB
  PE Size               4.00 MiB
  Total PE              1919
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1919 / <7.50 GiB
  VG UUID               VY2MLY-9GTP-sYlX-KOqf-Tm1T-H9OE-E2szgu

创建一个或多个卷组后,就可以创建逻辑卷了

创建逻辑卷

Linux系统使用逻辑卷来模拟物理分区,并在其中保存文件系统。Linux系统会像处理物理分区一样处理逻辑卷,允许你定义逻辑卷中的文件系统,然后将文件系统挂载到虚拟目录上

使用lvcreate命令

选项

选项长选项名描述
-c--chunksize指定快照逻辑卷的单位大小
-C--contiguous设置或重置连续分配策略
-i--stripes指定条带数
-I(大写i)--stripesiz指定每个条带的大小
-l(小写L)--extents指定分配给新逻辑卷的逻辑区段数,或者要用的逻辑区段的百分比
-L--size指定分配给新逻辑卷的硬盘大小
--minor指定设备的次设备号
-m--mirrors创建逻辑卷镜像
-M--persistent让次设备号一直有效
-n--name指定新逻辑卷的名称
-p--permission为逻辑卷设置读/写权限
-r--readahead设置预读扇区数
-R--regionsize指定将镜像分成多大的区
-ssnapshot创建快照逻辑卷
-z--zero将新逻辑卷的前1 KB数据设置为零
bash
jiao@jiao-virtual-machine:/mnt$ sudo lvcreate -l 100%FREE -n lvtest Voll
  Logical volume "lvtest" created.

创建一个逻辑卷

bash
jiao@jiao-virtual-machine:/mnt$ sudo lvdisplay Voll
  --- Logical volume ---
  LV Path                /dev/Voll/lvtest
  LV Name                lvtest
  VG Name                Voll
  LV UUID                2YteJ1-jhw0-2ttQ-WB24-AWFP-IilC-qmBvLs
  LV Write Access        read/write
  LV Creation host, time jiao-virtual-machine, 2022-08-05 12:23:08 +0800
  LV Status              available
  # open                 0
  LV Size                <7.50 GiB
  Current LE             1919
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

创建文件系统

bash
$ sudo mkfs.ext4 /dev/Vol1/lvtest 
mke2fs 1.41.12 (17-May-2010) 
Filesystem label= 
OS type: Linux 
Block size=4096 (log=2) 
Fragment size=4096 (log=2) 
Stride=0 blocks, Stripe width=0 blocks 
131376 inodes, 525312 blocks 
26265 blocks (5.00%) reserved for the super user 
First data block=0 
Maximum filesystem blocks=541065216 
17 block groups 
32768 blocks per group, 32768 fragments per group 
7728 inodes per group 
Superblock backups stored on blocks:
              32768, 98304, 163840, 229376, 294912 
Writing inode tables: done 
Creating journal (16384 blocks): done 
Writing superblocks and filesystem accounting information: done 

This filesystem will be automatically checked every 28 mounts or 180 days, whichever comes first.Use tune2fs -c or -i to override.

挂载

bash
$ sudo mount /dev/Vol1/lvtest /mnt/my_partition 
$ 
$ mount 
/dev/mapper/vg_server01-lv_root on / type ext4 (rw) 
[...] 
/dev/mapper/Vol1-lvtest on /mnt/my_partition type ext4 (rw) 
$ 
$ cd /mnt/my_partition 
$ 
$ ls -al 
total 24 
drwxr-xr-x. 3 root root  4096 Jun 12 10:22 . 
drwxr-xr-x. 3 root root  4096 Jun 11 09:58 .. 
drwx------. 2 root root 16384 Jun 12 10:22 lost+found

注意,mkfs.ext4和mount命令中用到的路径都有点奇怪。路径中使用了卷组名和逻辑卷名,而不是物理分区路径。文件系统被挂载之后,就可以访问虚拟目录中的这块新区域了

修改LVM

Linux LVM的好处在于能够动态修改文件系统,因此最好有工具能够让你实现这些操作。在Linux有一些工具允许你修改现有的逻辑卷管理配置

也有对应的命令

命令功能
vgchange激活和禁用卷组
vgremove删除卷组
vgextend将物理卷加到卷组中
vgreduce从卷组中删除物理卷
lvextend增加逻辑卷的大小
lvreduce减小逻辑卷的大小

**注:**在手动增加或减小逻辑卷的大小时,要特别小心。逻辑卷中的文件系统需要手动修整来处理大小上的改变。大多数文件系统都包含了能够重新格式化文件系统的命令行程序,比如用于ext2、ext3和ext4文件系统的resize2fs程序