SUSE linux 使用LVM安装系统和管理

2023-10-26

引出

在我们安装好linux系统后会发现在需要修改磁盘分区的时候会比较困难,系统安装的/目录的文件系统要更改基本不太可能,其他目录如/home目录也比较困难。但是系统安装时要是采用的LVM管理的方式安装的话就会截然不通。

一、首先普及下LVM的基础知识

LVM(Logical Volume Manager)逻辑卷管理,简单的说它可以将多个物理硬盘组合成一个VG然后给不同的文件系统(如:/home,/opt等)使用。
引用一个图:
image

这里分享一篇比较全面介绍的文章,Linx卷管理详解

二、linux系统采用LVM的方式安装

下面针对使用LVM安装操作系统做一个详细讲解,这里使用suse系统演示,为了方便演示文件系统也只分化/和/home。

  1. 安装到需要划分磁盘这步时,选择自定义(专家模式划分)。
    738557-20160527113333256-2060430404.jpg
    738557-20160527113404366-1214336181.jpg

  2. 由于系统启动目录不能有LVM来管理,这里将磁盘划分成两部分,一部分给/boot目录,选择ext3格式;剩余的空间文件系统ID设置为LVM。
    738557-20160527113752428-1340248469.jpg
    最后的划分后如下图:
    738557-20160527113841741-265864397.jpg

  3. 增加卷组
    738557-20160527114016319-1486804971.png

  4. 增加文件系统/和/home,还有swap。
    738557-20160527114421663-1977185211.jpg

  5. 完成磁盘划分后完成系统的安装。

三、系统文件系统的管理

系统安装VG(Volume Group)卷组有剩余空间

在我们日常使用系统的时候肯定会碰到文件系统不够用的情况,而我们之前安装系统的时候卷组还有剩余的空间,这是我们就可以利用剩余的空间对文件系统进行扩充。

  • 查看文件系统使用情况
    查看fstab情况:
    738557-20160527120103163-1075338066.jpg
    查看VG情况,图中红框就是VG剩余容量:
    738557-20160527120226256-784561136.png

  • 扩充/文件系统
    查看LV情况:
    738557-20160527120420100-150952906.png
    738557-20160527121109741-171646746.jpg
    扩充2G到/文件系统:
    命令:
    ``` shell
    linux:~ # lvextend -L +2G /dev/local/root
    Extending logical volume root to 7.00 GB
    Logical volume root successfully resized
    linux:~ # resize2fs /dev/local/root
    resize2fs 1.41.9 (22-Aug-2009)
    Filesystem at /dev/local/root is mounted on /; on-line resizing required
    old desc_blocks = 1, new_desc_blocks = 1
    Performing an on-line resize of /dev/local/root to 1835008 (4k) blocks.
    The filesystem on /dev/local/root is now 1835008 blocks long.

    linux:~ #
    **查看扩充后大小:** ![](http://images2015.cnblogs.com/blog/738557/201605/738557-20160527121051225-752780477.png) ![](http://images2015.cnblogs.com/blog/738557/201605/738557-20160527121058663-154295893.jpg) 扩充/home也是如此简单,只要使用如下命令即可: shell
    lvextend -L +1G /dev/local/home
    resize2fs /dev/local/home

    lvextend -L +1G /dev/local/swap
    resize2fs /dev/local/swap
    swap的操作略有不同,使用如下命令: shell
    swapoff -v /dev/local/swap # 关闭swap
    lvextend -L +1G /dev/local/swap # 扩大1G
    mkswap /dev/local/swap # 重新建立交换分区
    swapon -va # 再打开swap
    ```

    卷组无剩余空间,需要新增物理磁盘
    然而很多时候我们会碰到的场景是我们安装系统盘的容量已经用完,需要我们新增物理硬盘再进行扩充。
  1. 完成物理磁盘增加后,可以采取重启的方式识别硬盘(如果有业务在运行不能重启我们可以采用增加磁盘信息到/proc/scsi/scsi配置文件的方式)。图中红框内为新增磁盘:
    738557-20160527122711553-1548328901.png

  2. 创建分区
    ``` shell
    linux:~ # fdisk /dev/sdb
    ...
    Command (m for help): n # 输入n进行新建
    Command action
    e extended
    p primary partition (1-4)
    e # 输入e选择新建扩展分区
    Partition number (1-4): 1 # 输入要建立分区的个数,这里选择只建立一个
    First cylinder (1-2610, default 1):
    Using default value 1 # 输入分区开始位置,选择默认,回车
    Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): # 输入分区结束位置,选择默认,回车
    Using default value 2610

    Command (m for help): t # 输入t修改分区格式
    Partition number (1-8): 1 # 选择需要修改的分区
    Hex code (type L to list codes): 8e # 输入格式8e,即LVM管理
    Changed system type of partition 1 to 8e (Linux LVM)

    Command (m for help): w # 输入w保存退出
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.
    ```
  3. 创建PV
    shell linux:~ # pvcreate /dev/sdb1 # 输入命令 No physical volume label read from /dev/sdb1 Found duplicate PV lBQnQ7fULctTErXBCxMFeAJbIX00M2F6: using /dev/sdb not /dev/sdb1 Physical volume "/dev/sdb1" successfully created linux:~ #
  4. 扩充VG
    先使用vgdisplay查看已存在vg;
    shell linux:~ # vgextend local /dev/sdb1 # 输入命令进行扩充 Found duplicate PV lBQnQ7fULctTErXBCxMFeAJbIX00M2F6: using /dev/sdb1 not /dev/sdb Volume group "local" successfully extended linux:~ #
    使用vgdisplay命令可以查看扩容后的大小。

  5. 扩充文件系统
    扩充文件系统就跟上一节介绍的一样的操作,这里就不再赘述了。

总结

从上面的操作就可以看出种种使用LVM安装系统的好处了,可以动态的更改包括根目录在内的所有文件系统。但使用lvm分区的话因为增加了一层管理,应该是会一定影响,所以我们可以采取折中的办法,就是/boot和/文件系统可以使用普通逻辑分区,而且其余文件系统使用LVM分区管理,以方便后期动态管理。

转载于:https://www.cnblogs.com/liuchengcc/p/5533788.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SUSE linux 使用LVM安装系统和管理 的相关文章

  • 如何在 bash 脚本中使用“history-c”命令? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 众所周知 history 命令显示Linux服务器的命令行历史记录 history c 是清除 删除此命令行历史记录的命令 我必须通过 b
  • 为什么 php 脚本速度变慢?

    我正在编写迁移脚本 该脚本从一个 MySQL 数据库中选择数据并通过原则导入到另一个 MySQL 数据库中 问题是 在创建每个实体块之后 我的脚本速度就会变慢 导入前 100 篇文章大约需要 5 秒 接下来的 100 篇文章需要 7 秒 接
  • 如何仅在驱动器 C:\ 上向 Shell 菜单添加条目?

    我需要向 Windows 中的资源管理器外壳添加一个上下文菜单项 通过添加一些注册表条目 这很容易做到 HKEY CLASSES ROOT Drive shell Disk cleanup command cleanmgr exe 但我喜欢
  • '\r':找不到命令[重复]

    这个问题在这里已经有答案了 echo Select your option echo 1 Change ip address echo 2 Add route echo 3 Reboot echo 4 Exit read A case A
  • 在 shell 脚本中指示 git pull 的密码,无需 ssh?

    我写了一个shell脚本来进行项目发布Git 在shell脚本中我首先cd到 Git 工作副本 然后执行git pull origin master 但它提示我输入密码 git localhost s password 这很烦人 我想知道是
  • 将 git 的分支名称附加到命令提示符

    我想使用 Git completion bash 功能之一 但我无法自定义我想要的外观 这是我的 bash profile 的相关部分 source git completion bash function prompt local WHI
  • 对行的最后一个字段进行排序

    对行列表进行排序 对每行的最后一个字段进行排序 的最简单方法是什么 每行可以有可变数量的字段 就像是 sort k 1 是我想要的 但 sort 1 不采用负数来从末尾而不是从开头选择字段 我还希望能够选择字段分隔符 编辑 要为问题添加一些
  • 更改文件名后缀(使用 sed ?)

    我想改变文件名后缀来自文件 使用 bash 脚本 但有时有些文件带有一个句点 有些文件带有两个句点 现在我用这个 new file echo file sed s log suf 1 num 其中 new file 是新文件名 file 是
  • 在一致的环境中执行Java程序

    在我工作的地方 我们有一个 shell 脚本 它允许我们使用所有必要的库和设置执行任意 Java 类 例如 bin sh JAVA HOME bin java cp LONG LIST OF JARS Xmx6g XX MaxPermSiz
  • 如何在Groovy中执行shell命令并获取返回码$?

    我无法从 Groovy 中执行 shell 脚本获得返回代码 不是输出或错误 对于我尝试过的所有方法 它要么要求我转义 要么只是打印 而不是给我 1 或 0 groovy 75 美元符号后的字符串主体字符非法 解决方案 要么转义文字美元符号
  • 如何将文件的内容与列最后一个数字的增量连接起来

    我有一个包含一些内容的文件 需要重复第 n 次并添加最后一列号的增量 Input content of a file TCTA 7 ccta TCTA 1 TCTA 8 ccta TCTA 1 TCTA 9 ccta TCTA 1 TCTA
  • Expect 脚本中 sudo 的问题

    我正在运行以下脚本 usr bin expect f set user lindex argv 0 set pass lindex argv 1 set PATH lindex argv 2 set INV PATH lindex argv
  • 如何在 sed 命令中使用变量

    我有一个名为 text file1 txt 的文件 文件中的内容是 主题 C US O AAA OU QA OU 12345 OU TESTAPP 现在我想要实现的是如下内容 主题 C US O AAA QA 12345 TESTAPP 当
  • 如何在 Jenkins Build Execute Shell 中运行 docker 命令

    我是詹金斯的新手 我一直在四处寻找 但找不到我要找的东西 我想知道如何在 Jenkins 中运行 docker 命令 构建 执行 Shell 例子 docker run hello world 我在 Jenkins 配置系统中将 Docke
  • Sass - 安装错误[重复]

    这个问题在这里已经有答案了 我最近安装了 Ruby gem Sass 并且经常将它用于我正在开发的应用程序 今天我像平常一样去运行 sass watch scss css 并注意到我收到以下错误 bash sass command not
  • 如何在PowerShell中从外部命令输出获取原始二进制数据?

    我在这里读到 当您在 powershell 中运行外部命令时 它们的输出始终被解释为字符串或字符串数 组 https stackoverflow com a 35980675 983442 https stackoverflow com a
  • 如何在 shell 函数中获得“set -e”的效果和用处?

    set e 或以 bin sh e 对于出现问题时自动轰炸非常有用 它使我不必对每个可能失败的命令进行错误检查 如何在函数内获得与此等效的内容 例如 我有以下脚本 该脚本在出现错误时立即退出 并显示错误退出状态 bin sh e echo
  • 作为后台进程/服务运行命令

    我有一个 Shell 命令 我想在后台运行 并且我读到这可以通过添加后缀来完成 到导致它作为后台进程运行的命令 但我需要一些更多的功能 并且想知道如何去做 我希望每次系统重新启动时该命令都在后台启动并运行 我希望能够像人们一样在需要时启动和
  • Bash 命令行 Tab 完成冒号字符

    当参数中不包含特殊字符时 我已经使用 compgen 机制成功地为我的自定义命令实现了 bash 补全 current COMP WORDS COMP CWORD all get all items COMPREPLY compgen W
  • 更改grep命令的分隔符

    我在用grep检测 a href xxxx something here a 当链接在输入中分成两行时 这不起作用 我想 grep 检查直到它检测到但现在它只是将输入输入到 grep 中 直到检测到新行为止 所以如果输入是这样的 a hre

随机推荐

  • 异常检测

    异常检测 MATLAB实现Bayes贝叶斯突时间序列变检测 目录 异常检测 MATLAB实现Bayes贝叶斯突时间序列变检测 基本描述 程序设计 参考资料 学习总结 致谢 基本描述 突变分为如下主要的几种 均值突变 最常见 方差突变 线性回
  • Caused by: org.hibernate.StaleStateException: Batch update returned unexpected row count from update

    进行数据库操作时 报错如下 org springframework orm hibernate5 HibernateOptimisticLockingFailureException Batch update returned unexpe
  • 虚函数表、函数地址、虚函数指针问题!

    一 虚函数 1 虚函数的写法 函数前 virtual 关键字 virtual fun cout lt lt lt
  • 代码覆盖率工具OpenCppCoverage在Windows上的使用

    OpenCppCoverage是用在Windows C 上的开源的代码覆盖率工具 源码地址为https github com OpenCppCoverage OpenCppCoverage 最新发布版本为0 9 9 0 License为GP
  • 深度学习基本环境搭建 ubuntu20.04LTS系统安装 nvidia显卡驱动 anaconda安装 cuda指定版本安装 cuda版本升级

    背景 电脑原来是windows 现在装为纯Ubuntu 安装显卡驱动 安装anaconda 安装pytorch 电脑型号 dell的一个工作站 显卡rtx3090 镜像下载 Enterprise Open Source and Linux
  • ElementUI+Vue 解决在使用el-dialog时,点击el-dialog外的其他区域会导致该对话框关闭。

    转载自 https blog csdn net weixin 42230550 article details 95201746 需求描述 今天 在做Element Vue项目时遇到一个需求 甲方要求在Dialog打开状态下 点击该Dial
  • YOLOv4网络详解

    0前言 在YOLOv4论文中 作者其实就是把当年所有的常用技术罗列了一遍 然后做了一堆消融实验 1 YOLOV4的网络改进部分 1 主干特征提取网络 DarkNet53 gt CSPDarkNet53 使用Mish激活函数 2 特征金字塔
  • java---为什么byte+byte=int

    byte也是基本数据类型范围是 128 127 但是做加法时会有这么一个问题 我们清晰的看到 byte byte byte报错了 这是为什么呢 编译器说他需要int类型 这是因为在java中 因为byte数量太小了 从硬件的角度讲 为较小的
  • uni-app使用时遇到的坑

    一 uni app开发规范 1 微信小程序request请求需要https 小程序端 在本地运行时 可以使用http 但是预览或者上传时 使用http无法请求 APP端 一般APP可以使用http访问 高版本的APP可能需要用https访问
  • 浪涌测试如何进行试验配置

    此文只是针对浪涌测试中的试验配置部分内容进行总结 如下表所示 试验对象 开路电压波形 注1 短路电流波形 输出阻抗 电源 线 线 1 2 50us 8 20us 2 18uF 线 地 2 10 9uF 非屏蔽不对称 注2 非差分通讯线 线
  • 和为s的数字

    题目描述 输入一个数组和一个数字s 在数组中查找两个数 使得它们的和正好是s 如果有多对数字的和等于s 输出任意一对即可 你可以认为每组输入中都至少含有一组满足条件的输出 样例 输入 1 2 3 4 sum 7 输出 3 4 分析 首先想到
  • Ubuntu系统安装分区

    一 U盘启动盘制作 1 U盘一个 U盘空间大小足够大 8G够用了 U盘里面的内容提前转存备份 2 UltraISO软碟通启动制作工具或Universal USB Installer 3 Ubuntu官网找到自己需要Ubuntu版本下载ISO
  • blfs:为lfs虚拟机增加桌面03

    编译安装Qt5 15 我比较好奇 当前只安装了twm X org提供的简单的窗口管理器 这个时候Qt的界面是怎么样的一个呈现 Qt5 15安装 required和recommanded必装 optional中涉及到runtime的建议安装
  • 树莓派4B Ubuntu 远程桌面 步骤

    文章目录 准备 更换国内源 更新软件列表和软件 安装SSH 安装ubuntu desktop xrdp方法 VNC方法 问题故障解决 花屏 蓝屏 黑屏 无法修正错误 因为您要求某些软件包保持现状 就是它们破坏了软件包间的依赖关系 参考 准备
  • 时间序列-预测-经典算法:Arimax【带额外输入的自回归综合移动平均】【多元变量预测】【ARIMA模型的一个扩展版本】

    标准的ARIMA 移动平均自回归模型 模型允许只根据预测变量的过去值进行预测 该模型假定一个变量的未来的值线性地取决于其过去的值 以及过去 随机 影响的值 ARIMAX模型是ARIMA模型的一个扩展版本 它还包括其他独立 预测 变量 该模型
  • C开源项目-TinyHttp解读(上)

    项目简介 此项目可以自行在GitHub上进行下载 作者的ReadMe文档也写得是比较详细的 这里用到了较多的Unix编程 不会的可以一点一点去查 实名感谢我们家杰佬发给我的APUE 可以当字典查 项目内容 其实就是实现了一个轻量级服务器的功
  • ubuntu 14.04安装opencv2.4.13

    1 下载opencv2 4 13的 zip包 http opencv org downloads html 2 解压到任意目录 unzip opencv 2 4 13 zip 3 在解压后的目录里创建一个release cd opencv
  • 虚拟机 arm服务器,一种面向ARM多核处理器服务器平台的系统虚拟机

    主权项 1 一种面向ARM多核处理器服务器平台的系统虚拟机 基于KVM实现 采用宿主模型架构 其特征在于 该虚拟机主要包括 1 物理硬件 物理硬件进一步包括物理CPU 物理内存 物理外设 物理硬件是整个系统虚拟机的硬件基础设施 2 宿主OS
  • css样式表的作用和意义,什么是CSS?

    CSS是大家很熟悉的一个词了 但是如果问你 什么是CSS 你能回答得出吗 到底什么是CSS CSS有什么作用 CSS长什么样子 今天我们就给大家一一解答 CSS全称为Cascading Style Sheets 层叠样式表 中文翻译为 层叠
  • SUSE linux 使用LVM安装系统和管理

    引出 在我们安装好linux系统后会发现在需要修改磁盘分区的时候会比较困难 系统安装的 目录的文件系统要更改基本不太可能 其他目录如 home目录也比较困难 但是系统安装时要是采用的LVM管理的方式安装的话就会截然不通 一 首先普及下LVM