CentOS 7 磁盘空间以及文件系统扩容
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默认的文件系统为:NTSFREDHAT7默认的文件系统为: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 磁盘空间以及文件系统扩容相关推荐
- linux 挂载32T文件系统,linux Centos下磁盘分区及文件系统创建与挂载(示例代码)
linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...
- linux Centos下磁盘分区及文件系统创建与挂载
linux Centos下磁盘分区及文件系统创建与挂载 MBR(Master Boot Record)是传统的分区机制,应用于绝大多数使用BIOS的PC设备. 1.MBR支持32bit和64bit系统 ...
- centos 调整home分区xfs_centos 7.4 磁盘空间不足,扩容根分区 --lvm模式
背景:根分区磁盘空间不足,需要扩容root磁盘空间 1.查看现有磁盘信息,可以看出根分区有26G [root@localhost ~]# df -h 2.查看新增加的磁盘信息(改虚拟机已经添加好了,不 ...
- 【全网最全】Ubuntu基本操作——磁盘空间不足与扩容问题集锦
目录 1.基本现象 (1)现象1 编辑(2)现象2 (3)现象3 2.解决思路与方法 (1)查看文件/目录磁盘使用的空间情况 1)du与df命令 2)通过Ubuntu自带的软件进行查看使用 ...
- 增加centos虚拟机磁盘空间
最近一直在编译.安装一些tf部署相关的软件,发现磁盘空间不够用了,选择增加磁盘空间: 1,关闭VMware中对应的centos虚拟机后,编辑配置选项,拓展磁盘空间: 2,开机进入虚拟机: [root@ ...
- PD虚拟机增加CentOS虚拟机磁盘空间
mac环境下安装了PD虚拟机,近期由于需求需要,扩容了其中一台CentOS7的磁盘空间. 做以下记录: 1.PD虚拟机操作: 2. CentOS7内部操作: 2.1 lsblk -f 查看 2.2 f ...
- centos 清理磁盘空间 及 内存占用,docker容器优化清理
一.磁盘空间 1.使用df -l 命令查看本地文件系统 可以看到大量磁盘空间被docker容器的日志占用 使用docker system df命令,类似于Linux上的df命令,用于查看Docker的 ...
- 虚拟机增加磁盘空间后lv扩容详细流程,linux扩容根目录详细流程【openstack和VMware虚拟机方法同理】,centos重装系统lvm后不可用处理流程,2021尾声祝福送上。
文章目录 致辞 说明 环境准备 扩容流程 扩容根[/]目录 做扇区 增加pv空间 增加vg空间 增加lv空间 扩容后信息一览和说明 新增一块硬盘,把容量加到固定的vg和lv上 做扇区 增加pv空间 创 ...
- Linux分区磁盘空间扩展、扩容、合并
如下,这台服务器的root有50G,已经用完91%了 下面的home有46G,才用33M,里面就放了脚本和日志记录用不了什么空间的,现在把home容量分给root. 如果home目录下有数据记得备份, ...
最新文章
- 分布式系统原理 之6 两阶段提交协议
- github中删除已建仓库(二)
- 模板:莫比乌斯反演(数论)
- MySQL数据库如何做好优化
- day-16 jquery的DOM文档操作及bootstrap
- Python Selenium打开谷歌浏览器
- SQL Server 置疑修复
- 云计算服务三层架构-IaaS-PaaS-SaaS解析
- serv-u and hway3.0
- 谷歌浏览器被hao123绑定首页了
- 荣耀X30 Max参数配置
- 高防IP是如何来防御DDoS攻击的呢?
- Visual Studio 2008 无法安装解决办法
- OTRS安装使用系列之三——不同的OTRS…
- python 最新 毕业设计 选题推荐
- 「Matlab」“矩阵对矩阵求导的方法”讲解
- java基础编程之查询某一年的二月有多少天(通过Calendar类)
- 针对文字图片使用pillow对图片进行操作并判断图片相似度
- 自动装箱和自动拆箱——源码分析
- 【数值模型环境搭建】Intel编译器安装