Centos7 磁盘分区挂载
期初,我只是想单纯的搭建一台属于自己的Gitlab服务器,用于将我多年的经验,文档,项目给可视化的管理起来。
于是,我就搭建了一台Gitlab服务器,CPU:6核,内存:8G,磁盘20G,然后就开始了我大量的备份文件资料到Gitlab,直到有一天,Gitlab页面不可访问了,报500,有时候报502等,导致无法进入到管理页面中去,因此我查看Gitlab的运行日志发现,是因为磁盘空间不足导致了Gitlab服务进程无法启动。
后面我开始查看Gitlab的数据存储,及其服务进程挂载所在磁盘分区在哪里,后面才发现在/根目录下,也就是文件系统/dev/mapper/centos-root下。
于是,我进入到虚拟机中通过命令 df -h 查看磁盘空间时发现 /根目录下的空间占满了,已使用100%,因此我断定就是磁盘空间的问题,于是我给虚拟机扩容。
/dev/mapper/centos-root下的磁盘空间已经使用100%了,没有剩余空间了,于是我手动的对指定虚拟机扩容磁盘,截图如下:
扩容成功后,磁盘空间由20G->40G,截图如下:
进入到虚拟机,执行命令 df -h ,下面截图肯定是没有占满,我们假设是占满了,如图:
再次执行命令 lsblk,查看磁盘目录树,如图:
如上图,我们发现只有一块磁盘sda,这个磁盘下面挂载了两个分区,分别是sda1,sda2,其中sda2是挂载到根目录的,文件系统名为:centos-root,我们可以清晰的看到sda1和sda2只挂载了20G,而整个磁盘sda却有40G,那么还有20G没有挂载上去,于是,我们开始挂载剩余的20G到磁盘分区中去。
1.将未挂载的磁盘空间写入到磁盘/dev/sda:
2.创建磁盘分区:
3.再次输入命令lsblk 查看磁盘分区树,很明显分区sda3已经挂载到了磁盘sda上,是20G:
4.扩展VG,查看VG,发现20G已经成功加入到组里面去了:
5.开始将分区sda3挂载到根目录下:
1.查看文件系统分区:
2.开始挂载:
3.再次查看文件系统分区,已经成功挂载,有<17GB提升到36.99GB:
4.查看磁盘分区树:
5.刷新磁盘分区:
如上,在原有磁盘上扩容空间并挂载到根目录就完成了。
第二种,不是在原有磁盘上扩容空间,而是重新添加一个新的磁盘,并且将其空间挂载到根目录中,如下:
创建完成,开启虚拟机,进入到虚拟机,同样的执行df -h,lsblk,如图:
如上截图,我们可以看到,多了一个磁盘叫sdb,我们接下来为他扩展分区:
刷新磁盘数据:
以上就是第二种,即使是添加新的磁盘,挂载到根目录的具体操作也是如此。
其中,关于几个特殊名词讲解一下:
VG是卷组,LV是逻辑卷,PV是物理卷,
可以如下操作进行查看:
VG:vgdisplay vgs
LV:lvdisplay lvs
PV:pvdisplay pvs
如何知道当前操作系统的磁盘分区是限制比较多的MBR分区表还是比较新且限制比较少的GPT分区表,如图:
如上图,磁盘标签类型:dos的是MBR分区表,是gpt的则是GPT分区表。
参考资料:
使用LVM扩容
PV(physical volume)物理卷,就是物理磁盘
VG(volume group)卷组,就是一组物理磁盘的组合,里面可以有一块硬盘也可以有多块硬盘
LV(logical volume)逻辑卷,就是在VG(指定的物理磁盘组)里面划分出来的
可以这样理解,PV就是硬盘,而VG就是管理硬盘的操作系统,LV就是操作系统分出来的各个分区:
-
为新硬盘分区fdisk
fdisk /dev/sdb //fdisk分区工具,进入交互界面
p //查看硬盘分区情况
n //创建分区,根据要求进行分区,主分区,拓展分区,多大
t //改变分区类型,LVM是8e
w //保存,重要!不保存退出等于白分
2、将新分区加入系统当前逻辑卷
pvcreate /dev/sdb1 //为新分区创建物理卷
pvdisplay //查看当前系统物理卷
vgdisplay //查看当前系统卷组
vgextend 卷组名 /dev/sdb1 //将新物理卷加入卷组
lvextend -l +100%FREE /dev/mapper/卷组名 //-l将所有卷组剩余空间分配给卷组
lvextend –L +10G /dev/mapper/卷组名 //-L指定大小为卷组分配空间 -
刷新分区表
xfs_growfs /dev/mapper/卷组 //针对xfs文件系统
resize2fs /dev/mapper/卷组 //针对文件系统ext2 ext3 ext4