19、Fedora 31 磁盘管理与逻辑卷扩展指南

Fedora 31 磁盘管理与逻辑卷扩展指南

1. 磁盘设备识别

在 Fedora 31 系统中,磁盘设备以特定的命名规则标识。例如,第一个设备可能是 /dev/sda ,第二个是 /dev/sdb 等。当系统仅连接一个 SATA 控制器的磁盘驱动器时,执行 # ls /dev/sd* 命令,输出可能为:

/dev/sda /dev/sda1 /dev/sda2

这表明 /dev/sda 磁盘驱动器被划分为两个分区,分别由 /dev/sda1 /dev/sda2 表示。当安装第二个硬盘驱动器后,再次执行该命令,输出可能变为:

/dev/sda /dev/sda1 /dev/sda2 /dev/sdb

此时,新硬盘被分配到设备文件 /dev/sdb ,且当前该驱动器没有显示分区(因为尚未创建)。此时,我们有两个选择:一是在新驱动器上创建分区和文件系统并挂载以进行访问;二是将磁盘作为物理卷添加到卷组中。

2. 创建 Linux 分区

创建新磁盘分区可使用 fdisk 工具,以下是具体步骤:
1. 执行 # fdisk /dev/sdb 命令,进入 fdisk 交互界面。
2. 输入 p 命令查看当前磁盘分区情况,由于是新磁盘,此时应无分区。
3. 输入 n 命令创建新分区,再输入 p 选择主分区。
4. 选择分区编号,这里我们创建一个分区,选择默认的 1 号分区。
5. 指定分区的起始和结束位置,由于是第一个分区,起始扇区选择默认的 2048,结束扇区选择默认的 16777215,即使用整个磁盘。
6. 输入 w 命令将分区信息写入磁盘。

操作示例如下:

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xbd09c991.

Command (m for help): p
Disk /dev/sdb: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbd09c991

Command (m for help): n
Partition type
   p primary (0 primary, 0 extended, 4 free)
   e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-16777215, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-16777215, default 16777215):

Created a new partition 1 of type ‘Linux’ and of size 8 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

此时,再次执行 # ls /dev/sd* 命令,可看到新分区 /dev/sdb1

3. 创建文件系统

在新分区上创建文件系统,可使用 mkfs.xfs 工具,示例命令如下:

# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=524224 blks
         = sectsz=512 attr=2, projid32bit=1
         = crc=1 finobt=1, sparse=1, rmapbt=0
         = reflink=1
data = bsize=4096 blocks=2096896, 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

这里创建了一个 XFS 文件系统,XFS 是 Fedora 31 的默认文件系统类型,具有高性能和并行 I/O 等优势。

4. 日志文件系统概述

日志文件系统会记录磁盘写入过程中对文件系统所做的更改,可用于快速重建因系统崩溃或停电等事件导致的损坏。与非日志文件系统相比,日志文件系统有以下优势:
- 数据恢复 :非日志文件系统在崩溃后需运行 fsck 工具检查和修复,可能无法完全修复损坏,导致部分数据存于 lost+found 目录;而日志文件系统可利用日志快速恢复。
- 时间效率 fsck 工具扫描大型文件系统可能需要很长时间,导致系统停机时间过长;日志文件系统可在短时间内恢复。

日志文件系统在每次写入时,会在磁盘的日志区域记录信息,记录的信息量可配置,从无记录到记录元数据,再到记录元数据和数据块。日志更新后,系统将实际数据写入文件系统的相应区域,并在日志中标记数据已提交。

5. 挂载文件系统

创建文件系统后,需要挂载才能访问。以下是挂载步骤:
1. 创建挂载点,例如创建 /backup 目录:

# mkdir /backup
  1. 使用 mount 命令手动挂载文件系统:
# mount /dev/sdb1 /backup
  1. 执行 # mount 命令查看所有已挂载的文件系统,可看到新挂载的 /dev/sdb1 文件系统:
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
...
/dev/sdb1 on /backup type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
6. 配置自动挂载

为了让系统在启动时自动挂载新文件系统,需要在 /etc/fstab 文件中添加相应条目。 fstab 条目的格式如下:

<device> <dir> <type> <options> <dump> <fsck>

各字段含义如下:
| 字段 | 含义 |
| ---- | ---- |
| <device> | 要挂载文件系统的设备 |
| <dir> | 作为挂载点的目录 |
| <type> | 文件系统类型(如 xfs、ext4 等) |
| <options> | 额外的文件系统挂载选项,设置为 defaults 使用默认设置 |
| <dump> | 是否将文件系统内容包含在 dump 工具的备份中,通常设置为 0 禁用 |
| <fsck> | 系统崩溃后是否使用 fsck 检查文件系统,对于 XFS 等日志文件系统,设置为 0 表示不需要检查 |

示例配置如下:

/dev/mapper/fedora-root / xfs defaults 0 0
UUID=59e0179f-33ba-4362-be0f-2ca29b147a4b /boot xfs defaults 0 0
/dev/mapper/fedora-swap none swap defaults 0 0
/dev/sdb1 /backup xfs defaults 0 0
7. 使用 Cockpit 添加磁盘

除了使用命令行工具,还可使用 Cockpit 网络控制台配置新存储设备,操作流程如下:
1. 登录 Cockpit 控制台,选择 “Storage” 选项。
2. 滚动到存储页面底部,找到新添加的存储设备。
3. 选择新驱动器,点击 “Create Partition Table” 按钮,在弹出对话框中接受默认设置,点击 “Format” 按钮。
4. 点击 “Create Partition” 按钮,在对话框中指定分区大小、文件系统类型(推荐 XFS)、可选标签、文件系统挂载点和挂载选项。若新分区未使用完所有可用空间,可后续添加更多分区。
5. 若要更改文件系统的只读或开机挂载等设置,将 “Mounting” 菜单选项改为 “Custom”,并调整切换按钮设置。
6. 选择好设置后,点击 “Create partition” 按钮提交更改。创建完成后,新分区将添加到磁盘,相应的文件系统将被创建并挂载到指定的挂载点,同时 /etc/fstab 文件将进行相应更改。

以下是操作流程的 mermaid 流程图:

graph LR
    A[登录 Cockpit 控制台] --> B[选择 Storage 选项]
    B --> C[找到新添加的存储设备]
    C --> D[点击 Create Partition Table 按钮]
    D --> E[接受默认设置,点击 Format 按钮]
    E --> F[点击 Create Partition 按钮]
    F --> G[指定分区信息]
    G --> H{是否更改挂载设置}
    H -- 是 --> I[将 Mounting 改为 Custom 并调整设置]
    H -- 否 --> J[点击 Create partition 按钮]
    I --> J
    J --> K[完成创建,更新分区、文件系统和 fstab 文件]
8. 逻辑卷管理(LVM)概述

逻辑卷管理(LVM)提供了一种灵活且高级的磁盘空间管理方式。与传统的将每个磁盘驱动器划分为固定大小的分区并创建固定大小的文件系统不同,LVM 允许将磁盘空间组合成逻辑卷,这些逻辑卷可以轻松调整大小和移动。此外,LVM 允许管理员通过为不同用户组分配不同的卷组或逻辑卷,来精确控制分配给不同用户组的磁盘空间。当最初分配给卷的空间耗尽时,管理员可以轻松添加更多空间,而无需将用户文件移动到不同的文件系统。

LVM 由以下组件组成:
| 组件 | 描述 |
| ---- | ---- |
| 卷组(VG) | 高级容器,包含一个或多个逻辑卷和物理卷 |
| 物理卷(PV) | 代表存储设备,如磁盘驱动器或其他存储介质 |
| 逻辑卷(LV) | 相当于磁盘分区,可以包含文件系统 |
| 物理扩展(PE) | 每个物理卷被划分为大小相等的块,称为物理扩展 |
| 逻辑扩展(LE) | 每个逻辑卷被划分为大小相等的块,称为逻辑扩展 |

例如,创建一个名为 VolGroup001 的新卷组,需要分配物理磁盘空间,我们可以分配三个磁盘分区 /dev/sda1 /dev/sdb1 /dev/sdb2 ,这些分区成为 VolGroup001 中的物理卷。然后,我们可以在卷组中创建一个名为 LogVol001 的逻辑卷,该逻辑卷由这三个物理卷组成。如果 LogVol001 中的空间不足,我们可以简单地添加更多磁盘分区作为物理卷,并将它们分配给卷组和逻辑卷。

9. 获取逻辑卷信息

为了给 Fedora 31 系统的根文件系统添加空间,我们需要先了解当前的 LVM 配置。以下是获取相关信息的步骤:
1. 执行 # mount 命令,查看根文件系统的挂载信息,例如:

/dev/mapper/fedora-root on / type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
  1. 执行 # vgdisplay 命令,获取卷组信息,例如:
--- Volume group ---
VG Name fedora
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 <49.00 GiB
PE Size 4.00 MiB
Total PE 12543
Alloc PE / Size 12543 / <49.00 GiB
Free PE / Size 0 / 0
VG UUID h0TESz-3YJd-wsMl-T2GL-dHOp-rSPu-I4uxJO

从上述输出可知, fedora 卷组的物理扩展大小为 4.00MB,总共有 49GB 可分配给逻辑卷,目前已分配完所有物理扩展。
3. 执行 # vgs 命令,快速查看系统中卷组的可用空间:

VG #PV #LV #SN Attr VSize VFree
fedora 1 2 0 wz--n- <49.00g 0
  1. 执行 # lvdisplay 命令,获取卷组中逻辑卷的信息,例如:
--- Logical volume ---
LV Path /dev/fedora/swap
LV Name swap
VG Name fedora
LV UUID m2IbeG-9f2E-QRjz-P33z-D1kN-hfke-GUx1VQ
LV Write Access read/write
LV Creation host, time demoserver, 2020-01-11 15:01:46 -0500
LV Status available
# open 2
LV Size <4.41 GiB
Current LE 1128
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1

--- Logical volume ---
LV Path /dev/fedora/root
LV Name root
VG Name fedora
LV UUID G5Zlvd-E8ti-Dvc7-zZTG-rXvq-Gki1-IX7dTm
LV Write Access read/write
LV Creation host, time demoserver, 2020-01-11 15:01:46 -0500
LV Status available
# open 1
LV Size 15.00 GiB
Current LE 3840
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

从输出可知, fedora 卷组中 15 GiB 的空间分配给了逻辑卷 root (用于根文件系统),4.41 GiB 分配给了 swap (用于交换空间)。
5. 执行 # pvdisplay 命令,查看提供空间的物理设备,例如:

--- Physical volume ---
PV Name /dev/sda2
VG Name fedora
PV Size <49.00 GiB / not usable 3.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 12543
Free PE 7575
Allocated PE 4968
PV UUID HQOzD4-3LXX-M3Tm-TjOm-wU32-wWwv-80MCnU

由此可知,逻辑卷 fedora 控制的空间由位于 /dev/sda2 的物理卷提供。

10. 从命令行添加空间到卷组

假设新磁盘 /dev/sdb 已添加到系统,且该磁盘没有现有分区。如果有现有分区,需先备份,再使用 fdisk 工具删除分区。以下是具体操作步骤:
1. 删除现有分区(如果有)

# fdisk -l /dev/sdb
Disk /dev/sdb: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xbd09c991

Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 5678545 5676498 2.7G 83 Linux
/dev/sdb2 5679104 16777215 11098112 5.3G 83 Linux

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): d
Partition number (1,2, default 2): 1

Partition 1 has been deleted.

Command (m for help): d
Selected partition 2
Partition 2 has been deleted.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

同时,确保从 /etc/fstab 文件中删除这些文件系统的条目,以免系统在下次重启时尝试挂载它们。
2. 将磁盘转换为物理卷

# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.

如果创建失败,提示 “Device /dev/ excluded by a filter”,可能需要在创建物理卷之前使用 wipefs 命令擦除磁盘:

# wipefs -a /dev/sdb
/dev/sdb: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54
/dev/sdb: 8 bytes were erased at offset 0x1fffffe00 (gpt): 45 46 49 20 50 41 52 54
/dev/sdb: 2 bytes were erased at offset 0x000001fe (PMBR): 55 aa
/dev/sdb: calling ioctl to re-read partition table: Success
  1. 将物理卷添加到卷组
# vgextend fedora /dev/sdb
Volume group "fedora" successfully extended
  1. 扩展逻辑卷 :假设要将逻辑卷 root 的大小扩展 7GB,执行以下命令:
# lvextend -L+7G /dev/fedora/root
Size of logical volume fedora/root changed from 15.00 GiB (3840 extents) to 22.00 GiB (5632 extents).
Logical volume fedora/root successfully resized.
  1. 调整文件系统大小 :由于默认使用 XFS 文件系统,可使用 xfs_growfs 工具调整文件系统大小:
# xfs_growfs /
meta-data=/dev/mapper/fedora-root isize=512 agcount=4, agsize=983040 blks
         = sectsz=512 attr=2, projid32bit=1
         = crc=1 finobt=1, sparse=1, rmapbt=0
         = reflink=1
data = bsize=4096 blocks=3932160, imaxpct=25

以下是从命令行添加空间到卷组的 mermaid 流程图:

graph LR
    A[检查新磁盘 /dev/sdb] --> B{有现有分区?}
    B -- 是 --> C[备份并删除分区]
    B -- 否 --> D[转换为物理卷]
    C --> D
    D --> E[添加到卷组]
    E --> F[扩展逻辑卷]
    F --> G[调整文件系统大小]

综上所述,通过上述步骤,我们可以在 Fedora 31 系统中添加新磁盘、创建分区和文件系统,还可以利用 LVM 灵活管理磁盘空间,为系统的根文件系统动态扩展空间。

考虑可再生能源出力不确定性的商业园区用户需求响应策略(Matlab代码实现)内容概要:本文围绕“考虑可再生能源出力不确定性的商业园区用户需求响应策略”展开,结合Matlab代码实现,研究在可再生能源(如风电、光伏)出力具有不确定性的背景下,商业园区如何制定有效的需求响应策略以优化能源调度和提升系统经济性。文中可能涉及不确定性建模(如场景生成缩减)、优化模型构建(如随机规划、鲁棒优化)以及需求响应机制设计(如价格型、激励型),并通过Matlab仿真验证所提策略的有效性。此外,文档还列举了大量相关的电力系统、综合能源系统优化调度案例代码资源,涵盖微电网调度、储能配置、负荷预测等多个方向,形成一个完整的科研支持体系。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事能源系统规划运行的工程技术人员。; 使用场景及目标:①学习如何建模可再生能源的不确定性并应用于需求响应优化;②掌握使用Matlab进行商业园区能源系统仿真优化调度的方法;③复现论文结果或开展相关课题研究,提升科研效率创新能力。; 阅读建议:建议结合文中提供的Matlab代码实例,逐步理解模型构建求解过程,重点关注不确定性处理方法需求响应机制的设计逻辑,同时可参考文档中列出的其他资源进行扩展学习交叉验证。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值