引出

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

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

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

引用一个图:

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

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

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

  1. 安装到需要划分磁盘这步时,选择自定义(专家模式划分)。



  2. 由于系统启动目录不能有LVM来管理,这里将磁盘划分成两部分,一部分给/boot目录,选择ext3格式;剩余的空间文件系统ID设置为LVM。



    最后的划分后如下图:

  3. 增加卷组

  4. 增加文件系统/和/home,还有swap。

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

三、系统文件系统的管理

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

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

  • 查看文件系统使用情况

    查看fstab情况:



    查看VG情况,图中红框就是VG剩余容量:

  • 扩充/文件系统

    查看LV情况:





    扩充2G到/文件系统:

    命令:

    1. linux:~ # lvextend -L +2G /dev/local/root
    2. Extending logical volume root to 7.00 GB
    3. Logical volume root successfully resized
    4. linux:~ # resize2fs /dev/local/root
    5. resize2fs 1.41.9 (22-Aug-2009)
    6. Filesystem at /dev/local/root is mounted on /; on-line resizing required
    7. old desc_blocks = 1, new_desc_blocks = 1
    8. Performing an on-line resize of /dev/local/root to 1835008 (4k) blocks.
    9. The filesystem on /dev/local/root is now 1835008 blocks long.
    10. linux:~ #

查看扩充后大小:





扩充/home也是如此简单,只要使用如下命令即可:

``` shell

lvextend -L +1G /dev/local/home

resize2fs /dev/local/home

  1. lvextend -L +1G /dev/local/swap
  2. resize2fs /dev/local/swap
  3. ```

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配置文件的方式)。图中红框内为新增磁盘:

  2. 创建分区

    1. linux:~ # fdisk /dev/sdb
    2. ...
    3. Command (m for help): n # 输入n进行新建
    4. Command action
    5. e extended
    6. p primary partition (1-4)
    7. e # 输入e选择新建扩展分区
    8. Partition number (1-4): 1 # 输入要建立分区的个数,这里选择只建立一个
    9. First cylinder (1-2610, default 1):
    10. Using default value 1 # 输入分区开始位置,选择默认,回车
    11. Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): # 输入分区结束位置,选择默认,回车
    12. Using default value 2610
    13. Command (m for help): t # 输入t修改分区格式
    14. Partition number (1-8): 1 # 选择需要修改的分区
    15. Hex code (type L to list codes): 8e # 输入格式8e,即LVM管理
    16. Changed system type of partition 1 to 8e (Linux LVM)
    17. Command (m for help): w # 输入w保存退出
    18. The partition table has been altered!
    19. Calling ioctl() to re-read partition table.
    20. Syncing disks.
  3. 创建PV

    1. linux:~ # pvcreate /dev/sdb1 # 输入命令
    2. No physical volume label read from /dev/sdb1
    3. Found duplicate PV lBQnQ7fULctTErXBCxMFeAJbIX00M2F6: using /dev/sdb not /dev/sdb1
    4. Physical volume "/dev/sdb1" successfully created
    5. linux:~ #
  4. 扩充VG

    先使用vgdisplay查看已存在vg;

    1. linux:~ # vgextend local /dev/sdb1 # 输入命令进行扩充
    2. Found duplicate PV lBQnQ7fULctTErXBCxMFeAJbIX00M2F6: using /dev/sdb1 not /dev/sdb
    3. Volume group "local" successfully extended
    4. linux:~ #

使用vgdisplay命令可以查看扩容后的大小。

  1. 扩充文件系统

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

总结

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

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

  1. SUSE Linux源代码编译安装MySQL 5.6

    这篇文章主要介绍了SUSE Linux下源代码编译方式安装MySQL 5.6过程分享,本文使用SUSE Linux Enterprise Server 10 SP3 (x86_64)系统,须要的朋友能 ...

  2. Linux之【安装系统后的调优和安全设置】

    关闭SElinux功能 •修改配置文件使其永远生效 第一种修改方法vi vi /etc/sysconfig/selinuc 或者 vi /etc/selinux/config修改: SELINUX=d ...

  3. SuSE Linux Supervisor的安装与使用案例

      建议使用 root 管理员账户操作 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是服务器一开机就启动服务器 ...

  4. SUSE linux使用zypper 安装软件-比yum更好用

    1. How to install "wget" command in Linux and how to use multiple : https://www.cyberciti. ...

  5. linux(centos)下安装supervisor进程管理工具

    在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...

  6. linux CentOS6.5 安装SVN & 可视化管理工具iF.SVNAdmin

    转:http://tanghenxin.lofter.com/post/1cc667b3_5ac50dc 实际系统环境: CentOS 6.5 x64 一.安装Apache 通常系统都已经装好了,但我 ...

  7. Suse linux enterprise 11安装时更改磁盘模式为gpt的方法

    在进行鸟哥linux基础篇学习时,在"第3.2.2 选择安装模式与开机 -inst.gpt"中,鸟哥用到的CentOS 7需要用指令修改磁盘模式为gpt. 先用键盘选择Instal ...

  8. [ 总结 ] Linux kickstart 无人值守安装系统构建过程

    环境:Vmare + Linux虚拟机 注意:网卡桥接

  9. Linux下SVN安装与权限管理

    cat /etc/redhat-release //查看系统版本号 CentOS release 7.1 (Final) 这里我们採用yum源安装方式: 1.安装svn yum install sub ...

随机推荐

  1. Jenkins权限配置失误后导致登录失败的解决办法

    为了便于管理,Jenkins一般需要设置用户,而且这些用户是需要配置相应的权限的,如果一不小心配置的时候出了问题,那么,你就斯巴达了. 这里,用我的切身经历,为大家说一下Jenkins因为权限配置失误 ...

  2. Android EclipseIDE技巧

    一.Eclipse配置使用 1.显示行号(Winodw-->Preferences-->General-->Editors-->Text Editors-->勾上右侧的S ...

  3. ICMP(网际控制报文协议)

    为了更有效的提高ip数据报的成功转发和交付的效率,在网际层使用了icmp网际控制报文协议,这个协议允许主机和路由器提供差错和异常情况的报告,icmp不是高层协议,而是网际层的协议,加在ip数据报中一起 ...

  4. C#推送RTMP到SRS通过VLC进行取流播放!!

    前面一篇文章简单的介绍了下如何利用SRS自带的播放地址进行观看RTMP直播流,也就是说是使用SRS的内置demo进行Test,但是进行视频直播肯定不可能使用那样的去开发,不开源的东西肯定不好用.由于在 ...

  5. dev控件chart简单实现多图例,双曲线,双柱图,曲线与柱图

    1.效果图 2.数据源代码: ; i < ; i++) { == ) { dt1.Rows.Add( * i); dt2.Rows.Add( * i+); } else { dt1.Rows.A ...

  6. Android Studio JNI开发入门教程

    Android Studio JNI开发入门教程 2016-08-29 14:38 3269人阅读 评论(0) 收藏 举报  分类: JNI(3)    目录(?)[+]   概述 在Andorid ...

  7. JavaScript定时器及相关面试题

    在单线程JavaScript这篇文章中,在介绍JavaScript单线程的同时,也介绍了setTimeout是如何工作的.但是对于定时器的一些内容,并没有做深入的讨论.这篇文章,会详细说说JS的两种定 ...

  8. iOS 图片裁剪方法

    iOS 图片裁剪方法 通过 CGImage 或 CIImage 裁剪 UIImage有cgImage和ciImage属性,分别可以获得CGImage和CIImage对象.CGImage和CIImage ...

  9. 第36篇 Asp.Net源码解析(一)

    上面两篇文章说了http协议和IIS处理,这次说下当IIS把请求交给Asp.net后的过程. AppManagerAppDomainFactory 当IIS把请求交给asp.net时候,如果AppDo ...

  10. UVa 1588 换抵挡装置

    前言 题目 大意是说,两个槽能够插在一起,并保证每一列的高度不高于3,保证最短长度. 思路 思路很简单,取短字符串遍历长字符串的每一个位置,纪录下位置,并取最短即可. 实现 //习题3-11 换抵挡装 ...