文章目录

  • 一、实验介绍
  • 1、内容描述
  • 2、实验目的
  • 二、添加磁盘
  • 步骤1:关闭虚拟机
  • 步骤2:编辑虚拟机设置
  • 步骤3:左下角点击`添加`后选择`硬盘`
  • 步骤4:跟着下图步骤走
  • 步骤5:开启虚拟机输入fdisk -l查看本地磁盘信息,可以看到多出了/dev/sdb ~ /dev/sde三块大小10G的磁盘
  • 三、MBR分区表模式下磁盘分区管理
  • 1、创建主分区
  • 2、创建扩展分区及逻辑分区
  • 3、修改分区类型
  • 4、删除分区
  • 四、GPT分区表模式下磁盘分区管理
  • 1、parted交互式创建分区
  • 2、非交互式创建分区
  • 2、删除分区
  • 五、格式化与挂载
  • 1、格式化文件系统
  • 2、挂载文件系统
  • 3、挂载ISO文件
  • 步骤1:使用工具将openEuler-20.03-LTS-everything-x86_64-dvd.iso上传至openEuler虚拟机的/root目录下。
  • 步骤2:执行如下步骤挂载ISO文件
  • 4、设置开机自动挂载
  • 步骤1:执行如下命令查看分区的UUID,这里以/dev/sdc2为例
  • 步骤2:参考如下步骤编写/etc/fstab文件,配置开机自动挂载
  • 六、逻辑卷管理
  • 1、创建逻辑卷并格式化
  • 步骤1:执行如下命令创建逻辑卷
  • 步骤2:执行如下命令格式化LV并挂载
  • 2、逻辑卷扩容与缩容
  • 步骤1:执行如下命令扩展逻辑卷与文件系统
  • 步骤2:执行如下步骤缩容文件系统与LV。此步骤是高危操作,在工作中请谨慎!
  • 步骤3:执行如下步骤删除创建的LVM配置



一、实验介绍

1、内容描述

存储在磁盘计算机系统中主要用于存储数据,对于操作系统而言,我们通常会将磁盘格进行分区,再格式化成一个文件系统,用于存储系统的文件数据。本实验将介绍如何对磁盘分区格式化,以及在逻辑卷的配置。

2、实验目的

✔ 掌握MBR分区表模式下主分区创建方法;

✔ 掌握MBR分区表模式下扩展分区创建及逻辑分区创建方法;

✔ 掌握GPT分区表模式下的分区配置方法

✔ 掌握分区格式化文件系统方法;

✔ 掌握文件系统挂载mount及卸载umount;

✔ 掌握ISO文件挂载;

✔ 掌握/etc/fstab文件配置;

✔ 掌握逻辑卷创建步骤;

✔ 掌握逻辑卷扩容、缩容方法;

✔ 掌握逻辑卷删除步骤。

二、添加磁盘

步骤1:关闭虚拟机
步骤2:编辑虚拟机设置

OpenHarmonyOS 操作系统技术规范 openeuler操作系统pdf_openEuler

步骤3:左下角点击添加后选择硬盘

OpenHarmonyOS 操作系统技术规范 openeuler操作系统pdf_逻辑卷_02

步骤4:跟着下图步骤走

OpenHarmonyOS 操作系统技术规范 openeuler操作系统pdf_分区表_03


OpenHarmonyOS 操作系统技术规范 openeuler操作系统pdf_openEuler_04


OpenHarmonyOS 操作系统技术规范 openeuler操作系统pdf_华为_05

按照以上的方法再创建2块盘,一共新创建三块。

OpenHarmonyOS 操作系统技术规范 openeuler操作系统pdf_openEuler_06

步骤5:开启虚拟机输入fdisk -l查看本地磁盘信息,可以看到多出了/dev/sdb ~ /dev/sde三块大小10G的磁盘
[root@localhost ~]# fdisk -l | grep /dev/
Disk /dev/sda:1 TiB,1099511627776 字节,2147483648 个扇区
/dev/sda1  *       2048    2099199    2097152    1G 83 Linux
/dev/sda2       2099200 2147483647 2145384448 1023G 8e Linux LVM
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
Disk /dev/sdc:10 GiB,10737418240 字节,20971520 个扇区
Disk /dev/sdd:10 GiB,10737418240 字节,20971520 个扇区
Disk /dev/mapper/openeuler-root:50 GiB,53687091200 字节,104857600 个扇区
Disk /dev/mapper/openeuler-swap:2.5 GiB,2197815296 字节,4292608 个扇区
Disk /dev/mapper/openeuler-home:970.97 GiB,1042548785152 字节,2036228096 个扇区
[root@localhost ~]#

三、MBR分区表模式下磁盘分区管理

1、创建主分区

执行如下步骤对/dev/sdb磁盘做操作

[root@localhost ~]# fdisk /dev/sdb     #fdisk默认是成MBR分区表模式

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

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x270ef2a9 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):m     #在此步骤若不清楚如何做,可以输入m查看帮助

帮助:

  DOS (MBR)
   a   开关 可启动 标志
   b   编辑嵌套的 BSD 磁盘标签
   c   开关 dos 兼容性标志

  常规
   d   删除分区
   F   列出未分区的空闲区
   l   列出已知分区类型
   n   添加新分区     #可以看到,输入n可以添加一个新的分区
   p   打印分区表
   t   更改分区类型
   v   检查分区表
   i   打印某个分区的相关信息

  杂项
   m   打印此菜单
   u   更改 显示/记录 单位
   x   更多功能(仅限专业人员)

  脚本
   I   从 sfdisk 脚本文件加载磁盘布局
   O   将磁盘布局转储为 sfdisk 脚本文件

  保存并退出
   w   将分区表写入磁盘并退出
   q   退出而不保存更改

  新建空磁盘标签
   g   新建一份 GPT 分区表
   G   新建一份空 GPT (IRIX) 分区表
   o   新建一份的空 DOS 分区表
   s   新建一份空 Sun 分区表


命令(输入 m 获取帮助):n     #添加一个新的分区
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):     #此处默认是主分区,可以保持,不输入,直接按回车键。

将使用默认回应 p。
分区号 (1-4, 默认  1):     #此处设置分区编号,默认从1开始依次往后。MBR模式主分区只能有4个。这里可以保持默认1,不输入数字,直接按回车键。
第一个扇区 (2048-20971519, 默认 2048):     #此处需要输入分区的起始柱面,可以保持默认,按回车键。
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): +2G     #这里需要输入分区的大小,有三种方式,这里可以选择+2G,意味着新建一个大小为2G的分区。

创建了一个新分区 1,类型为“Linux”,大小为 2 GiB。

命令(输入 m 获取帮助):w     #输入w保存分区表配置,并退出
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9

设备       启动  起点    末尾    扇区 大小 Id 类型
/dev/sdb1        2048 4196351 4194304   2G 83 Linux
[root@localhost ~]#

2、创建扩展分区及逻辑分区

执行如下操作对/dev/vbd配置扩展分区及逻辑分区。

[root@localhost ~]# fdisk /dev/sdb

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


命令(输入 m 获取帮助):n     #新建一个分区
分区类型
   p   主分区 (1个主分区,0个扩展分区,3空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):e     #设置分区类型为扩展分区
分区号 (2-4, 默认  2): 2     #保持默认分区编号2
第一个扇区 (4196352-20971519, 默认 4196352):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (4196352-20971519, 默认 20971519):     #保持默认,将所有空间都分配

创建了一个新分区 2,类型为“Extended”,大小为 8 GiB。

命令(输入 m 获取帮助):n     #新建一个逻辑分区
所有主分区的空间都在使用中。
添加逻辑分区 5     #所有分配给主分区的空间已经用完,新建一个分区编号为5的逻辑分区
第一个扇区 (4198400-20971519, 默认 4198400):     #保持默认
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (4198400-20971519, 默认 20971519): +3G     #创建一个3G大小的逻辑分区

创建了一个新分区 5,类型为“Linux”,大小为 3 GiB。

命令(输入 m 获取帮助):w     #保存分区表配置并退出
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@localhost ~]# fdisk -l /dev/sdb     #查看/dev/sdb磁盘信息
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9

设备       启动    起点     末尾     扇区 大小 Id 类型
/dev/sdb1          2048  4196351  4194304   2G 83 Linux     #主分区
/dev/sdb2       4196352 20971519 16775168   8G  5 扩展     #这个是扩展分区
/dev/sdb5       4198400 10489855  6291456   3G 83 Linux     #这个是扩展分区里面分配的逻辑分区
[root@localhost ~]#

3、修改分区类型

执行如下步骤修改/dev/sdb5分区类型

[root@localhost ~]# fdisk /dev/sdb

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


命令(输入 m 获取帮助):t     #修改分区类型
分区号 (1,2,5, 默认  5):     #保持默认,修改第五个分区
Hex 代码(输入 L 列出所有代码):L     #列出分区类型及修改代码

 0  空              24  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏 或 In c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 ea  Rufus 对齐
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         eb  BeOS fs
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ee  GPT
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        ef  EFI (FAT-12/16/
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f0  Linux/PA-RISC
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f1  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f4  SpeedStor
16  隐藏的 FAT16    63  GNU HURD 或 Sys af  HFS / HFS+      f2  DOS 次要
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fb  VMware VMFS
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fc  VMware VMKCORE
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fd  Linux raid 自动
1c  隐藏的 W95 FAT3 75  PC/IX           bc  Acronis FAT32 L fe  LANstep
1e  隐藏的 W95 FAT1 80  旧 Minix        be  Solaris 启动    ff  BBT
Hex 代码(输入 L 列出所有代码):8e     #设置分区类型为Linux LVM,后续操作需要用到

已将分区“Linux”的类型更改为“Linux LVM”。

命令(输入 m 获取帮助):p     #输出当前分区信息
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9

设备       启动    起点     末尾     扇区 大小 Id 类型
/dev/sdb1          2048  4196351  4194304   2G 83 Linux
/dev/sdb2       4196352 20971519 16775168   8G  5 扩展
/dev/sdb5       4198400 10489855  6291456   3G 8e Linux LVM     #这里已经改成了Linux LVM

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@localhost ~]#

4、删除分区

执行如下步骤删除/dev/sdb1分区

[root@localhost ~]# fdisk /dev/sdb

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


命令(输入 m 获取帮助):d     #删除分区
分区号 (1,2,5, 默认  5): 1     #选择要删除的分区编号为1

分区 1 已删除。

命令(输入 m 获取帮助):p     #查看现有分区信息
Disk /dev/sdb:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x270ef2a9

设备       启动    起点     末尾     扇区 大小 Id 类型     #已经没有/dev/sdb1了
/dev/sdb2       4196352 20971519 16775168   8G  5 扩展
/dev/sdb5       4198400 10489855  6291456   3G 8e Linux LVM

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@localhost ~]#

四、GPT分区表模式下磁盘分区管理

1、parted交互式创建分区

执行如下步骤对/dev/sdc磁盘分区

[root@localhost ~]# parted /dev/sdc     #使用parted分区命令
GNU Parted 3.3
使用 /dev/sdc
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) help     #若不清楚如何操作,可以输入help查看帮助信息
  align-check TYPE N                       check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           打印通用求助信息,或 COMMAND 的帮助
  mklabel,mktable LABEL-TYPE               创建新的磁盘卷标 (分区表)
  mkpart 分区类型 [文件系统类型] 起始点 结束点 创建一个分区
  name 编号 名称                           将指定“编号”的分区命名为“名称”
  print [devices|free|list,all|数字]        显示分区表、可用设备、剩余空间、所有分区或特殊分区
  quit                                     退出程序
  rescue 起始点 终止点                      挽救临近“起始点”、“终止点”的遗失的分区
  resizepart NUMBER END                    改变 NUMBER 的大小
  rm NUMBER                                删除编号为 NUMBER 的分区
  select 设备                              选择要编辑的设备
  disk_set 旗标 状态                       变更已选设备上的旗标
  disk_toggle [旗标]                       切换已选设备上的旗标状态
  set 编号 旗标 状态                       改变指定“编号”分区的旗标
  toggle [编号 [旗标]]                     切换“编号”分区上的“旗标”状态
  unit 单位                                设置缺省的“单位”
  version                                  显示目前 GNU Parted 的版本与版权信息
(parted) mklabel gpt     #设置磁盘分区表,格式为GPT
(parted) mkpart     #创建新分区
分区名称?  []? gpt1     #设置分区名称
文件系统类型?  [ext2]? xfs     #设置分区格式化时采用的文件系统类型
起始点? 0KB     #设置分区起始位置
结束点? 2GB     #设置分区结束位置
警告: 您要求将分区从 0.00B 移动到 2000MB (扇区 0..3906250)。
我们可以管理的最近的分区是从 17.4kB 到 2000MB (扇区 34..3906250).
这样您还可以接受吗?
是/Yes/否/No? yes     #确认
警告: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
忽略/Ignore/放弃/Cancel? Ignore     #忽略告警
(parted) print     #输出分区信息
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdc:10.7GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小    文件系统  名称  标志
 1    17.4kB  2000MB  2000MB  xfs       gpt1

(parted) quit
信息: 你可能需要 /etc/fstab。

[root@localhost ~]#

2、非交互式创建分区

输入如下命令直接创建分区

[root@localhost ~]# parted /dev/sdc mkpart gpt2 2001M 5G     #创建分区,设置起始和结束位置
信息: 你可能需要 /etc/fstab。

[root@localhost ~]# parted /dev/sdc p     #输出分区信息
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdc:10.7GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小    文件系统  名称  标志
 1    17.4kB  2000MB  2000MB            gpt1
 2    2001MB  5000MB  2999MB            gpt2     #这个就是前述步骤创建的分区

[root@localhost ~]#

因为/dev/sdc磁盘已经设置了分区表格式是GPT,所以这里没有重复设置。若是一块新的磁盘需要输入如下命令:

[root@localhost ~]# parted /dev/sdc mklabel gpt

2、删除分区

执行如下命令删除/dev/sdc1分区

[root@localhost ~]# parted /dev/sdc rm 1
信息: 你可能需要 /etc/fstab。

[root@localhost ~]# parted /dev/sdc p
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdc:10.7GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小    文件系统  名称  标志
 2    2001MB  5000MB  2999MB            gpt2

[root@localhost ~]#

五、格式化与挂载

1、格式化文件系统

执行如下命令格式化文件系统

[root@localhost ~]# mkfs -t xfs /dev/sdc2
meta-data=/dev/sdc2              isize=512    agcount=4, agsize=183040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=732160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# parted /dev/sdc2 p     #查看分区详细信息
型号:未知 (unknown)
磁盘 /dev/sdc2:2999MB
扇区大小 (逻辑/物理):512B/512B
分区表:loop
磁盘标志:

编号  起始点  结束点  大小    文件系统  标志
 1    0.00B   2999MB  2999MB  xfs     #文件系统为xfs

[root@localhost ~]#

2、挂载文件系统

执行如下步骤挂载文件系统

[root@localhost ~]# mkdir /mnt/xfs01     #创建文件系统挂载点
[root@localhost ~]# mount /dev/sdc2 /mnt/xfs01/     #挂载文件系统
[root@localhost ~]# df -h     #查看系统挂载情况
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    713M     0  713M    0% /dev
tmpfs                       728M     0  728M    0% /dev/shm
tmpfs                       728M  908K  727M    1% /run
tmpfs                       728M     0  728M    0% /sys/fs/cgroup
/dev/mapper/openeuler-root   49G  5.2G   42G   12% /
tmpfs                       728M  8.0K  728M    1% /tmp
/dev/sda1                   976M  141M  769M   16% /boot
/dev/mapper/openeuler-home  955G   77M  907G    1% /home
tmpfs                       146M     0  146M    0% /run/user/0
tmpfs                       146M     0  146M    0% /run/user/993
/dev/sdc2                   2.8G   36M  2.8G    2% /mnt/xfs01
[root@localhost ~]# mount | grep /dev/sdc2      #查看文件系统挂载情况
/dev/sdc2 on /mnt/xfs01 type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost ~]#

3、挂载ISO文件

步骤1:使用工具将openEuler-20.03-LTS-everything-x86_64-dvd.iso上传至openEuler虚拟机的/root目录下。
[root@localhost ~]# wget http://192.168.xxx.xxx/openEuler-20.03-LTS-everything-x86_64-dvd.iso
--2022-12-30 09:10:07--  http://192.168.xxx.xxx/openEuler-20.03-LTS-everything-x86_64-dvd.iso
正在连接 192.168.xxx.xxx:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:12051687424 (11G) [application/octet-stream]
正在保存至: “openEuler-20.03-LTS-everything-x86_64-dvd.iso”

openEuler-20.03-LTS-everythin 100%[=================================================>]  11.22G  69.3MB/s  用时 2m 36s

2022-12-30 09:12:43 (73.6 MB/s) - 已保存 “openEuler-20.03-LTS-everything-x86_64-dvd.iso” [12051687424/12051687424])

[root@localhost ~]#
步骤2:执行如下步骤挂载ISO文件
[root@localhost ~]# mkdir /mnt/cdrom     #创建挂载点
[root@localhost ~]# mount openEuler-20.03-LTS-everything-x86_64-dvd.iso /mnt/cdrom/
mount: /mnt/cdrom: WARNING: source write-protected, mounted read-only.
#挂载ISO,有些系统需要加上[ -o loop ]选项才可以挂载
[root@localhost ~]# cd /mnt/cdrom/
[root@localhost cdrom]# ls     #查看磁盘里面的数据
docs  EFI  images  isolinux  ks  Packages  repodata  RPM-GPG-KEY-openEuler  TRANS.TBL
[root@localhost cdrom]#

4、设置开机自动挂载

步骤1:执行如下命令查看分区的UUID,这里以/dev/sdc2为例
[root@localhost ~]# blkid /dev/sdc2
/dev/sdc2: UUID="e727a214-6229-46ad-8981-aa914f76420b" TYPE="xfs" PARTLABEL="gpt2" PARTUUID="0fed5aa7-1c38-4b95-b969-b569e1d0f0bf"
#此处需要记住UUID,后续用到,不通的环境都不一样
步骤2:参考如下步骤编写/etc/fstab文件,配置开机自动挂载
[root@localhost ~]# df -h | grep /dev/sdc
/dev/sdc2                   2.8G   36M  2.8G    2% /mnt/xfs01
[root@localhost ~]# umount -a
umount: /run/user/993: 目标忙.
umount: /run/user/0: 目标忙.
umount: /tmp: 目标忙.
umount: /: 目标忙.
umount: /sys/fs/cgroup/systemd: 目标忙.
umount: /sys/fs/cgroup: 目标忙.
umount: /run: 目标忙.
umount: /dev: 目标忙.
[root@localhost ~]# df -h | grep /dev/sdc
[root@localhost ~]# vim /etc/fstab

在文件的最后一行加入如下信息,UUID请用步骤一中查到的,写完之后保存退出

UUID=e727a214-6229-46ad-8981-aa914f76420b /mnt/xfs01 xfs defaults        0 0
[root@localhost ~]# mount -a     #挂载所有设备
[root@localhost ~]# df -h | grep /dev/sdc     #查看设备挂载情况
/dev/sdc2                   2.8G   36M  2.8G    2% /mnt/xfs01
[root@localhost ~]#

六、逻辑卷管理

1、创建逻辑卷并格式化

步骤1:执行如下命令创建逻辑卷
[root@localhost ~]# pvcreate /dev/sdb5
  Physical volume "/dev/sdb5" successfully created.
[root@localhost ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               openeuler
  PV Size               <1023.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              261887
  Free PE               0
  Allocated PE          261887
  PV UUID               6WyKwF-PBWY-5xN1-yKKz-u26J-PWex-AdbgPK

  "/dev/sdb5" is a new physical volume of "3.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb5
  VG Name
  PV Size               3.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               jLRXaG-IohR-zKoL-t05o-yBvi-yrI8-BFWykw

[root@localhost ~]# vgcreate testvg /dev/sdb5
  Volume group "testvg" successfully created
[root@localhost ~]# vgdisplay testvg
  --- Volume group ---
  VG Name               testvg
  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               <3.00 GiB
  PE Size               4.00 MiB
  Total PE              767
  Alloc PE / Size       0 / 0
  Free  PE / Size       767 / <3.00 GiB
  VG UUID               OxWv1Y-SEbW-uTL6-CigB-fP8k-6rGt-3Ku4nU

[root@localhost ~]# lvcreate -L 2G -n testlv testvg
  Logical volume "testlv" created.
[root@localhost ~]# lvdisplay /dev/testvg/testlv
  --- Logical volume ---
  LV Path                /dev/testvg/testlv
  LV Name                testlv
  VG Name                testvg
  LV UUID                pb790V-zoSS-x1ea-5Wfs-aSKq-9QmY-ObFSk2
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-12-30 09:25:49 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

[root@localhost ~]#
步骤2:执行如下命令格式化LV并挂载
[root@localhost ~]# mkfs.ext4 /dev/testvg/testlv
mke2fs 1.45.3 (14-Jul-2019)
创建含有 524288 个块(每块 4k)和 131072 个inode的文件系统
文件系统UUID:98f43623-a1ec-4a20-afc3-fb70e66c1f9e
超级块的备份存储于下列块:
        32768, 98304, 163840, 229376, 294912

正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块)完成
写入超级块和文件系统账户统计信息: 已完成

[root@localhost ~]# mkdir /mnt/testlv
[root@localhost ~]# mount /dev/testvg/testlv /mnt/testlv/
[root@localhost ~]# df -h | grep testvg
/dev/mapper/testvg-testlv   2.0G  6.0M  1.8G    1% /mnt/testlv
[root@localhost ~]#

2、逻辑卷扩容与缩容

步骤1:执行如下命令扩展逻辑卷与文件系统
[root@localhost ~]# fdisk /dev/sdd     #新建一个大小同样为3G的LVM分区

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

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xac89585f 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):

将使用默认回应 p。
分区号 (1-4, 默认  1):
第一个扇区 (2048-20971519, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-20971519, 默认 20971519): +3G

创建了一个新分区 1,类型为“Linux”,大小为 3 GiB。

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”。

命令(输入 m 获取帮助):p
Disk /dev/sdd:10 GiB,10737418240 字节,20971520 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xac89585f

设备       启动  起点    末尾    扇区 大小 Id 类型
/dev/sdd1        2048 6293503 6291456   3G 8e Linux LVM

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

[root@localhost ~]# pvcreate /dev/sdd1
  Physical volume "/dev/sdd1" successfully created.
[root@localhost ~]# vgextend testvg /dev/sdd1     #仅有在PE大小一致时,才可以扩展
  Volume group "testvg" successfully extended
[root@localhost ~]# vgdisplay testvg
  --- Volume group ---
  VG Name               testvg
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5.99 GiB
  PE Size               4.00 MiB
  Total PE              1534
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       1022 / 3.99 GiB
  VG UUID               OxWv1Y-SEbW-uTL6-CigB-fP8k-6rGt-3Ku4nU

[root@localhost ~]# pvs
  PV         VG        Fmt  Attr PSize     PFree
  /dev/sda2  openeuler lvm2 a--  <1023.00g       0
  /dev/sdb5  testvg    lvm2 a--     <3.00g 1020.00m
  /dev/sdd1  testvg    lvm2 a--     <3.00g   <3.00g
[root@localhost ~]# vgs
  VG        #PV #LV #SN Attr   VSize     VFree
  openeuler   1   3   0 wz--n- <1023.00g    0
  testvg      2   1   0 wz--n-     5.99g 3.99g     #此处可以看到已经扩展到了6G
[root@localhost ~]# lvs /dev/testvg/testlv     #查看testlv信息
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-ao---- 2.00g
[root@localhost ~]# lvextend -L +3G /dev/testvg/testlv
  Size of logical volume testvg/testlv changed from 2.00 GiB (512 extents) to 5.00 GiB (1280 extents).
  Logical volume testvg/testlv successfully resized.
[root@localhost ~]# lvs /dev/testvg/testlv
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-ao---- 5.00g
[root@localhost ~]# resize2fs /dev/testvg/testlv
resize2fs 1.45.3 (14-Jul-2019)
/dev/testvg/testlv 上的文件系统已被挂载于 /mnt/testlv;需要进行在线调整大小

old_desc_blocks = 1, new_desc_blocks = 1
/dev/testvg/testlv 上的文件系统现在为 1310720 个块(每块 4k)。

[root@localhost ~]# df -h /dev/testvg/testlv
文件系统                   容量  已用  可用 已用% 挂载点
/dev/mapper/testvg-testlv  4.9G  8.0M  4.7G    1% /mnt/testlv     #可以看到文件系统扩展了到5G
[root@localhost ~]#
步骤2:执行如下步骤缩容文件系统与LV。此步骤是高危操作,在工作中请谨慎!
[root@localhost ~]# umount /mnt/testlv     #卸载文件系统
[root@localhost ~]# e2fsck -f /dev/testvg/testlv     #检查文件系统使用情况
e2fsck 1.45.3 (14-Jul-2019)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/testvg/testlv:11/327680 文件(0.0% 为非连续的), 39006/1310720 块
[root@localhost ~]# resize2fs /dev/testvg/testlv 2G     #重新指定文件系统逻辑大小
resize2fs 1.45.3 (14-Jul-2019)
将 /dev/testvg/testlv 上的文件系统调整为 524288 个块(每块 4k)。
/dev/testvg/testlv 上的文件系统现在为 524288 个块(每块 4k)。

[root@localhost ~]# lvs /dev/testvg/testlv
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-a----- 5.00g     #可以看到LV没有缩减
[root@localhost ~]# lvchange -a n /dev/testvg/testlv     #将LV修改为不活动状态
[root@localhost ~]# lvreduce -L 2G /dev/testvg/testlv     #缩减LV大小为2G
  Size of logical volume testvg/testlv changed from 5.00 GiB (1280 extents) to 2.00 GiB (512 extents).
  Logical volume testvg/testlv successfully resized.
[root@localhost ~]# lvchange -a y /dev/testvg/testlv     #修改LV为活动状态
[root@localhost ~]# lvs /dev/testvg/testlv     #查看LV大小
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  testlv testvg -wi-a----- 2.00g
[root@localhost ~]# e2fsck -f  /dev/testvg/testlv     #检查文件系统
e2fsck 1.45.3 (14-Jul-2019)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/testvg/testlv:11/131072 文件(0.0% 为非连续的), 26156/524288 块
[root@localhost ~]# mount /dev/testvg/testlv /mnt/testlv/     #重新挂载
[root@localhost ~]# df -h /dev/testvg/testlv     #查看大小
文件系统                   容量  已用  可用 已用% 挂载点
/dev/mapper/testvg-testlv  2.0G  6.0M  1.8G    1% /mnt/testlv
[root@localhost ~]#
步骤3:执行如下步骤删除创建的LVM配置
[root@localhost ~]# umount /mnt/testlv
[root@localhost ~]# lvremove -y /dev/testvg/testlv
  Logical volume "testlv" successfully removed
[root@localhost ~]# vgremove testvg     #移除VG
  Volume group "testvg" successfully removed
[root@localhost ~]# pvremove /dev/sdb5 /dev/sdd1     #移除PV
  Labels on physical volume "/dev/sdb5" successfully wiped.
  Labels on physical volume "/dev/sdd1" successfully wiped.
[root@localhost ~]#