最近在学习数据库,当在虚拟机CentOS7中安装MySQL时,却因为空间不足,导致MySQL无法安装使用;查看了虚拟机的设置发现磁盘空间有60G,而根目录挂载的分区只有10个G,且使用率已达到89%。通过lsblk查看分区的信息,发现/dev/sda有60G,而只分配了一部分的空间,于是通过网上找到可以通过物理卷来扩大逻辑卷空间的办法;
前提: 首先通过lsblk查看虚拟机中设备的分配情况,确保磁盘设备中还有剩余空间;
通过如下命令可以得知本机的sda有60G容量,而两个主分区只占用了200M和12G;说明disk中还有空间;
[root@localhost local]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 12G 0 part
│ ├─centos-root 253:0 0 10G 0 lvm /
│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 1G 0 disk
├─sdb1 8:17 0 100M 0 part
├─sdb2 8:18 0 100M 0 part
├─sdb3 8:19 0 100M 0 part
└─sdb4 8:20 0 723M 0 part
sr0 11:0 1 4.3G 0 rom
解决问题的操作步骤:
-
1. 新增一个分区,并将分区设置为物理卷
# 输入字符n新增分区,选择默认的起始和结束位置; # 输入字符w保存分区 [root@localhost local]# fdisk /dev/sda #将新增的分区设置为物理卷 [root@localhost local]# pvcreate /dev/sda3 #查看系统中物理卷的信息 [root@localhost local]# pvdisplay
-
2. 查看虚拟机中的卷组,将物理卷加入到卷组中
#查看系统中的卷组信息 [root@localhost local]# vgscan Reading volume groups from cache. Found volume group "centos" using metadata type lvm2 #将物理卷加入到卷组中 [root@localhost local]# vgextend centos /dev/sda3
通过
vgdisplay centos
可以查看卷组的具体信息; -
3. 给逻辑卷扩容
[root@localhost local]# lvextend -L +24G /dev/mapper/centos-root
查看系统中逻辑卷的信息,可以使用
lvdisplay
命令[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID FUjVHs-tZnY-byMJ-8Exo-qsdS-UjmI-OKiu1H LV Write Access read/write LV Creation host, time localhost, 2019-04-18 19:29:48 +0800 LV Status available # open 2 LV Size 2.00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID 278ddE-D2NP-aFmx-Y8jg-0qfQ-vWq3-gQQotE LV Write Access read/write LV Creation host, time localhost, 2019-04-18 19:29:48 +0800 LV Status available # open 1 LV Size 34.00 GiB Current LE 8704 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0
-
4. 刷新分区容量
- xfs文件系统 ,通过如下命令刷新;(若是不清楚文件系统类型,可以通过df -T查看)
[root@localhost ~]# xfs_growfs /dev/mapper/centos-root
- ext文件系统
resize2fs -f 加上要扩展的分区名
- xfs文件系统 ,通过如下命令刷新;(若是不清楚文件系统类型,可以通过df -T查看)
-
5. 查看分区容量信息
[root@localhost ~]# df -T 文件系统 类型 1K-块 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 35641344 10708280 24933064 31% / devtmpfs devtmpfs 902272 0 902272 0% /dev tmpfs tmpfs 919336 0 919336 0% /dev/shm tmpfs tmpfs 919336 10140 909196 2% /run tmpfs tmpfs 919336 0 919336 0% /sys/fs/cgroup /dev/sda1 xfs 201380 161552 39828 81% /boot tmpfs tmpfs 183868 0 183868 0% /run/user/0
最后,通过
lsblk
,可以看到/dev/sda中新增了一个/dev/sda3的主分区,并在该主分区上建立一个逻辑分区,挂载点为/。[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 200M 0 part /boot ├─sda2 8:2 0 12G 0 part │ ├─centos-root 253:0 0 34G 0 lvm / │ └─centos-swap 253:1 0 2G 0 lvm [SWAP] └─sda3 8:3 0 47.8G 0 part └─centos-root 253:0 0 34G 0 lvm / sdb 8:16 0 1G 0 disk ├─sdb1 8:17 0 100M 0 part ├─sdb2 8:18 0 100M 0 part ├─sdb3 8:19 0 100M 0 part └─sdb4 8:20 0 723M 0 part sr0 11:0 1 4.3G 0 rom