打算给系统装一个oracle,发现磁盘空间不足。在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区。为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这样做。

参于LVM基本介绍与常用命令请参考:http://www.cnblogs.com/jackruicao/p/6258812.html


LVM结构图

扩容之前的磁盘状况

[root@localhost ~]# df -h

文件系统             容量 已用 可用已用%%挂载点

/dev/mapper/VolGroup-lv_root 5.3G  2.5G  2.6G  50% /

tmpfs                 538M     0  538M   0% /dev/shm

/dev/sda1             485M   30M  430M   7% /boot

[root@localhost ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes

...............

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        1045     7875584   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 5779 MB, 5779750912 bytes

........

Disk /dev/mapper/VolGroup-lv_swap: 2281 MB, 2281701376 bytes

.........

此次扩容的方案为:

1、加1个5G的空间给/

2、加1个10G的空间给/oracle

(一)   VM中加一个15G的磁盘

重启后#fdisk –l可以看到新的磁盘已经认出来了。

Disk /dev/sdb: 16.1 GB, 16106127360 bytes

............................

Disk /dev/sdb doesn't contain a valid partition table

(二)创建物理卷(PV)

#pvcreate /dev/sdb

查看系统PV的情况:

[root@localhost ~]# pvdisplay

--- Physical volume ---

PV Name               /dev/sda2  //原有硬盘上的PV

VG Name               VolGroup

PV Size               7.51 GiB / not usable 3.00 MiB

Allocatable           yes (but full)

PE Size               4.00 MiB

Total PE              1922

Free PE               0

Allocated PE          1922

PV UUID               SGH1dY-4tp2-Nr1a-w93Z-V4LA-pQBh-VGzzTH

"/dev/sdb" is a new physical volume of "15.00 GiB"

--- NEW Physical volume ---

PV Name               /dev/sdb

VG Name                //新建的PV的VG name是空的,下一步就是把PV加入VG

PV Size               15.00 GiB

Allocatable           NO

PE Size               0

Total PE              0

Free PE               0

Allocated PE          0

PV UUID               8TZUlz-YyUp-RBvf-lSzm-7MgG-DSZS-qNqX1Z

查看原VG的情况

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name               VolGroup //注意记录此名字,扩容时将新的pv加入指定的名字

System ID

Format                lvm2

Metadata Areas        1

Metadata Sequence No  3

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                2

Open LV               2

Max PV                0

Cur PV                1

Act PV                1

VG Size               7.51 GiB

PE Size               4.00 MiB

Total PE              1922

AllocPE / Size       1922 / 7.51 GiB

Free  PE / Size       0 / 0

VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

(三)#扩展卷组,/dev/sdb物理卷添加到VolGroup卷组中

[root@localhost ~]# vgextend VolGroup /dev/sdb

Volume group "VolGroup" successfully extended

再查看VG情况,可以看到VG大小变化,空余空间。

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name               VolGroup

System ID

Format                lvm2

Metadata Areas        2

Metadata Sequence No  4

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                2

Open LV               2

Max PV                0

Cur PV                2

Act PV                2

VG Size               22.50 GiB

PE Size               4.00 MiB

Total PE              5761

AllocPE / Size       1922 / 7.51 GiB

Free  PE / Size       3839 / 15.00 GiB

VG UUID               FnUsmX-s284-GeRK-hJNJ-BbIG-Vpe7-OuFZE1

(四)将新的VG空间划入LV(扩容lv_root

#直接扩展5G给/root分区,不用umount,也不需要重启

# lvextend -L +5G  /dev/mapper/VolGroup-lv_root

Extending logical volume lv_root to 10.38 GiB

Logical volume lv_root successfully resized

也可以使用命令

# lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root

此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.

#检查/root逻辑卷

#e2fsck -f /dev/mapper/VolGroup-lv_root

#重新定义分区大小

#resize2fs /dev/mapper/VolGroup-lv_root

 

查看/目录大小


可以看到/目录已经从原来的5.3G扩容到了11G。

##########################################################################################################

笔者在执行以下

#e2fsck -f /dev/mapper/VolGroup-lv_root时候报错

网络找资料是说 修复/目录需要进入单用户模式,详细情况见 本博客《CentOS 7 单用户模式+救援模式》但是问题未解决

跳过修复步骤继续执行

最后找到原因CentOS 7下xfs同步需要这条命令:

xfs_growfs /dev/mapper/centos-root

##########################################################################################################

(五)LV卷空间分配(新增lv_oracle

在VG中还有新增的10G没有用,可以将VG中的空余空间划分为LV,并将新的LV挂载在目录下。

# vgs

VG       #PV #LV #SN Attr   VSize  VFree

VolGroup   2   2   0 wz--n- 22.50g10.00g

//可以通过#vgs命令查看vg信息统计,可以看到VFree还有10G。

将VG空余的空间化分为LV

#lvcreate -L 10G -n lv_oracle VolGroup


图四

//少了一点点空间…

//可以用-l 分,它是按pv块数来分的。一个pv默认是4M,可是从vgdisplay中去查vg中还剩多少pv以及总数是多少。


图五

//查到剩余2559个PE,于是执行

# lvcreate -l 2559 -n lv_oracle VolGroup

Logical volume "lv_oracle" created

提示创建成功后,用vgs和lvs命令分别查看。

图六

 

(五)挂载LV到目录下

接下来就是要把lv_oracle挂到/oracle,目录下

#cd /
#mkdir oracle
#chmod 777 /oracle

创建/oracle目录并修改权限

# vi /etc/fstab

可以看到目前挂载分区的情况

图七

//我们可以参照/的分区把oracle的加上去。加入这行:

/dev/mapper/VolGroup-lv_oracle      /oracle    ext4 defaults  0 0

 然后把lv_oracle格式化成ext4

#mkfs.ext4 /dev/mapper/VolGroup-lv_oracle

图八

将lv_oracle  mount到目录/oracle上

# mount /dev/mapper/VolGroup-lv_oracle /oracle之后查看一下分区情况


图九

可以重启系统检查一下是否正常。


图十

#df –h

转自----------------https://www.cnblogs.com/jackruicao/p/6258820.html

CentOS 下lvm 磁盘扩容的更多相关文章

  1. linux下 lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...

  2. 【转载】CentOS LVM磁盘扩容

    转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...

  3. centos下LVM配置与管理

    centos下LVM配置与管理 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层, ...

  4. VMware CentOS LVM磁盘扩容

    一. 在虚拟机上增加磁盘空间 如下图. 增加完后会有提示 "磁盘已成功扩展.您必须从客户机操作系统内部对磁盘重新进行分区和扩展文件系统.是继续完成以下步骤才算成功. 二.调整虚拟机磁盘LVM ...

  5. Linux下lvm在线扩容步骤

    转 :https://jingyan.baidu.com/article/25648fc18f22b29191fd0011.html 图片看不清可以看原文 LVM是逻辑盘卷管理(Logical Vol ...

  6. 03.LinuxCentOS系统root目录LVM磁盘扩容

    根目录LVM扩容操作步骤: [root@centos7 ~]# df -lh文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/centos-root 50G 7.7G 43G 6% / ...

  7. lvm 磁盘扩容

    LVM磁盘管理 一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘 ...

  8. lvm磁盘扩容

    LVM实现新挂载磁盘扩容到原有目录 #查看磁盘 fdisk -l #创建pv pvcreate /dev/sdb [root@VM-67-49 ~]# pvcreate /dev/sdb Physic ...

  9. 微服务架构 ------ 插曲 linux LVM磁盘扩容

    1.LVM的基本概念 物理卷(PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件,物理卷包括一个特殊的header,其余部分被切割成一块块物理区域. 卷组(VG):将一组物 ...

随机推荐

  1. 编写优秀Bug报告的艺术及案例分析

    编写优秀Bug报告的艺术及案例分析 ---Rex Black原著<Fine art of writing a good bug report > ---Kiki翻译于2005/5/28 前 ...

  2. python 生成器 的send

    >>> def f(): c=yield 5 print c d=yield c+5 print d >>> b=f() >>> b.send(N ...

  3. mongodb学习-练习实例

    C:\Users\issuser>mongoMongoDB shell version: 2.4.6connecting to: test> db.user.find(){ "_ ...

  4. Java,AWTUtilities,eclipse报编译错误:Access restriction: The type 'AWTUtilities' is not API (restriction on required library 'C:\Program Files\Java\jre7\lib\rt.jar')

    [场景]调用com.sun.awt.AWTUtilities时,eclipse提示编译错误: Access restriction: The type 'AWTUtilities' is not AP ...

  5. 笔记本移动位置,切换网络ip后,虚拟机的mac系统无法联网解决

    1.手动配置新的ip

  6. ACM__容器之vector

    今天做题碰到了深搜的题,有一种存图方式需要用到vector,对vector不是很熟悉,回顾了一下 vector都知道是一个容器,但并不准确,它是一个多功能的能够操作多种数据结构和算法的模板类和函数库. ...

  7. shell编程:基本语法

    要掌握一门语言,就要先掌握它的语法.如同C语言一般,shell也有自己的语法. 变量 按照惯例,Shell变量通常由字母加下划线开头,由任意长度的字母.数字.下划线组成.有两种类型的Shell变量: ...

  8. a stop job is running for Security Auditing Services

    内核是3.10.0-514.el7,启动时有如下报错: a stop job is running for Security Auditing Services(56s / 1min 30s) 系统启 ...

  9. dependencies与dependencyManagement的区别

    1.DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建.文档.报告.依赖.scms.发布.分发的方法.可以方便的编译代码.进行 ...

  10. python常用字符串处理(转)

    转自https://www.cnblogs.com/houht/p/3308634.html 判断字符串str是否为空 Approach 1:如果字符串长度为0,说明字符串为空,code如下: isN ...