BOSh
文章355
标签611
分类151

文章分类

315晚会 36氪 80后 ADB AI AI Agent AI PC AI 代理 AI 助手 AI 网关 AI 评测 AIStudio AI代理 AI助手 AI处理器 AI大模型 AI安全 AI应用 AI智能体 AI网关 AMD API API 集成 AWS Active Directory Agent Agentic AI AionUi Alwaysdata Android Apple Arch Linux Argo Tunnel Automation Backup Bash Bosh Bot Bot-hosting C++ CDN CEO CI/CD CLI CLI Proxy API CLIProxyAPI COMPUTEX CRM CT8 CentOS 7 Chrome 插件 Cisco Claude Claude Opus 4.6 Cloudflare Code ConnectBot Credential Manager Ct8.pl CurrentEvents DHCP DNS Debian DeepSeek DenchClaw Deployment DevOps Devil Docker Elon Musk Express FSRM FTP FreeBSD FreeLLMAPI GCP GEO GPL GPO GPS GPT GPU Gemini Gemini 3.1 Pro Ghostty Git GitHub GitHub Actions Gmail Go Gog Golang Google Google AI Pro Google API Google Cloud Google Gemini Google Photos Google Pixel HDC HKUDS Hardware HarmonyOS Hermes Hermes Agent Hexo HidenCloud Hugo Hyper-V Hyprland IIS IPV6 Intel JavaScript Jetpack Compose John Turnus KDE KOSPI Karpathy Kimi-K2.5 Kotlin LINUX LLM LTS LVM LaTeX Linux LiveUSB MBR MTProto MW4L Markdow Markdown Matrix MemU Bot Mesh-Network MiniMax Musk MyDevil NAT NAT64 NIX NODE NTFS NVIDIA NVIDIA Build NanoClaw Netcatty Netlify Newsletter Node.js Nvidia Open WebUI OpenAI OpenAI 兼容接口 OpenAI兼容 OpenCLI OpenClaw P2P PDF 编译 PV Packet Tracer Pacman Phusion Passenger PicoClaw Pixel Pixel 1 Pixel 12 Pixel11 Plasma PowerShell Prismer Productivity Pura90 Python QClaw QQ机器人 Qualcomm Quickshell R22 RAG RAID RAID5 RIP RIPv2 RTX Spark Railway Reddit Rust SFTP SMB SSH SeleniumBase Serv00 Serverless Shell Sing-box Skills SoC Sub-Store Subagent SuperCall Synapse Syncthing TPU TSMC Tailscale Telegram Telegram Bot Tensor Tensor G7 Tim Cook Tunnel Turnstile Ubuntu VG VLESS VMware VPN VPS Vercel Vite Wayland WeChat Web3 WebSSH WebSocket WebTransport Web开发 Windows Windows 11 Windows Admin Center Windows Server Windows Server 2022 WireGuard WorkBuddy X XChat XHTTP X热榜 YUM源 YouTube ZeroClaw arXiv arch c++ cc-switch cloudflared ct8.pl email find git hdc hidumper hugo hyprmod i3wm iMessage iOS iSCSI icacls mdadm n8n nanobot node js ntfs pacman pnpm podman sconfig zz.ac 东海 两性关系 个人助理 中东 中东冲突 中东局势 中关村论坛 中南大学 中国 中美 中美关系 乌克兰 习惯养成 云同步 云服务器 亚洲 人性 人教版 代理 代金券 以色列 任务管理 伊朗 伊朗危机 伊朗战争 伦理 体育 使用 俄乌战争 俄罗斯 保护主义 信息流 信息管理 停火 健康管理 光通信 免费VPS 免费主机 免费试用 全球动态 六年级 共和党 关系 养老金 内存分析 内存管理 内容工厂 内容生产 内容筛选 内网穿透 军事冲突 军事动态 军民融合 农村 分享 分配 刘欢 创业 制裁 办公自动化 加密 加密货币 加沙 北斗 北韩 医学生 半导体 华为 协议分析 博客 博客助手 博客发布 博客部署成功 卫星 即时通讯 厄尔尼诺 原生 JS 去中心化 反向代理 反思 反爬虫 反重力 台海局势 台湾 命令 命令行 喷嚏网 国产 国产化 国产替代 国宴 国际 国际关系 国际局势 国际新闻 图卦 图说 地缘政治 域名解析 域名邮箱 域控 基础设施 多代理 多模态AI 大学分析 大模型 存储 存储空间 存储管理 孙少平 学习 安全 安装 实时监控 家庭助理 家庭服务器 家装设计 小学 嵌套虚拟化 工业策略 工作总结 工作效率 工作流编排 工具 工具链 平凡的世界 平台责任 庞氏骗局 开发 开发实录 开发指南 开发调试 开源 开源软件 开源项目 张雪峰 微信 心理健康 快捷键 怀念 性能调优 情感 慈善 战争 房地产 手机 技术分享 投资工具 指标看板 提示词工程 播客 收件箱清理 故障转移群集 效率 效率工具 教程 教育制度 数学 数据分析 数据投毒 文件服务器 文件管理 文献管理 新能源汽车 新闻汇总 日历聚合 时事 时事总结 显卡 晨报 智能体 智能体生态 智能手机 服务器管理 服务器部署 朝鲜 权限 极端天气 架构 架构实践 核协议 核武器 桌面Cowork 桌面环境 模型接入 模型配置 欧洲安全 每日图说 比亚迪 气候 油价 法律 活动运营 浏览器自动化 消息通道 消费者权益 深度学习 渔船 游戏开发 湘雅医院 潘石屹 热点新闻 熔断 版本更新 特朗普 生态系统 生活 生活自动化 生物识别 用例 甲骨文云 电池技术 症状追踪 白嫖 白嫖攻略 白山云 皮皮虾 监管 目标管理 省钱 知识库 磁盘管理 社交媒体 社会保障 社会公平 社会百态 社会观察 科技 科普 科研助手 窗口管理 笔记 第一财经 算法 算法推荐 系统管理 纽森 组策略 组网 经济 经济观察 经验分享 编程 网关 网络 网络安全 网络实验 网络摘录 网络穿透 网络规划 网络配置 美伊冲突 美伊谈判 美国 美国制裁 美国大选 美国政治 股灾 能源安全 脚本 腾讯 腾讯,龙虾,OpenClaw 腾讯云 自动化 自动化创作 自动化协作 自动化提醒 自动化流水线 自动化脚本 自动化运维 自建服务 自律教练 自托管 自由软件 节点管理 芯片 草榴 虚拟化 虚拟化运维 虚拟机 行为改变 视频摘要 解锁 计算摄影 订阅系统 记录 许可证 论文写作 论文阅读 语义搜索 语音代理 读书 读书笔记 读后感 谷歌云 财报季 账单分析 路由协议 路由器 路由配置 路遥 身份验证 轻量级 迁移 运维 进化论 远程桌面 远程访问 远程运维 选车 邀请确认 部署 部署指南 部署教程 重复数据删除 量子计算 销售自动化 阅读感悟 随笔 隐私 霍尔木兹 霍尔木兹海峡 青蛙机 韩国股市 韩红 韬定律 音乐 项目管理 风险管理 飞书 高中生活 高可用 高考 高考志愿 鸽巢原理 麒麟 麒麟9050 黄仁勋 黎巴嫩 龙虾

一言

文章归档

LVM 逻辑卷管理:物理卷(PV)与卷组(VG)原理与实战配置教程

LVM 逻辑卷管理:物理卷(PV)与卷组(VG)原理与实战配置教程

要理解物理卷(PV)与卷组(VG),我们首先需要明白为什么 Linux 要使用 LVM(逻辑卷管理),而不是直接使用传统的硬盘分区。
在传统方式下,如果你把一块硬盘划分为一个分区(比如 /dev/sdb1,大小 10G),这个分区的边界就死死固定在这一块物理硬盘上了。如果以后磁盘满了,想要扩容非常麻烦。
LVM 的核心思想是:“屏蔽物理硬盘的界限,把多块硬盘(或分区)打散,揉成一个巨大的虚拟存储池。”
在这个过程中,PV 和 VG 就是搭建这个“存储池”的关键两步:

  1. 什么是物理卷(PV - Physical Volume)?
  • 比喻:把买来的“砖头”贴上标签,表示它已经被清理干净,随时可以用来盖房子了。
  • 解释:真正的物理硬盘(如 /dev/sdb)或者硬盘分区(如 /dev/sdb1),在 Linux 底层只是原始的存储介质。只有通过 pvcreate 命令将它们初始化之后,系统才会给它们划分为一个个微小的存储单元(称为 PE,Physical Extent,默认 4MB),让它们变成 LVM 能够识别和管理的“标准化构件”。这个被初始化的分区或硬盘,就叫做物理卷(PV)。
  1. 什么是卷组(VG - Volume Group)?
  • 比喻:把所有的“砖头”堆在一起,砌成一个巨大的“蓄水池”或“大资源池”。
  • 解释:卷组(VG)是将一个或多个物理卷(PV)组合在一起形成的“虚拟大硬盘”。
    • 比如你在任务中,把 3 个 10G 的 PV(/dev/sdb1、/dev/sdc1、/dev/sdd1)加入到了名为 vg_store 的卷组中。
    • 此时,vg_store 这个卷组就变成了一个拥有 30G 总容量的超级大资源池。在这个池子里,系统不再关心数据具体是在第一块硬盘还是第三块硬盘上,只看总剩余空间。
      整体层次与流程一览
      LVM 的工作逻辑是自下而上构建的,一共分为四层:
      【4. 挂载目录】 /data (用户真正存取文件的地方)
      ▲
      【3. 逻辑卷 (LV)】 lv_data (从资源池切出的 25G 虚拟分区)
      ▲
      【2. 卷组 (VG)】 vg_store (30G 的总“资源池”/大水池)
      / |
      【1. 物理卷 (PV)】 sdb1 sdc1 sdd1 (3个 10G 的“标准化构件”)
      | | |
      【0. 物理磁盘】 /dev/sdb /dev/sdc /dev/sdd (真正的物理硬件)

总结

  • 创建 PV(物理卷):告诉系统:“这几块磁盘/分区我要用来做 LVM 了,请把它们格式化并标记为可管理的物理卷。”
  • 创建 VG(卷组):把这几个 PV 聚合在一起,打包成一个统一调配的容量大池子(在你的题目里叫 vg_store),方便下一步从这个池子里自由划出指定大小(如 25G)的逻辑卷(LV)使用。

这个任务的核心是 LVM(逻辑卷管理) 的完整配置流程。简单来说,它的逻辑是将多块物理硬盘的分区组合成一个大的“存储池”(卷组),然后再从这个池子里划出指定大小的逻辑卷来使用。以下是任务拆解与全流程分步详解:
– 1. 前置准备:添加虚拟硬盘在虚拟机软件(如 VMware)中给 VM-LinuxA 添加 3 块 20G 的 SCSI 虚拟硬盘,开机后系统通常识别为 /dev/sdb、/dev/sdc、/dev/sdd。
– 2. 磁盘分区与类型修改题目要求对 3 块硬盘分别划分 10G 物理分区,并将类型改为 LVM (8e)。使用 fdisk 对三块盘分别操作(以 /dev/sdb 为例):fdisk /dev/sdb进入交互界面后依次输入: * n(新建分区) * p(主分区) * 1(分区号选择 1) * 按 Enter(起始扇区默认) * +10G(指定分区大小为 10G) * t(修改分区类型) * 8e(HEX 代码 8e 代表 Linux LVM) * w(保存并退出)> 注意:对 /dev/sdc 和 /dev/sdd 重复上述交互过程,最终将得到三个分区:/dev/sdb1、/dev/sdc1、/dev/sdd1(每个 10G,类型 8e)。>
– 3. 创建物理卷(PV)与卷组(VG)三个 10G 分区相加共有 30G 空间,完全满足创建 25G 逻辑卷的要求。 * 初始化物理卷(PV):

1
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
  • 创建卷组(VG)vg_store:
1
vgcreate vg_store /dev/sdb1 /dev/sdc1 /dev/sdd1
  • 可以使用 vgs 或 vgdisplay vg_store 检查卷组大小(约 30G)。
    – 4. 创建逻辑卷(LV)与格式化 * 从 vg_store 中创建容量为 25G 的逻辑卷 lv_data:
1
lvcreate -L 25G -n lv_data vg_store
  • 格式化为 XFS 文件系统: *
  • mkfs.xfs /dev/vg_store/lv_data5.
    
    1
    挂载与永久挂载配置 * 创建挂载点并手动挂载:
    mkdir -p /datamount /dev/vg_store/lv_data /data
1
2
3

* 配置 /etc/fstab 实现开机自动挂载: 使用 vim /etc/fstab 编辑文件,在最末尾手动追加以下这一行内容:*

/dev/mapper/vg_store-lv_data /data xfs defaults 0 0
1
2

* 验证挂载配置:
 umount /datamount -adf -h /data
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     如果 mount -a 无任何报错且 df -h 能查看到 /data 容量为 25G,说明配置正确无误。
----

## 说明:
> 在 Linux(特别是 RHEL / CentOS / Rocky / AlmaLinux 等)系统中,`firewalld` 启动后,默认使用的 Zone(区域)通常是 `public`。

> 在默认的 `public` 区域配置中,系统预设允许了两个服务通过防火墙:

> 1. **`ssh`**(用于远程管理)
> 2. **`dhcpv6-client`**(用于自动获取 IPv6 地址的客户端服务)

> 你可以通过运行 `firewall-cmd --zone=public --list-services` 查看,默认输出通常就是:`dhcpv6-client ssh`。

> 在这个背景下,要满足题目中 **“仅开放 http 与 ssh”** 的严格要求,原因如下:

> ---

1. 满足“仅开放(Only Allow)”的严格安全与考试标准

题目要求“仅开放 http 与 ssh”(Only HTTP and SSH)。

  • 如果你只执行了 firewall-cmd --add-service=http 和放行 ssh,此时防火墙开放的服务实际上是:**ssh、http 以及 dhcpv6-client**。
  • 这就不符合“仅开放”的要求了。在网络系统管理竞赛(或企业高安全基线要求)中,自动化评分脚本或审核人员会检查当前开放的服务列表。如果列表中存在 dhcpv6-client,该项测试就会被扣分。

2. 最小权限原则(Principle of Least Privilege)与安全加固

  • 减少攻击面:如果服务器不需要通过 DHCPv6 自动获取 IPv6 地址(比如使用了静态 IP 或者根本没启用 IPv6),保留 dhcpv6-client 入站/出站放行规则属于不必要的端口暴露(DHCPv6 使用 UDP 546/547 端口)。
  • 移除不需要的默认服务是 Linux 系统安全加固(System Hardening)的标准规范。

补充:完整的配置命令参考

为了彻底满足“仅开放 http 和 ssh”的要求,完整的规范操作命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 启动并开机自启防火墙
systemctl start firewalld
systemctl enable firewalld

# 2. 移除默认存在的 dhcpv6-client
firewall-cmd --permanent --zone=public --remove-service=dhcpv6-client

# 3. 添加题目要求的 http 服务(ssh 默认已存在,若没有则需添加)
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=ssh

# 4. 重新加载防火墙配置使其生效
firewall-cmd --reload

# 5. 验证当前开放的服务(输出应严格只有:http ssh)
firewall-cmd --zone=public --list-services

本文由 BOSH 的博客助手 HerMes 整理 📝
----
原文链接:本次内容由用户提供
----
本文作者:BOSh
本文链接:http://bosh.zz.ac/posts/22603.html
版权声明:本文由BoSh发布,部分内容来源于网络。