Linux系统及操作 (08)

Linux系统及操作 (07)

逻辑卷管理(LVM)

  • 逻辑卷 Logical Volume Manager:

    • 整合分散的空间
    • 空间支持扩大
    • /dev/mapper/*
  • 支持动态升级(在线升级),不停机维护。

  • 逻辑卷制作过程:众多的物理卷**(PV)组成卷组(VG),从VG中划分出逻辑卷(LV)**。

  • LVM的组成:

    分区——>格式化 中间增加的一个逻辑层

    ----零散空闲储存--------整合的虚拟磁盘--------虚拟的分区

    ----物理卷(PV)---------卷组(VG)-----------逻辑卷(LV)

    1. 物理卷-PV :是LVM的基本存储逻辑块,是LVM构建的实际硬件/存储系统

    2. 物理块-PE :VG中最小的连续区域(默认为4M,可修改),是PV的一部分,可分配给LV。

      [ vgchange -s 1M 卷组名 ] #对应卷组下PE的大小被修改为1M

    3. 卷组-VG :由PV组成,可以在卷组上创建LVM分区,由PV组成。

    4. 逻辑卷-LV :可供系统使用的最终元设备。在VG中创建和管理,由PE组成的虚拟分区

      显示为**[ /dev/name_vg/name_lv ],通常再其上可以创建文件系统**。

      物理卷
      /dev/vdb1
      VG卷组
      LV逻辑卷
      /dec/vdb2
      /dev/vdb5
  • LVM的优缺点

    • 优点
      • 灵活性高
      • 将多块硬盘看做一块大硬盘,可以创建跨越众多硬盘空间的分区
      • 空间不足的时候在动态调整它的大小
      • 可以在线对逻辑卷(LV)和卷组(VG)进行创建,删除,调整大小等操作
      • 无需重新启动服务
      • 允许创建快照,可以保存文件系统的备份
      • 支持各种设备映射目标
    • 缺点
      • 依赖硬盘,如硬盘出问题则全部出问题。
      • 只能集结一台电脑上的空间。
      • 逻辑卷的读写速度不高。
      • 在系统设置时需要更复杂的额外步骤。
      • Windows不支持LVM,若使用双系统,你将无法在Windows上访问LVM分区。

新建逻辑卷

LVM 逻辑卷管理

  • 最低要求是整块分区,最优选是未格式化制作的分区。需要全新的完整的分区。

  • 整合的多块分区类似真的硬盘,称为虚拟硬盘

  • 主分区和逻辑分区可参与制作,扩展分区不能参与。

  • LVM 管理工具集

    __[pv*]__物理卷相关__[vg*]__卷组相关__[lv*]__逻辑卷相关
    [*s] 扫描
    __[*create]__创建* 卷名 分区* 卷名 分区* -L 大小 -n 名字 卷组名
    __[*display]__显示* 卷名* 卷名* 卷名
    __[*remove]__删除* 卷名* 卷名* 卷名
    __[*extend]__扩展* 卷组 分区* -L 最终大小 逻辑卷路径
    __[*rename]__改名* 旧名 新名
可省略:[pvcreate]创建物理卷
  • 格式 :[ pvcreate 卷名 分区地址 ]

    pvcreate systempv /dev/vdb1

[vgcreate]创造卷组
  • 格式 :[ vgcreate 卷名 空闲分区… ]

    vgcreate systemvg /dev/vdb1 #把 vdb1 分区给 systemvg 组卷。

    vgcreate systemvg /dev/vdb[1-2] #把 vdb1和vdb2 分区给 systemvg 组卷。

    vgcreate -s 1M systemvg /dev/vdb1

    ​ #把 vdb1 分区给 systemvg 组卷。PE为 1M 大小。

[lvcreate]创造逻辑卷
  • 格式 :[ lvcreate -L 大小 -n 名字 卷组名 ]

lvcreate -L 16G -n vo systemvg # 通过 systemvg 卷组创造一个16G的叫 vo 的逻辑卷。

lvcreate -l 16 -n vo systemvg # 通过卷组创造16个PE组成的叫 vo 的逻辑卷。

  • 逻辑卷实际存在于**[ /dev/dm* ]**
  • 快捷方式在 [ /dev/卷组/逻辑卷 ][ /dev/mapper/卷组-逻辑卷 ]
  • 逻辑卷创造后需要格式化然后挂用nginx这个VG空间创建名称为vlan的逻辑卷,LV容量为8G载使用
    • mkfs.xfs /dev/systemvg/vo #格式化xfs文件类型
    • blkid /dev/systemvg/vo #查看格式化类型
    • vim /etc/fstab #开机自动挂载
    • mount -a #检测fstab文件内容是否正确
    • df -h /mylv #查看正在挂载使用的设备

扩展逻辑卷

卷组有足够的剩余空间
  • [ lvextend ] : lvextend -L 最终大小 逻辑卷路径

    [ lvextend -L 18G /dev/systemvg/vo ] #把 vo 逻辑卷扩展到 18G。
    [ lvextend -l 10 /dev/systemvg/vo ] #扩展到 10 个PE大小。

    #此时原先的大小 16G 和 新的大小 18G 冲突。

    #格式化文件系统了 16G,现在空间的大小是18G。

    #多出来的空间需要同类型的格式化文件系统。

    xfs文件系统: xfs_growfs

    ext4文件系统:resize2fs

    [ xfs_growfs /dev/systemvg/vo ] #把多出来的空间格式化

卷组没有足够的剩余空间
  • 需要先扩展 vg 卷组,将足够的 pv 物理卷填入

  • [ vgextend ] : vgextend 卷组名 空闲分区

    [ vgextend systemvg /dev/vdb5 ] #把 sdb5 分区当作物理卷放入 systemvg 卷组

    [ vgextend systemvg /dev/vdb{3,5,6} ] #把 sdb3,5,6 分区都放入 systemvg 卷组

逻辑卷的删除

  • [ lvremove 逻辑卷目录]

  • 不能卸载正在使用的逻辑卷

  • 需先卸载逻辑卷 [ umount ]

  • 删除开机自动挂载的配置

逻辑卷的缩减

  • xfs文件系统:不支持缩减

  • ext4文件系统:支持缩减

进程管理

  • 程序:静态未执行的代码。 #占用硬盘空间。

  • 进程:内存中正在运行的代码。 #占用CPU与内存

  • PID :Linux系统给予每一个进程的识别码。(无法指示)

    • 数字越小表示运行时间越早
  • 父进程与子进程

  • 树形结构

查看进程

  • [ pstree ] = Processes Tree

    • 树状图的树根是 [ systemd ] ------上帝进程,最初的进程,所有进程的父进程。

    • 格式 :[ pstree 选项 PID或用户名 ]

    • [ -a ] :显示完整的命令行。运行什么命令产生的进程。

    • [ -p ] : 列出对应进程的PID编号

  • **[ ps ]**进程快照 :Processes Snapshot

    • 格式 :ps [选项]…

    • [ aus ] :

      • [ a ]-------显示当前终端所有进程
      • [ x ]--------当前用户再所有终端下的进程
      • [ s ]--------以用户格式输出

用户 进程ID %CPU %内存 虚拟内存 固定内存 终端 状态 起始时间 CPU时间 程序指令

  • [ -elf ] :

    • [ -e ]-------显示系统内所有进程

    • [ -l ]-------以长格式输出信息

  • [ -f ]-------包括父进程在内最完整的进程信息

    • 显示信息中PPID为 父进程
  • **[ top ]**动态查看

    • 格式 :top [ -d 刷新秒数 ] [ -U 用户名 ]

    • 查看中可以 :

      • [ P ]-------进行CPU排序

      • [ M ]------进行内存排行

      • [ q ]-------退出

  • [ pgrep ] Process Grep

    • 可过滤进程名字,显示其PID
    • 格式 :[ pgrep 选项… 查询条件 ]
    • [ -l ]------输出进程名字
    • [ -u ]------检查指定用户的进程
    • [ -x ]------精准匹配完整的进程名

控制进程

进程的前后台调度

  • 前台启动
    • 输入正常命令行,运行期间占用当前终端。
  • 后台启动
    • 在命令行末尾添加 [ & ] 符号,不占用当前终端。
  • 控制进程
    1. [ & ]--------正在运行的状态放入后台(表示AND)
    2. [ Ctrl + z ]--------挂起当前进程(暂停并转入后台)
    3. [ jobs ]--------查看后台任务列表
    4. [ fg ]--------将后台任务恢复到前台运行
    5. [ bg ]--------激活后台被挂起的任务

结束进程

  1. Ctrl+c 组合键,中断当前命令程序
  2. kill [-9] PID…kill [-9] %后台任务编号
  3. killall [-9] 进程名…
  4. pkill [-9] 查找条件 #包含就算

用户提权

  • sudo提权 : 可以让普通用户以root身份执行某些操作

  • [ sudo -l ] 查看当前用户权限

  • vim /etc/sudoers #sudo提权主配置文件

  • [ visudo ] === [ vim ] 可以检查语法错误

    • bob ALL=(root) /usr/bin/mkdir,/usr/bin/cat
    • 普通用户 所有的主机=(变成的身份) 可以执行的命令程序
  • 取消密码验证

    • visudo

      • bob ALL=(root) NOPASSWD:/usr/bin/mkdir,/usr/bin/cat

VDO

制作VDO卷

RAID磁盘阵列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Resilience4j原理及应用:构建高可用系统(二)

本系列文章简介: 在本系列文章中,我们将深入探讨Resilience4j的原理及应用,包括熔断器、限流器和容错策略的工作原理、配置方法以及最佳实践。通过学习和掌握Resilience4j的使用技巧,我们将能够更好地构建高可用性系统&#xff0c…

【原创】5分钟拿下Floyd算法

文章目录 问题描述算法流程5分钟拿下 问题描述 一天小明捧着一本世界地图在看,突然小明拿起笔,将他最爱的那些城市标记出来,并且随机的将这些城市中的某些用线段两两连接起来。 小明量出了每条线段的长度,现在小明想知道在这些线段…

单片机-- 数电(3)

编码器与译码器 译码 :将二进制代码转化为其他进制的代码 编码 :就是将其他代码转换为二进制码 编码器的类型 1二进制编码器 用n位二进制数码对2的n次方个输入信号进行编码的电路 2二-十进制编码器 将0到9十个十进制数转化为二进制代码的电路 2…

crossover虚拟机 crossover软件干嘛的 虚拟机软件的使用方法 mac虚拟机装windows

与传统的虚拟机软件(如VMware、VirtualBox)相比,CrossOver具有更高的运行效率和更好的用户体验。因为它并不创建一个完整的Windows虚拟机,而是仅模拟应用程序所需的运行环境。这使得CrossOver在启动和运行Windows应用程序时更加快…

手撕HashMap底层源码(学习内容全)

day28上 集合框架 标绿已经学习底层&#xff0c;深入底层主要是研究实现类底层 手撕HashMap底层源码 JDK1.7版本的HashMap为例&#xff08;注意实验代码时进行版本切换&#xff09; 代码注释参考理解 //day27初识 public class HashMap<K,V> extends AbstractMap<K,…

洛谷 P1246编码

编码 题目描述 编码工作常被运用于密文或压缩传输。这里我们用一种最简单的编码方式进行编码&#xff1a;把一些有规律的单词编成数字。 字母表中共有 26 26 26 个字母 a , b , c , ⋯ , z \mathtt{a,b,c,\cdots,z} a,b,c,⋯,z&#xff0c;这些特殊的单词长度不超过 6 6 …

SpringBoot3整合Mybatis-Plus与PageHelper包冲突解决

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; SpringBoot3整合Mybatis-Plus与PageHelper包冲突解决 ⏱️ 创作时间&a…

Elasticsearch - Docker安装Elasticsearch8.12.2

前言 最近在学习 ES&#xff0c;所以需要在服务器上装一个单节点的 ES 服务器环境&#xff1a;centos 7.9 安装 下载镜像 目前最新版本是 8.12.2 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2创建配置 新增配置文件 elasticsearch.yml http.host…

大模型时代,微软AI投资的布局

这些领域涉及 3D、代码、销售、游戏等多个行业。其中&#xff1a; 在 3D 领域&#xff0c;blackshark.ai 利用 AI 技术提供地理空间数据解决方案&#xff1b;humane 专注于人机交互技术创新&#xff1b;Builder.ai 提供了无需编程知识的应用构建平台。代码方面&#xff0c;GitH…

C++ 编程入门指南:深入了解 C++ 语言及其应用领域

C 简介 什么是 C&#xff1f; C 是一种跨平台的编程语言&#xff0c;可用于创建高性能应用程序。 C 是由 Bjarne Stroustrup 开发的&#xff0c;作为 C 语言的扩展。 C 为程序员提供了对系统资源和内存的高级控制。 该语言在 2011 年、2014 年、2017 年和 2020 年进行了 4…

Allegro许可有效期

在数字化经济的时代&#xff0c;软件已经成为企业运营的关键要素。然而&#xff0c;如何确保软件许可的有效性&#xff0c;避免因过期使用带来的风险&#xff0c;是企业面临的挑战。Allegro作为业界领先的软件解决方案提供商&#xff0c;为企业提供了一站式的许可有效期管理方案…

Java基础学习笔记三

环境变量CLASSPATH classpath环境变量是隶属于java语言的&#xff0c;不是windows操作系统的&#xff0c;和PATH环境变量完全不同classpath环境变量是给classloader&#xff08;类加载器&#xff09;指路的java A 。执行后&#xff0c;先启动JVM&#xff0c; JVM启动classload…

GIS学习

匹配查询&#xff0c;先连接两个表&#xff0c;然后在一个表里面查询 合并两个形状 比较好的colormap http://soliton.vm.bytemark.co.uk/pub/cpt-city/views/totp-cpt.html https://docs.gmt-china.org/latest/cpt/builtin-cpt/ 计算坡度时就要捕捉栅格 重分类时也要捕捉栅…

数据结构:10、排序

本文将会介绍8种排序&#xff0c;并在文章末附上代码 一、排序的概念 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;…

[蓝桥杯 2019 省 A] 外卖店优先级

模拟 双指针 #include<iostream> #include<algorithm> using namespace std; using ll long long; #define int long long const int N 1e510; const int inf 0x3f3f3f3f; const int mod 1e97;int n,m,ts;bool vis[N]; int a[N]; int last[N]; pair<int,int…

外卖项目:菜品管理功能代码实现(debug)

文章目录 一、菜品管理功能代码实现1、新增菜品2、菜品分页查询3、修改菜品4、菜品的起售与停售5、删除菜品 一、菜品管理功能代码实现 1、新增菜品 这涉及到多张表&#xff0c;要用事务 添加成功 2、菜品分页查询 3、修改菜品 该页面共涉及4个接口。 接口&#xff1a; 根…

fastutil 代替java 集合框架

背景 java的集合框架中ArrayList&#xff0c;Map&#xff0c;Set等是我们平时最常用的集合类&#xff0c;但是由于这些集合类涉及拆装箱操作&#xff0c;所以内存的消耗比较大&#xff0c;并且性能也不是非常理想&#xff0c;在应付大量的数据时&#xff0c;容易导致gc以及性能…

protobuf原理解析-基于protobuf-c实现序列化,反向序列化

1.一个实例 前面介绍了使用protobuf的流程&#xff0e; (1). 定义proto文件来描述需要序列化和反向序列化传输的消息&#xff0e; (2). 借助proto-c&#xff0c;为proto文件生成对应的代码控制文件&#xff0e; (3). 程序借助生成的代码控制文件和protobuf-c动态库的支持实现类…

如何写出干净的 Git Commit

大家好&#xff0c;我是楷鹏。 写一份干净的 Git Commit&#xff0c;不仅赏心悦目&#xff0c;也有诸多好处&#xff0c;比如 为项目或者仓库生成 change log方便在其他一些 Git 工具使用&#xff0c;比如 CI/CD、代码协作和审计平台、发版工具等 这是 AngularJS 仓库的 Git …

身份证文字识别ocr免费-身份证实名认证接口-护照识别-Java调用代码

文字识别技术是针对图片上的文字进行提取&#xff0c;免去人们手动输入的繁琐。针对证件&#xff0c;翔云提供了身份证识别接口、身份证实名认证接口、护照识别接口&#xff0c;身份证识别接口自动提取身份证信息、身份证实名认证接口实时联网查验身份证的真伪。 以身份证识别…