RHCSA 第六天学习笔记
RHCSA 第六天学习笔记内容简介逻辑卷LVMPV、VG、LV、PEVDO 虚拟数据优化器容器podman 镜像管理、容器运行、网络、systemd 自启。本人个人博客地址Egg-blog一、磁盘管理前置准备先做两个分区大小自定义。添加两个新的分区不要做格式化也不要做挂载——留给后面逻辑卷实验使用。二、逻辑卷LVM逻辑卷的 2 个特点整合多个分区/磁盘可以将多个分区或磁盘整合成一个更大的逻辑磁盘然后从逻辑磁盘上划分出分区逻辑磁盘的大小 整合的物理磁盘大小之和。在线扩容当分区的存储空间不够时不需要移动数据可以直接添加硬盘或分区在原有分区的基础上直接扩容。LVM 核心概念流程PV分区或磁盘→ VG由 PV 整合含 PE→ LV由 VG 转化→ 格式化 → 挂载组件说明PV物理卷由分区或磁盘转化而来分区必须先转化成物理卷才能整合成更大的逻辑磁盘VG卷组由物理卷整合而成VG 大小约等于整合的物理卷大小之和误差大致在一个 PE 内PE物理块卷组上的最小存储单位默认 4MiB。VG 大小 单个 PE 大小 × PE 的数量LV逻辑卷从卷组上划分出来的类似前面讲的分区。有了逻辑卷之后就可以对它格式化、挂载。LV 大小由 VG 分配的 PE 数量决定实操1将未格式化的分区转化成物理卷PVpvcreate 分区路径1 分区路径2查看物理卷信息pvs pvscan pvdisplay2将 PV 整合成卷组VGvgcreate 卷组名自定义 物理卷路径1 物理卷路径2指定 PE 大小通过-s选项vgcreate-sPE大小 卷组名 物理卷路径1 物理卷路径2注意无需加单位默认 MiBPE 的大小必须是2 的倍数如果 VG 已创建好想重新修改 PE 大小只能使用vgremove 卷组名数据会删除后重新创建并指定 PE 大小查看卷组信息vgs vgscan vgdisplay3从卷组上划分逻辑卷LV两种指定 LV 大小的方式# 方式一直接指定逻辑卷的大小大写的 -Llvcreate-L逻辑卷的大小-n逻辑卷名字 卷组名# 方式二通过 PE 的数量来决定逻辑卷大小小写的 -llvcreate-lPE的数量-n逻辑卷名字 卷组名查看逻辑卷的信息lvs lvscan lvdisplay逻辑卷路径的两种写法# 第一种写法 /dev/卷组名/逻辑卷名 # 例/dev/vg123/lv123 # 第二种写法 /dev/mapper/卷组名-逻辑卷名 # 例/dev/mapper/vg123-lv123移除逻辑卷lvremove 逻辑卷的路径# 如 /dev/vg31/lv31lvscan或lvdisplay都可以显示逻辑卷的路径。4格式化与挂载格式化步骤和之前分区步骤一样# 两种方式mkfs.文件系统类型 逻辑卷路径mkfs-t文件系统类型 逻辑卷路径挂载创建挂载点/mnt/lv1然后将逻辑卷lv10永久挂载到/mnt/lv1上文件系统为 xfs 类型没有则自行创建。格式化挂载后——不要删除后续实验还要继续使用。5综合练习创建两个分区设置卷组名为vgredhatPE 大小为 16MiB逻辑卷大小为 56 个扩展块逻辑卷名为lvredhat然后进行格式化xfs并挂载到/mnt/redhat。# 参考流程pvcreate /dev/nvme0n2p1 /dev/nvme0n2p2 vgcreate-s16vgredhat /dev/nvme0n2p1 /dev/nvme0n2p2 lvcreate-l56-nlvredhat vgredhat mkfs.xfs /dev/vgredhat/lvredhatmkdir-p/mnt/redhatmount/dev/vgredhat/lvredhat /mnt/redhat逻辑卷扩容因为逻辑卷是从卷组上划分出来的所以在给逻辑卷扩容时要首先考虑卷组空间够不够。1给卷组扩容步骤创建新的物理卷 → 添加到卷组内# 1. 创建分区并把分区转化成物理卷pvcreate 分区路径# 2. 给卷组扩容vgextend 卷组名 物理卷路径12给逻辑卷存储空间扩容# lvextend指定扩容后的总大小lvextend-L扩容后逻辑卷的大小 要扩容的逻辑卷路径# lvresize在原来的基础上加指定大小lvresize-L100M 逻辑卷路径写法含义-L 100M在原来的基础上加 100M-L 1G直接扩容到 1G3给文件系统进行扩容文件系统类型扩容命令ext 系列resize2fs 逻辑卷的路径xfs 系列xfs_growfs 逻辑卷的路径重点在扩容逻辑卷存储空间时同时扩容文件系统使用-r选项可以一步完成逻辑卷和文件系统的扩容# 在原来的基础上加 10Glvextend-r-L10G 要扩容的逻辑卷路径# 直接扩容到 10Glvextend-r-L10G 要扩容的逻辑卷路径-r给逻辑卷扩容的同时也给文件系统扩容。练习将lvredhat逻辑卷格式化为 ext4永久挂载到/mnt/lv2自行创建挂载点然后对lvredhat进行扩容扩容至 5G。mkfs.ext4 /dev/vgredhat/lvredhatmkdir-p/mnt/lv2# 编辑 /etc/fstab 实现永久挂载lvextend-r-L5G /dev/vgredhat/lvredhat三、VDO虚拟数据优化器—了解内容VDOVirtual Data Optimizer是一种提供内嵌块级别的重复数据删除、压缩等功能的技术非常适合作为一个可能存在大量重复数据的使用场景例如虚拟机磁盘、用户上传的数据等。LVM VDO 的组成LVM VDO通过两个逻辑卷构成组件说明VDO POOL LV用于 LV 存储、重复数据删除和压缩的后端物理设备。设置 VDO 卷的物理大小即可保存到磁盘中的数据量实际对应消耗的卷组空间。每个 VDO POOL LV 只能有一个 VDO LVVDO LVVDO POOL LV 上的虚拟置备设备。设定 VDO 卷的置备和逻辑大小即应用在重复数据删除和压缩发生前可写入卷的数据量操作命令# 安装 vdo 相关软件dnfinstallvdo kmod-kvdo# 流程未格式化的分区 → 物理卷 → 卷组 → VDO 卷 → 格式化 → 挂载# 创建 VDO 卷lvcreate--typevdo--namevdo卷名称--size5G 卷组名称# 格式化mkfs.格式化类型 vdo路径mkfs-t格式化类型 vdo路径# 挂载同普通逻辑卷三种磁盘管理方式对比方式流程磁盘管理新加磁盘 → 分区 → 格式化文件系统→ 挂载提供入口逻辑卷未格式化分区 → PV → VG → LV → 格式化 → 挂载VDO 卷未格式化分区 → PV → VG → VDO 卷 → 格式化 → 挂载四、容器podman兼容 docker容器简介容器是一个虚拟化技术可以将软件运行所需的环境一起打包运行从而减少运维由于环境不兼容等带来的麻烦。容器和传统虚拟化的区别容器是针对内核级别的虚拟化传统虚拟化是针对操作系统级别的虚拟化所以容器的响应速度更快容器所处的系统环境是专门定制的所以容器可以更加小巧注意不要把容器想的太复杂——把容器类比成一个软件本节主要讲的就是如何下载软件、安装软件、运行软件、软件的开机自启。核心流程镜像仓库→ 拉取镜像 → 创建容器 → 运行实操准备工作请确保相关的一些文件传输到 RHEL 环境中存放在redhat用户的~/images目录下。1. 搭建容器仓库1安装容器工具首先需要确保系统环境中安装了podman程序。可以直接安装podman软件也可以安装container-tools软件包来提供完整的容器管理相关的所有工具。注意需要确保redhat用户是正常通过 SSH 登录的整个操作过程中不允许出现su -切换。2导入容器镜像可以使用podman load命令导入别人准备好的容器镜像文件。3登录镜像仓库对容器镜像注册站点进行特定身份的登录使用红帽订阅账号登录红帽官方的镜像仓库。4通过网络下载容器镜像podmanpull registry.redhat.io/ubi9/ubi:9.0.0-1703容器镜像命名规则每个容器镜像有着标准的命名规则容器注册站点/站点用户/容器镜像名:标签部分说明是否必须容器注册站点容器镜像所在的注册站点域名可省略站点用户容器镜像属于注册站点上的哪一个用户可省略容器镜像名具体描述容器镜像通常和镜像作用有关必须标签描述容器镜像版本可通过skopeo inspect的RepoTags查看默认为latest可省略红帽推荐任何时候都使用完整的容器镜像名称确保每次操作指定的容器镜像唯一。构建自定义容器镜像可以通过Containerfile或Dockerfile文件使用podman build命令构建一个自定义的容器镜像。[redhatworkstation ~]$mkdirmyimage# 准备专门的一个目录[redhatworkstation ~]$cdmyimage/# 切换工作目录[redhatworkstation myimage]$vimContainerfile# 创建 Containerfile也可以是 Dockerfile基于红帽官方 UBI9 基础镜像制作一个预装 vim 编辑器、启动后永久后台运行的容器镜像[redhatworkstation myimage]$ cat Containerfile FROM registry.redhat.io/ubi9/ubi:9.0.0-1703 RUN dnf install -y vim CMD [/bin/bash, -c, sleep infinity]各行含义行说明FROM指定构建的基础镜像红帽官方 UBI9 标准版固定版本 9.0.0-1703RUN构建时执行的操作dnf install -y vimdnf是 RHEL9/UBI9 的包管理器替代 yum-y自动确认安装CMD容器启动后执行的默认命令启动 bash 并执行sleep infinity永久休眠让容器持续运行sleep infinity会启动一个「永久休眠的进程」作为 PID1不占用 CPU 资源、不输出日志、不会异常退出。大多数容器镜像都可以依照类似文件来创建通常由开发人员编写。构建镜像[redhatworkstation myimage]$podmanbuild-tmyimage.# 在当前目录下搜索 Containerfile 或 Dockerfile读取内容构建镜像并命名为 myimage查看已有的容器镜像podmanimagespodmanimagerm镜像名# 删除镜像2. 运行容器有了容器镜像之后就可以使用podman run命令来基于一个容器镜像启动一个容器。podman run常用参数参数说明-d让容器在后台运行--name给容器指定一个名称-p将容器的某个端口和宿主机上的某个端口建立连接通过宿主机端口访问容器服务。格式-p 本地端口:容器端口-v将宿主机上的某个目录挂载到容器内的某个目录让容器和宿主机共享文件。格式-v 本地路径:容器内路径:zz保证 SELinux 上下文一致-e向容器内传递环境变量通常和容器启动脚本或方式有直接关联-p、-v、-e三个选项可以重复调用多次。示例podmanrun--nameweb-d-p8888:80 httpd# 通过本地 IP:8888 即可访问容器 IP:80 的内容# 使用 httpd 镜像创建容器 web01通过访问主机的 8080 端口访问容器内的 8080 端口挂载目录-v详解# 容器内的存储路径只是作为一个入口真正的数据保存在本地主机的存储路径上# z 的作用保证 SELinux 上下文一致[redhatlocalhost ~]$mkdir-pwww[redhatlocalhost ~]$echohello./www/index.html[redhatlocalhost ~]$podmanrun-d--nameweb03-p8081:8080\-v/home/redhat/www/:/var/www/html/:z\registry.redhat.io/ubi9/httpd-24:1-2623. 容器管理命令查看容器podmanps-a# 查看所有的容器在容器内执行命令# 执行简单命令非交互式操作的命令podmanexecweb01ls-l/root# 执行复杂命令包含管道符、重定向等使用 sh -c 或 bash -c 封装podmanexecpycontainer1sh-cls -l /root此命令模式只支持非交互式的命令vim等不可使用。容器的启动、停止、重启、删除podmanstart 容器名称# 启动容器可使用容器名称或 IDpodmanstop 容器名称# 停止容器podmanrestart 容器名称# 重启容器podmanrm容器名称# 删除容器注意如果没有在容器运行时添加-v选项删除容器时容器内的数据将全部丢失容器创建只有一次机会若想修改podman run中定义的内容需要先删除错误创建的容器再重新创建4. 容器网络创建容器网络podmannetwork create--gateway10.99.0.1--subnet10.99.0.0/16 test_net# 创建一个网关为 10.99.0.1子网为 10.99.0.0/16 的容器网络查看网络详细信息podmannetwork inspect test_net指定容器运行在某个网络中在同一个容器网络中的容器相互之间可以直接使用容器名作为互相访问的地址。podmanrun-d--nametest1--networktest_net localhost/myimage:latestpodmanrun-d--nametest2--networktest_net localhost/myimage:latest# 给容器 test1 和 test2 安装 ping 命令所需的基础软件包podmanexectest1pingtest2podmanexectest2pingtest15. 基于 systemd 的自启动容器对于 podman 创建的容器若想实现开机自启需要通过 systemd 进行管理主要针对 rootless 级别的容器——容器不推荐使用 root 用户去执行存在严重的安全问题。1允许用户进程驻留在系统中[redhatlocalhost ~]$ loginctl enable-linger2创建容器服务所需目录记住对应路径[redhatlocalhost ~]$mkdir-p~/.config/systemd/user[redhatlocalhost ~]$cd~/.config/systemd/user[redhatlocalhost user]$pwd/home/redhat/.config/systemd/user3将容器注册成用户级别的服务[redhatlocalhost user]$podmangenerate systemd--nameweb01--files/home/redhat/.config/systemd/user/container-web01.service4刷新用户级别的 systemd 单元文件[redhatlocalhost user]$ systemctl--userdaemon-reload5停止基于 podman 直接对容器的启动改用 systemd 接管[redhatlocalhost user]$podmanstop web01[redhatlocalhost user]$ systemctl--userstart container-web01.service[redhatlocalhost user]$ systemctl--userenablecontainer-web01.service

相关新闻

快速了解C语言基础(10)(二维函数)

快速了解C语言基础(10)(二维函数)

8.函数和一维字符型数组传参:char 数组名[100];定义:返回值 函数名 (char 数组名[]){函数体;}调用:函数名(数组名);调用:函数名(数组名);void print_str(char str[]){}print_str(str)&#xff1…

2026/10/10 15:40:26 阅读更多 →
Unity动画系统全流程解析:从状态机到性能优化

Unity动画系统全流程解析:从状态机到性能优化

1. 项目概述:从静态到动态的魔法在Unity的世界里,让一个静止的物体“活”起来,是每个开发者都会经历的第一步,也是最富成就感的一步。无论是让一个角色挥剑、一个门缓缓打开,还是一个UI按钮优雅地弹出,动画…

2026/10/13 5:44:06 阅读更多 →
MMC电压源换流器控制技术解析与应用

MMC电压源换流器控制技术解析与应用

1. MMC电压源换流器控制器的核心价值在电力电子领域,模块化多电平换流器(Modular Multilevel Converter, MMC)已经成为中高压直流输电系统的首选拓扑结构。与传统两电平或三电平换流器相比,MMC具有输出电压谐波含量低、开关损耗小…

2026/10/14 12:19:48 阅读更多 →

最新新闻

多商户外卖小程序实施检查:店铺订单隔离与地址时段用例

多商户外卖小程序实施检查:店铺订单隔离与地址时段用例

做多商户外卖小程序,用户入口之外还需商家后台、配送与运营规则。微订官网列有多商户、骑手抢派单及结算,可按项目版本确认实施范围。 由微订产品内容组整理,产品信息为第一方说明,采购方法需结合实际版本与项目范围验证。 准备…

2026/10/15 14:34:43 阅读更多 →
一文带你了解渗透测试是什么!

一文带你了解渗透测试是什么!

渗透测试是网络安全领域的核心实战技术,常被称为“合法黑客攻击”。但很多人对其存在误解,认为是恶意攻击,实则它是主动防御的关键手段,接下来这篇文章带你了解什么是渗透测试!渗透测试是一种模拟黑客攻击的安全评估方法&#xff…

2026/10/15 14:34:43 阅读更多 →
L1与L2正则化本质区别:稀疏性、鲁棒性与工程选型指南

L1与L2正则化本质区别:稀疏性、鲁棒性与工程选型指南

1. 为什么L1和L2正则化不是“加个公式就完事”的装饰品你翻过机器学习教材,肯定见过这两个式子:$$\text{L1: } \lambda \sum_{i1}^n |w_i| \quad \text{L2: } \frac{\lambda}{2} \sum_{i1}^n w_i^2$$但如果你只把它们当成损失函数里“顺手加上的惩罚项”…

2026/10/15 14:34:43 阅读更多 →
Win32 API实战源码解析:消息循环、GDI绘图与DLL调用

Win32 API实战源码解析:消息循环、GDI绘图与DLL调用

简介:《精通Windows API-函数、接口、编程实例(源码)》是一份面向中高级C开发者的Windows编程实战资料,围绕Win32 API调用与COM接口应用展开,适合需要系统掌握桌面应用开发、系统级程序设计与调试能力的程序员。书中156个实例覆盖窗口管理、消…

2026/10/15 14:34:43 阅读更多 →
Grid Beam Search:打破长度偏差的序列生成解码算法

Grid Beam Search:打破长度偏差的序列生成解码算法

如果你经常跟 seq2seq 模型打交道,一定经历过这种纠结:beam size 设成 5 还是 10?length penalty 的系数 α 到底是 0.6 还是 1.2?为什么 beam search 出来的结果老是往短句偏?这些看起来是调参问题,背后其…

2026/10/15 14:34:43 阅读更多 →
指纹浏览器环境仿真技术与AI风控对抗实战

指纹浏览器环境仿真技术与AI风控对抗实战

1. 项目背景与行业现状指纹浏览器环境仿真技术正在成为数字身份管理领域的重要基础设施。根据最新行业调研数据显示,到2026年全球反欺诈解决方案市场规模预计将达到900亿美元,其中基于浏览器指纹的风控系统占比超过35%。这种技术通过收集用户设备的硬件配…

2026/10/15 14:33:42 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →