LVM(逻辑卷管理器)

目录

一、LVM概述

LVM Logical Volume Manager(逻辑卷管理器)的简写。逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

二、基本术语

  • 物理存储介质(PhysicalStorageMedia)

指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元

  • 物理卷(Physical Volume,PV)

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

  • 卷组(Volume Group,VG)

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

  • 逻辑卷(Logical Volume,LV)

类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

  • 物理块(Physical Extent,PE)

PE是物理卷PV的基本划分单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

  • 逻辑块(Logical Extent,LE)

逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

三、PE、PV、VG、LV之间的关系

四、LVM的工作原理

  1. 物理磁盘被格式化为PV,空间被划分为一个个的PE。
  2. 不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内。
  3. LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘。
  4. LV现在就直接可以格式化后挂载使用了。
  5. LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据 。

五、LVM的使用

1、部署逻辑卷

常用的LVM部署命令

功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展 vgextend lvextend
缩小 vgreduce lvreduce

第一步:

还原快照,并在虚拟机添加两块新硬盘设备,开机

第二步:

让新添加的两块硬盘设备支持LVM技术

[root@localhost ~]# lsblk	#确保已正确新增两块硬盘
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   20G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0   19G  0 part
  ├─centos_192-root 253:0    0   17G  0 lvm  /
  └─centos_192-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                   8:16   0   20G  0 disk
sdc                   8:32   0   20G  0 disk
sr0                  11:0    1  4.4G  0 rom
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc	#来将磁盘设备 /dev/sdb 和 /dev/sdc 初始化为物理卷(PV)以支持LVM(逻辑卷管理器)技术。
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

第三步:

把两块硬盘设备加入到storage卷组中,查看卷组状态

[root@localhost ~]# vgcreate storage /dev/sdb /dev/sdc	#将物理卷 /dev/sdb 和 /dev/sdc 合并在一起,形成一个新的名为"storage"卷组。
  Volume group "storage" successfully created
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos_192
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               Qtwzup-pc0G-gAaa-Icyt-UfLP-CuM6-3VnATy

  --- Volume group ---
  VG Name               storage
  System ID
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               SJWDak-DLob-UssH-6d8g-Ms8Y-R2Di-dczcAw

第四步:

切割出一个148MB的逻辑卷设备

在对逻辑卷进行切割时有两种计量单位

  • 以容量为单位,使用参数-L。例如使用-L 150M生成一个大小为150MB的逻辑卷。
  • 以基本单元的个数为单位,使用的参数为-l。每个基本单元的大小默认为4MB。例如使用-l 37 可以生成一个大小为37*4MB=148MB的逻辑卷。

-l切割:

[root@localhost ~]# lvcreate -n vo -l 37 storage	#参数-n后面跟的是要创建的逻辑卷名称
  Logical volume "vo" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_192/swap
  LV Name                swap
  VG Name                centos_192
  LV UUID                XDa9D8-hZj7-QVSC-qiQ0-lbaQ-QKRZ-LeZXcT
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos_192/root
  LV Name                root
  VG Name                centos_192
  LV UUID                pHMI0L-5zIz-U6RU-g7L0-1Uy1-K01W-SNxrJi
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                h6L7tj-pz3i-Iear-RK9Y-Fu0M-iVEc-HOn8On
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 20:50:44 +0800
  LV Status              available
  # open                 0
  LV Size                148.00 MiB
  Current LE             37
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

-L切割:

[root@localhost ~]# lvcreate -n vo -L 148M storage
  Logical volume "vo" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_192/swap
  LV Name                swap
  VG Name                centos_192
  LV UUID                XDa9D8-hZj7-QVSC-qiQ0-lbaQ-QKRZ-LeZXcT
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos_192/root
  LV Name                root
  VG Name                centos_192
  LV UUID                pHMI0L-5zIz-U6RU-g7L0-1Uy1-K01W-SNxrJi
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                uIyQ4u-fs8f-gDkr-L4Kw-eqC9-FQzq-PwgtL5
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 21:10:05 +0800
  LV Status              available
  # open                 0
  LV Size                148.00 MiB
  Current LE             37
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

第五步:

把生成好的逻辑卷进行格式化,然后挂载使用

[root@localhost ~]# mkfs.ext4 /dev/storage/vo
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
38000 inodes, 151552 blocks
7577 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33816576
19 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost ~]# mkdir /vo	#根目录下创建vo挂载点
[root@localhost ~]# mount /dev/storage/vo /vo
[root@localhost ~]# df -h	#查看成功挂载
文件系统                     容量  已用  可用 已用% 挂载点
devtmpfs                     1.9G     0  1.9G    0% /dev
tmpfs                        1.9G     0  1.9G    0% /dev/shm
tmpfs                        1.9G   12M  1.9G    1% /run
tmpfs                        1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_192-root   17G  2.0G   16G   12% /
/dev/sda1                   1014M  151M  864M   15% /boot
tmpfs                        378M     0  378M    0% /run/user/0
/dev/mapper/storage-vo       140M  1.6M  128M    2% /vo
[root@localhost ~]# echo "/dev/storage/vo /vo ext4 defaults 0 0" >> /etc/fstab		#写入配置文件使之永久生效	

2、扩容逻辑卷

第一步:

把上一个实验中的逻辑卷vo扩展至292MB

[root@localhost ~]# umount /vo
[root@localhost ~]# lvextend -L 292M /dev/storage/vo
  Rounding size to boundary between physical extents: 292.00 MiB.
  Size of logical volume storage/vo changed from 148.00 MiB (37 extents) to 292.00 MiB (73 extents).
  Logical volume storage/vo successfully resized.

第二步:

检查硬盘完整性,并重置硬盘容量

[root@localhost ~]# e2fsck -f /dev/storage/vo	#检查 ext2、ext3 和 ext4 文件系统的工具。这里的 -f 参数强制进行文件系统的完整性检查,即使文件系统是“干净”的(即上次关机时没有错误)。

e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/storage/vo: 11/38912 files (0.0% non-contiguous), 10567/155648 blocks
[root@localhost ~]# resize2fs /dev/storage/vo	#同步更新文件系统的大小以匹配新的逻辑卷大小

resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/vo to 299008 (1k) blocks.
The filesystem on /dev/storage/vo is now 299008 blocks long.

[root@localhost ~]# lvdisplay	#看到逻辑卷vo变为292MB
  --- Logical volume ---
  LV Path                /dev/centos_192/swap
  LV Name                swap
  VG Name                centos_192
  LV UUID                XDa9D8-hZj7-QVSC-qiQ0-lbaQ-QKRZ-LeZXcT
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos_192/root
  LV Name                root
  VG Name                centos_192
  LV UUID                pHMI0L-5zIz-U6RU-g7L0-1Uy1-K01W-SNxrJi
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                MeqJRa-F8kt-jLi8-hmZV-co3K-KIvR-NjG9m0
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 21:35:32 +0800
  LV Status              available
  # open                 0
  LV Size                292.00 MiB
  Current LE             73
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

第三步:

重新挂载硬盘设备并查看挂载状态

[root@localhost /]# mount /dev/storage/vo /vo
[root@localhost /]# df -h
文件系统                     容量  已用  可用 已用% 挂载点
devtmpfs                     1.9G     0  1.9G    0% /dev
tmpfs                        1.9G     0  1.9G    0% /dev/shm
tmpfs                        1.9G   12M  1.9G    1% /run
tmpfs                        1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_192-root   17G  2.0G   16G   12% /
/dev/sda1                   1014M  151M  864M   15% /boot
tmpfs                        378M     0  378M    0% /run/user/0
/dev/mapper/storage-vo       279M  2.1M  259M    1% /vo

3、缩小逻辑卷

第一步:

检查文件系统的完整性

[root@localhost ~]# umount /vo
[root@localhost ~]# e2fsck -f /dev/storage/vo
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/storage/vo: 11/75776 files (0.0% non-contiguous), 15729/299008 blocks

第二步:

把逻辑卷vo的容量减少到120MB

[root@localhost ~]# resize2fs /dev/storage/vo 120M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/vo to 122880 (1k) blocks.
The filesystem on /dev/storage/vo is now 122880 blocks long.

[root@localhost ~]# lvreduce -L 120M /dev/storage/vo
  WARNING: Reducing active logical volume to 120.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce storage/vo? [y/n]: y
  Size of logical volume storage/vo changed from 240.00 MiB (60 extents) to 120.00 MiB (30 extents).
  Logical volume storage/vo successfully resized.

第三步:

重新挂载文件系统并查看系统状态

[root@localhost ~]# mount /dev/storage/vo /vo
[root@localhost ~]# df -h
文件系统                     容量  已用  可用 已用% 挂载点
devtmpfs                     1.9G     0  1.9G    0% /dev
tmpfs                        1.9G     0  1.9G    0% /dev/shm
tmpfs                        1.9G   12M  1.9G    1% /run
tmpfs                        1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_192-root   17G  2.0G   16G   12% /
/dev/sda1                   1014M  151M  864M   15% /boot
tmpfs                        378M     0  378M    0% /run/user/0
/dev/mapper/storage-vo       113M  1.6M  103M    2% /vo

3、逻辑卷快照

LVM还具备有快照卷功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:

  • 快照卷的容量必须等同于逻辑卷的容量;
  • 快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。

先在/vo下创建一个readme.txt文件用来验证逻辑卷快照还原前后状态变化

[root@localhost ~]# echo "hello LVM" >> /vo/readme.txt
[root@localhost ~]# ls -l /vo
总用量 13
drwx------ 2 root root 12288 2月   6 22:04 lost+found
-rw-r--r-- 1 root root    10 2月   6 22:10 readme.txt

第一步:

使用-s参数生成一个快照卷,使用-L参数指定切割的大小

[root@localhost ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo	#在 "storage" 卷组下,基于名为 "vo" 的现有逻辑卷,创建一个容量为120MB的快照卷,并将这个新的快照卷命名为 "SNAP"

  Logical volume "SNAP" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                ywJ3ah-At9t-t65q-0JsQ-i45Q-pyeh-iHhxWN
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:04:25 +0800
  LV snapshot status     source of
                         SNAP [active]
  LV Status              available
  # open                 1
  LV Size                120.00 MiB
  Current LE             30
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/storage/SNAP
  LV Name                SNAP
  VG Name                storage
  LV UUID                JZpfG2-T6Yl-ODCF-CVnR-34Uw-pGQ9-3skxG9
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:11:07 +0800
  LV snapshot status     active destination for vo
  LV Status              available
  # open                 0
  LV Size                120.00 MiB
  Current LE             30
  COW-table size         120.00 MiB
  COW-table LE           30
  Allocated to snapshot  0.01%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:5

第二步:

在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再查看快照卷的状态。发现存储空间的占用量上升了

[root@localhost ~]# dd if=/dev/zero of=/vo/file bs=100M count=1
记录了1+0 的读入
记录了1+0 的写出
104857600字节(105 MB)已复制,1.21787 秒,86.1 MB/秒
[root@localhost ~]# ll -ht /vo/file
-rw-r--r-- 1 root root 100M 2月   6 22:19 /vo/file
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                ywJ3ah-At9t-t65q-0JsQ-i45Q-pyeh-iHhxWN
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:04:25 +0800
  LV snapshot status     source of
                         SNAP [active]
  LV Status              available
  # open                 1
  LV Size                120.00 MiB
  Current LE             30
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/storage/SNAP
  LV Name                SNAP
  VG Name                storage
  LV UUID                JZpfG2-T6Yl-ODCF-CVnR-34Uw-pGQ9-3skxG9
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:11:07 +0800
  LV snapshot status     active destination for vo
  LV Status              available
  # open                 0
  LV Size                120.00 MiB
  Current LE             30
  COW-table size         120.00 MiB
  COW-table LE           30
  Allocated to snapshot  83.71%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:5

第三步:

为了校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作。在此之前记得先卸载掉逻辑卷设备与目录的挂载。

[root@localhost ~]# umount /vo
[root@localhost ~]# lvconvert --merge /dev/storage/SNAP	#合并(merge)快照卷 "SNAP" 回到其源卷 "vo"
  Merging of volume storage/SNAP started.
  storage/vo: Merged: 23.03%
  storage/vo: Merged: 100.00%

第四步:

快照卷会被自动删除掉,并且刚刚在逻辑卷设备被执行快照操作后再创建出来的100MB的垃圾文件也被清除了而/vo/readme.txt还在

[root@localhost ~]# mount -a
[root@localhost ~]# ls /vo/
lost+found  readme.txt
[root@localhost ~]# cat /vo/readme.txt
hello LVM

4、删除逻辑卷

第一步:

取消逻辑卷与目录的挂载关联,删除配置文件中永久生效的设备参数。

[root@localhost ~]# umount /vo/
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Aug 12 17:05:10 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_192-root /                       xfs     defaults        0 0
UUID=01838dd0-44b0-4056-b0e2-96760522a11b /boot                   xfs     defaults        0 0
/dev/mapper/centos_192-swap swap                    swap    defaults        0 0

第二步:

删除逻辑卷设备,需要输入y来确认操作

[root@localhost ~]# lvremove /dev/storage/vo
Do you really want to remove active logical volume storage/vo? [y/n]: y
  Logical volume "vo" successfully removed

第三步:

删除卷组,此处只写卷组名称即可,不需要设备的绝对路径。

[root@localhost ~]# vgremove storage
  Volume group "storage" successfully removed

第四步:

删除物理卷设备

[root@localhost ~]# pvremove /dev/sdb /dev/sdc
  Labels on physical volume "/dev/sdb" successfully wiped.
  Labels on physical volume "/dev/sdc" successfully wiped.

六、LVM的优缺点

优点:

  1. 动态扩展:在系统运行时可以在线增加或减少逻辑卷的大小,无需重启服务或操作系统,提供对存储空间的动态管理能力。
  2. 灵活性:允许文件系统跨越多个物理磁盘,突破单个硬盘容量限制,可以根据需要调整逻辑卷布局,实现存储资源的有效利用。
  3. 扩展性:可以方便地向现有的卷组中添加新的物理磁盘,进一步扩大存储池容量。
  4. 高可用与冗余:支持镜像和条带化技术,能够将数据冗余到多个磁盘上以提高数据安全性及读写性能。
  5. 数据迁移便捷:可以更容易地迁移或备份整个逻辑卷至其他系统或硬件环境。

缺点:

  1. 在从卷组中移除一个磁盘的时候必须使用reducevg命令(这个命令要求root权限,并且不允许在快照卷组中使用)。
  2. 当卷组中的一个磁盘损坏时,整个卷组都会受到影响。
  3. 因为加入了额外的操作,存储性能受到影响
  4. 不能减小文件系统大小(受文件系统类型限制)

七、Linux中的LVM

热门相关:貌似纯洁   王妃不乖:独宠倾城妃   明朝好丈夫   艳遇传说   重开地狱