当前位置: 首页 > news >正文

3-2 创建一个至少有两个PV组成的大小为20G的名为testvg的VG

文章目录

    • 1. 在vmware添加多块20G的硬盘,并创建分区
    • 2. 创建一个至少有两个PV组成的大小为20G的名为testvg的VG,要求PE大小为16M,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
    • 3. 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d/目录至自己的家目录
    • 4. 扩展testlv至7G,要求archlinux用户的文件不能丢失
    • 5. 收缩testlv至3G,要求archlinux用户的文件不能丢失
    • 6. 对testlv创建快照,并尝试基于快照备份数据,验正快照的功能
    • 7. 创建10G的RAID1,要求CHUNK为128K,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
    • 8. 创建一个可用空间为10G的RAID10设备,要求CHUNK为256K,文件系统为ext4,开机可自动挂载至/mydata目录



1. 在vmware添加多块20G的硬盘,并创建分区

在这里插入图片描述

查看硬盘情况,添加了sdb和sdc,但还没分区。

[root@centos-server ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0    8G  0 part [SWAP]
└─sda3   8:3    0 21.5G  0 part /
sdb      8:16   0   20G  0 disk 
sdc      8:32   0   20G  0 disk 
sr0     11:0    1 1024M  0 rom  

对硬盘设备做分区

# 启动分区工具
fdisk /dev/sdb# 创建新分区
n# 选主分区
p# 分区号
回车,默认1# 起始扇区
回车,默认2048# 结束扇区
+10G# 保存退出
w

硬盘sdc使用相同方法,得到两块各10G的分区,用于后续的pv创建。

[root@centos-server ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   30G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0    8G  0 part [SWAP]
└─sda3   8:3    0 21.5G  0 part /
sdb      8:16   0   20G  0 disk 
└─sdb1   8:17   0   10G  0 part 
sdc      8:32   0   20G  0 disk 
└─sdc1   8:33   0   10G  0 part 
sr0     11:0    1 1024M  0 rom 

2. 创建一个至少有两个PV组成的大小为20G的名为testvg的VG,要求PE大小为16M,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录

# 创建pv
sudo pvcreate /dev/sdb1
sudo pvcreate /dev/sdc1# 查看pvs
sudo pvsPV         VG Fmt  Attr PSize  PFree /dev/sdb1     lvm2 ---  10.00g 10.00g/dev/sdc1     lvm2 ---  10.00g 10.00g# 创建vg
sudo vgcreate -s 16M testvg /dev/sdb1 /dev/sdc1# 查看vgs
sudo vgsVG     #PV #LV #SN Attr   VSize   VFree  testvg   2   0   0 wz--n- <19.97g <19.97g# 创建lv
sudo lvcreate -L 5G -n testlv testvg# 查看lvs
sudo lvsLV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Converttestlv testvg -wi-a----- 5.00g     

xfs文件系统不支持LV缩容,这里使用ext4文件系统。

格式化lv,挂载目录

# 创建的lv必须先格式化才能使用
sudo mkfs.ext4 /dev/testvg/testlv# 创建用于挂载的目录
mkdir /users# 手动挂载,但重启后失效
mount /dev/testvg/testlv /users# 自动挂载,重启后生效
echo "/dev/testvg/testlv /users ext4 defaults 0 0" >> /etc/fstab
mount -a# 检查挂载情况
df -h
/dev/mapper/testvg-testlv  4.8G   20M  4.6G    1% /users# ext4的特色,有失物招领目录
ls /users
lost+found

3. 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d/目录至自己的家目录

useradd -d /users/archlinux archlinuxsu - archlinuxcp -a -r /etc/pam.d/ /users/archlinux/ls ~
pam.d

4. 扩展testlv至7G,要求archlinux用户的文件不能丢失

# 创建测试文件
echo 123 > /users/archlinux/a.txt
echo 456 > /users/archlinux/b.txtls /users/archlinux
a.txt  b.txt  pam.d# 扩容到7G
lvextend -L 7G  /dev/testvg/testlv# 一定要重置文件系统大小  
resize2fs /dev/testvg/testlv# 重新挂载
mount /dev/testvg/testlv /users# 检验扩容结果
df -h
/dev/mapper/testvg-testlv  6.8G   23M  6.4G    1% /users# 查看旧文件,没有丢失
ls /users/archlinux
a.txt  b.txt  pam.d

5. 收缩testlv至3G,要求archlinux用户的文件不能丢失

# 首先解除挂载
umount /dev/testvg/testlv# 然后检查ext文件系统
e2fsck -f /dev/testvg/testlv# 和扩容不同,缩容先重置文件系统大小,并指定大小。
resize2fs /dev/testvg/testlv 3G # 缩容到3G
lvreduce -L 3G  /dev/testvg/testlv
是否缩容 y# 再次检查ext文件系统,可选
e2fsck -f /dev/testvg/testlv# 最后挂载目录
mount /dev/testvg/testlv# 检验扩容结果
df -h
/dev/mapper/testvg-testlv  2.9G   22M  2.7G    1% /users# 查看旧文件,没有丢失
ls /users/archlinux
a.txt  b.txt  pam.d

6. 对testlv创建快照,并尝试基于快照备份数据,验正快照的功能

备份:

# L快照大小,s创建快照,n快照名字 pr权限只读
lvcreate -L 1G -s -n data-snapshot -p r /dev/testvg/testlv# 创建用于保存快照的目录,将快照挂载到目录
mkdir /snaps
mount /dev/testvg/data-snapshot /snaps# 显示当前目录
ls /users/archlinux
a.txt  b.txt  pam.d

还原:

# 对原目录文件修改
rm -f /users/archlinux/b.txt
echo 789 > /users/archlinux/c.txt# 修改后的目录
ls /users/archlinux
a.txt  c.txt  pam.d# 先卸载lv和snap,再还原快照
umount /dev/testvg/testlv
umount /dev/testvg/data-snapshot
sudo lvconvert --merge /dev/testvg/data-snapshot# 检查还原情况
mount /dev/testvg/testlv
ls /users/archlinux
a.txt  b.txt  pam.d

删除:

# 快照还原后,会自动删除快照和挂载。当然也可以手动删除。umount /dev/testvg/data-snapshot
lvremove /dev/testvg/data-snapshot
是否删除 y

7. 创建10G的RAID1,要求CHUNK为128K,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录

# 添加3块硬盘,查看块设备
sudo lsblk
sdd                 8:48   0    10G  0 disk 
sde                 8:64   0    10G  0 disk 
sdf                 8:80   0    10G  0 disk # C创建 a自动 l级别 c块大小 n块设备 x空闲盘
mdadm -C /dev/md1 -a yes -l 1 -c 128 -n 2 -x 1 /dev/sdd /dev/sde /dev/sdf
# 会提示软raid无法用做boot启动盘,可忽略
是否继续 y# 查看软raid状态
mdadm -D /dev/md1
# spare   /dev/sdf# 格式化设备
sudo mkfs.ext4 /dev/md1# 挂载设备
mkdir /backup
echo "/dev/md1 /backup ext4 defaults 0 0" >> /etc/fstab
mount -a# 查看设备容量
df -h
/dev/md1                   9.8G   20M  9.6G    1% /backup

8. 创建一个可用空间为10G的RAID10设备,要求CHUNK为256K,文件系统为ext4,开机可自动挂载至/mydata目录

# 再添加4块硬盘,查看块设备
sudo lsblk
sdg               8:96   0    5G  0 disk 
sdh               8:112  0    5G  0 disk 
sdi               8:128  0    5G  0 disk 
sdj               8:144  0    5G  0 disk # C创建 a自动 l级别 c块大小 n块设备 x空闲盘
mdadm -C /dev/md10 -a yes -l 10 -c 256 -n 4 /dev/sd{g..j}
# 会提示软raid无法用做boot启动盘,可忽略
是否继续 y# 查看软raid状态
mdadm -D /dev/md10
# Raid Level : raid10# 格式化设备
sudo mkfs.ext4 /dev/md10# 挂载设备
mkdir /mydata
echo "/dev/md10 /mydata ext4 defaults 0 0" >> /etc/fstab
mount -a# 查看设备容量
df -h
/dev/md10                9.8G   24K  9.3G   1% /mydata


相关文章:

3-2 创建一个至少有两个PV组成的大小为20G的名为testvg的VG

文章目录1. 在vmware添加多块20G的硬盘&#xff0c;并创建分区2. 创建一个至少有两个PV组成的大小为20G的名为testvg的VG&#xff0c;要求PE大小为16M&#xff0c;而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录3. 新建用户archlinux,要求其家目录为/users/archlinu…...

【密码学】 一篇文章讲透数字证书

【密码学】 一篇文章讲透数字证书 数字证书介绍 数字证书是一种用于认证网络通信中参与者身份和加密通信的证书&#xff0c;人们可以在网上用它来识别对方的身份。 我们在上一篇博客中介绍了数字签名的作用和原理&#xff0c;数字签名可以防止消息被否认。有了公钥算法和数字签…...

Linux 操作系统原理 — 内存管理 — 虚拟地址空间(x86 64bit 系统)

目录 文章目录目录虚拟地址格式与内核页表&#xff08;四级页表&#xff09;虚拟地址格式与内核页表&#xff08;四级页表&#xff09; 在 x86 64bit 系统中&#xff0c;可以描述的最长地址空间为 2^64&#xff08;16EB&#xff09;&#xff0c;远远超过了目前主流内存卡的规格…...

C语言深入知识——(2)指针的深入理解

1、字符指针 &#xff08;1&#xff09;字符指针的普通用法 char a A; char* pa &a;但是一般来说字符指针很少这么用……更多是拿来存储一个字符串 &#xff08;2&#xff09;字符串的两种存储以及区别 现在有了两种存储数组的方法 ①一个是使用char类型数组存储②另外…...

Git使用笔记

分支branch切换到另一个分支git checkout 你要切换到的分支的名字git checkout master将本地的这个分支branch1和gitee上的branch1进行合并&#xff08;本地的branch1有的&#xff0c;gitee上branch1没有的增加上去&#xff09;git merge branch1git merge 分支的名字查看本地是…...

数据库管理-第五十八期 倒腾PDB(20230226)

数据库管理 2023-02-26第五十八期 倒腾PDB1 克隆本地PDB2 没开归档总结第五十八期 倒腾PDB 其实本周过的不大好&#xff0c;连着两天熬夜&#xff0c;一次是割接一次是处理ADG备库的异常&#xff0c;其实本周有些内容是以前处理过的问题&#xff0c;到了周末还肚子痛。哎… 1…...

我看谁还敢说不懂git

文章目录一、Git介绍1.1、Git的作用1.2、Git的理念1.3、Git的特点1.4、Git对比SVN二、Git的概念2.1、Git基础概念三、Git的基本操作3.1、使用Git管理一个代码仓库的流程3.2、Git常用命令介绍四、Git状态的变化五、Git安装和配置5.1、Git的安装5.2、Git的配置六、Git的高级操作6…...

Scratch少儿编程案例-算法练习-实现加减乘除练习题

专栏分享 点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例👉关于作者...

【离线数仓-9-数据仓库开发DWS层设计要点-1d/nd/td表设计】

离线数仓-9-数据仓库开发DWS层设计要点-1d/nd/td表设计离线数仓-9-数据仓库开发DWS层设计要点-1d/nd/td表设计一、DWS层设计要点二、DWS层设计分析 - 1d/nd1.DWS层设计一&#xff1a;不考虑用户维度2.DWS层设计二&#xff1a;考虑用户维度2.DWS层设计三 &#xff1a;考虑用户商…...

python网络数据获取

文章目录1网络爬虫2网络爬虫的类型2.1通用网络爬虫2.1.12.1.22.2聚焦网络爬虫2.2.1 基于内容评价的爬行策略2.2.2 基于链接结构的爬行策略2.2.3基于增强学习的爬行策略2.2.4基于语境图的爬行策略2.3增量式网络爬虫深层网页爬虫3网络爬虫基本架构3.1URL管理模块3.2网页下载模块3…...

[Datawhale][CS224W]图机器学习(六)

目录一、简介二、概述三、算法四、PageRank的缺点五、Python实现迭代法参考文献一、简介 PageRank&#xff0c;又称网页排名、谷歌左侧排名、PR&#xff0c;是Google公司所使用的对其搜索引擎搜索结果中的网页进行排名的一种算法。 佩奇排名本质上是一种以网页之间的超链接个…...

aws ecr 使用golang实现的简单镜像转换工具

https://pkg.go.dev/github.com/docker/docker/client#section-readme 通过golang实现一个简单的镜像下载工具 总体步骤 启动一台海外区域的ec2实例安装docker和awscli配置凭证访问国内ecr仓库编写web服务实现镜像转换和自动推送 安装docker和awscli sudo yum remove awsc…...

【20230225】【剑指1】分治算法(中等)

1.重建二叉树class Solution { public:TreeNode* traversal(vector<int>& preorder,vector<int>& inorder){if(preorder.size()0) return NULL;int rootValuepreorder.front();TreeNode* rootnew TreeNode(rootValue);//int rootValuepreorder[0];if(preo…...

「JVM 高效并发」Java 线程

进程是资源分配&#xff08;内存地址、文件 I/O 等&#xff09;的基本单位&#xff0c;线程是执行调度&#xff08;处理器资源调度&#xff09;的基本单位&#xff1b; Loom 项目若成功为 Java 引入纤程&#xff08;Fiber&#xff09;&#xff0c;则线程的执行调度单位可能变为…...

ADAS-可见光相机之Cmos Image Sensor

引言 “ 可见光相机在日常生活、工业生产、智能制造等应用有着重要的作用。在ADAS中更是扮演着重要的角色&#xff0c;如tesla model系列全车身10多个相机&#xff0c;不断感知周围世界。本文着重讲解下可见光相机中的CIS(CMOS Image Sensor)。” 定义 光是一种电磁波&…...

【ESP 保姆级教程】玩转emqx MQTT篇③ ——封装 EmqxIoTSDK,快速在项目集成

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建记录 2023-02-26 ❤️❤️ 本篇更新记录 2023-02-26 ❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请…...

Python自动化测试面试题-编程篇

前言 随着行业的发展&#xff0c;编程能力逐渐成为软件测试从业人员的一项基本能力。因此在笔试和面试中常常会有一定量的编码题&#xff0c;主要考察以下几点。 基本编码能力及思维逻辑基本数据结构&#xff08;顺序表、链表、队列、栈、二叉树&#xff09;基本算法&#xf…...

CIT 594 Module 7 Programming AssignmentCSV Slicer

CIT 594 Module 7 Programming Assignment CSV Slicer In this assignment you will read files in a format known as “comma separated values” (CSV), interpret the formatting and output the content in the structure represented by the file. Q1703105484 Learning …...

链路追踪——【Brave】第一遍小结

前言 微服务链路追踪系列博客&#xff0c;后续可能会涉及到Brave、Zipkin、Sleuth内容的梳理。 Brave 何为Brave&#xff1f; github地址&#xff1a;https://github.com/openzipkin/brave Brave是一个分布式追踪埋点库。 #mermaid-svg-riwF9nbu1AldDJ7P {font-family:"…...

Vision Transformer(ViT)

1. 概述 Transformer[1]是Google在2017年提出的一种Seq2Seq结构的语言模型&#xff0c;在Transformer中首次使用Self-Atttention机制完全代替了基于RNN的模型结构&#xff0c;使得模型可以并行化训练&#xff0c;同时解决了在基于RNN模型中出现了长距离依赖问题&#xff0c;因…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

C# winform教程(二)----checkbox

一、作用 提供一个用户选择或者不选的状态&#xff0c;这是一个可以多选的控件。 二、属性 其实功能大差不差&#xff0c;除了特殊的几个外&#xff0c;与button基本相同&#xff0c;所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...