1、PV VG LV概念

PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个。通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个分区(卷)组VG(volume group),进而再次进行分配形成逻辑分区(卷)LV(logical volume)。创建成功的逻辑分区对于操作系统来说会想普通分区无异,其好处是可以动态调整分区大小。管理PV,VG,LV的工具称为逻辑卷管理器LVM(logical volume manager)。其关系如下图所示:

2、环境信息

cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

3、查看当前文件系统的空间分配情况

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G  8.9M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root   44G  4.4G   40G   10% /
/dev/sda1               1014M  150M  865M   15% /boot
tmpfs                    379M     0  379M    0% /run/user/0

可以看到挂载点为根目录的文件系统/dev/mapper/centos-root现在一共是44GB的空间,现在我想新加入一块1TB物理磁盘,将新的磁盘全部挂载到这个文件系统中(44GB+1TB)

4、查看当前磁盘空间

[root@localhost ~]# fdisk -l磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b638c设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   104857599    51379200   8e  Linux LVM磁盘 /dev/mapper/centos-root:47.2 GB, 47240445952 字节,92266496 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

目前只有一块物理磁盘sda

4、新增物理磁盘

我使用的是ESXi的虚拟机,现在我给虚拟机新增一块1TB的空磁盘

新增磁盘后返回ssh重新查看磁盘列表信息

[root@localhost ~]# fdisk -l磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b638c设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   104857599    51379200   8e  Linux LVM磁盘 /dev/mapper/centos-root:47.2 GB, 47240445952 字节,92266496 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/mapper/centos-swap:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节磁盘 /dev/sdb:1099.5 GB, 1099511627776 字节,2147483648 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

可以看到此时已经多了一块大小为1099.5 GB名为sdb的新磁盘。

但是现在还无法使用,我们先给它分个区。

5、PV前期准备工作

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xa981a92f 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):m
命令操作a   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitiong   create a new empty GPT partition tableG   create an IRIX (SGI) partition tablel   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-2147483647,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2147483647,默认为 2147483647):
将使用默认值 2147483647
分区 1 已设置为 Linux 类型,大小设为 1024 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。

我只划分了一个分区sdb1,可根据自身需求划分多个分区,但需要提前规划好各分区容量。最后不要忘记输入w来保存信息。

现在我们给新分区指定分区类型

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。

分区类型:很多,一般描述的是磁盘分区的用途,比如要做逻辑卷和swap分区的需要指定特定的分区类型,没有特殊用途,只是普通作为存储数据的,保持默认的分区类型就可以了。

文件系统:描述的是文件在磁盘里的存储方式,权限定义,i节点分配等功能。
一般情况下,Windows默认的文件系统为:NTSF

REDHAT7默认的文件系统为:XFS

REDHAT6默认的文件系统为:ext4 同样不要忘记w保存


6、格式化PV

现在格式化一下我们新建的sdb1分区

[root@localhost ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
67108864 inodes, 268435200 blocks
13421760 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
8192 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

7、使用lvm创建PV

[root@localhost ~]# lvm pvcreate /dev/sdb1
WARNING: ext3 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: yWiping ext3 signature on /dev/sdb1.Physical volume "/dev/sdb1" successfully created.

创建好了之后,查看一下现在的pv列表

[root@localhost ~]# lvm pvdisplay--- Physical volume ---PV Name               /dev/sda2VG Name               centosPV Size               <49.00 GiB / not usable 3.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              12543Free PE               0Allocated PE          12543PV UUID               fQgbcS-biIL-kGQT-MU0L-8cpV-Kmv5-6kZtcc"/dev/sdb1" is a new physical volume of "<1024.00 GiB"--- NEW Physical volume ---PV Name               /dev/sdb1VG Name   PV Size               <1024.00 GiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               G4Jldl-0RGv-HmhP-UUKf-vGbc-S32e-h42UTm

8、将新的PV加入VG

首先我们先来看一下目前的VG列表

[root@localhost ~]# lvm vgdisplay--- Volume group ---VG Name               centosSystem ID   Format                lvm2Metadata Areas        1Metadata Sequence No  3VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                1Act PV                1VG Size               <49.00 GiBPE Size               4.00 MiBTotal PE              12543Alloc PE / Size       12543 / <49.00 GiBFree  PE / Size       0 / 0   VG UUID               Cd3LKc-dtg5-otbP-UHOO-QoAK-wkSs-0XljMj

只有一个名为centos的系统创建的vg。我们直接将新的PV加入其中即可,也可以自己创建新的VG。

[root@localhost ~]# lvm vgextend centos /dev/sdb1Volume group "centos" successfully extended
[root@localhost ~]# lvm vgdisplay--- Volume group ---VG Name               centosSystem ID   Format                lvm2Metadata Areas        2Metadata Sequence No  4VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                2Act PV                2VG Size               <1.05 TiBPE Size               4.00 MiBTotal PE              274686Alloc PE / Size       12543 / <49.00 GiBFree  PE / Size       262143 / <1024.00 GiBVG UUID               Cd3LKc-dtg5-otbP-UHOO-QoAK-wkSs-0XljMj

加入VG后再次查看VG列表,发现VG已经扩大到1个T了。


9、LV扩容

现在我们可以给根目录挂载点的LV扩容了

[root@localhost ~]# lvm lvextend -l +100%FREE /dev/mapper/centos-rootSize of logical volume centos/root changed from <44.00 GiB (11263 extents) to 1.04 TiB (273406 extents).Logical volume centos/root successfully resized.

可以看到LV的大小已经从44GB改变到1.04TB了

这个指令的含义是,将100%的剩余可用空间全部分配给/dev/mapper/centos-root

也可以指定具体的数值

$ lvm lvextend -L +1T /dev/mapper/centos-root

重新调整逻辑分区大小

[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=2883328 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=11533312, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=5631, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 11533312 to 279967744

最后再次查看磁盘空间信息,发现根目录挂载点已经扩容成功了。

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
tmpfs                    1.9G     0  1.9G    0% /dev/shm
tmpfs                    1.9G  8.9M  1.9G    1% /run
tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root  1.1T  4.4G  1.1T    1% /
/dev/sda1               1014M  150M  865M   15% /boot
tmpfs                    379M     0  379M    0% /run/user/0

参考鸣谢

https://www.ihawo.com/archives/234.html

CentOS 7 磁盘空间以及文件系统扩容相关推荐

  1. linux 挂载32T文件系统,linux Centos下磁盘分区及文件系统创建与挂载(示例代码)

    linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...

  2. linux Centos下磁盘分区及文件系统创建与挂载

    linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...

  3. centos 调整home分区xfs_centos 7.4 磁盘空间不足,扩容根分区 --lvm模式

    背景:根分区磁盘空间不足,需要扩容root磁盘空间 1.查看现有磁盘信息,可以看出根分区有26G [root@localhost ~]# df -h 2.查看新增加的磁盘信息(改虚拟机已经添加好了,不 ...

  4. 【全网最全】Ubuntu基本操作——磁盘空间不足与扩容问题集锦

    ​​​​ 目录 1.基本现象 (1)现象1 ​编辑(2)现象2 (3)现象3 2.解决思路与方法 (1)查看文件/目录磁盘使用的空间情况 1)du与df命令 2)通过Ubuntu自带的软件进行查看使用 ...

  5. 增加centos虚拟机磁盘空间

    最近一直在编译.安装一些tf部署相关的软件,发现磁盘空间不够用了,选择增加磁盘空间: 1,关闭VMware中对应的centos虚拟机后,编辑配置选项,拓展磁盘空间: 2,开机进入虚拟机: [root@ ...

  6. PD虚拟机增加CentOS虚拟机磁盘空间

    mac环境下安装了PD虚拟机,近期由于需求需要,扩容了其中一台CentOS7的磁盘空间. 做以下记录: 1.PD虚拟机操作: 2. CentOS7内部操作: 2.1 lsblk -f 查看 2.2 f ...

  7. centos 清理磁盘空间 及 内存占用,docker容器优化清理

    一.磁盘空间 1.使用df -l 命令查看本地文件系统 可以看到大量磁盘空间被docker容器的日志占用 使用docker system df命令,类似于Linux上的df命令,用于查看Docker的 ...

  8. 虚拟机增加磁盘空间后lv扩容详细流程,linux扩容根目录详细流程【openstack和VMware虚拟机方法同理】,centos重装系统lvm后不可用处理流程,2021尾声祝福送上。

    文章目录 致辞 说明 环境准备 扩容流程 扩容根[/]目录 做扇区 增加pv空间 增加vg空间 增加lv空间 扩容后信息一览和说明 新增一块硬盘,把容量加到固定的vg和lv上 做扇区 增加pv空间 创 ...

  9. Linux分区磁盘空间扩展、扩容、合并

    如下,这台服务器的root有50G,已经用完91%了 下面的home有46G,才用33M,里面就放了脚本和日志记录用不了什么空间的,现在把home容量分给root. 如果home目录下有数据记得备份, ...

最新文章

  1. 分布式系统原理 之6 两阶段提交协议
  2. github中删除已建仓库(二)
  3. 模板:莫比乌斯反演(数论)
  4. MySQL数据库如何做好优化
  5. day-16 jquery的DOM文档操作及bootstrap
  6. Python Selenium打开谷歌浏览器
  7. SQL Server 置疑修复
  8. 云计算服务三层架构-IaaS-PaaS-SaaS解析
  9. serv-u and hway3.0
  10. 谷歌浏览器被hao123绑定首页了
  11. 荣耀X30 Max参数配置
  12. 高防IP是如何来防御DDoS攻击的呢?
  13. Visual Studio 2008 无法安装解决办法
  14. OTRS安装使用系列之三——不同的OTRS…
  15. python 最新 毕业设计 选题推荐
  16. 「Matlab」“矩阵对矩阵求导的方法”讲解
  17. java基础编程之查询某一年的二月有多少天(通过Calendar类)
  18. 针对文字图片使用pillow对图片进行操作并判断图片相似度
  19. 自动装箱和自动拆箱——源码分析
  20. 【数值模型环境搭建】Intel编译器安装

热门文章

  1. 彩色荧光ps微球/聚苯乙烯彩色荧光微球/稀土荧光微球
  2. KV存储-Aerospike之功能限制
  3. 汤晓鸥纵论商汤AR:AI驱动发力已超3年,落地多个场景
  4. coos.$script 动态插入脚本并执行的方法
  5. 苹果无线鼠标跟mac电脑配对的问题。
  6. 360 N6 Pro发布现场,周鸿祎为这款1699元的全面屏手机站台
  7. 我和高中同学结婚了,在洞房花烛之夜不敢告诉他,我在客厅看到了什么
  8. Ubantu安装搜狗输入法
  9. Unity 3D游戏发布到Android平台
  10. jquery实现随机点名(点名器)