排查磁盘空间大小
df -h ./
du --max-depth=1 -h
lsblk 命令
lsblk命令的英文是“list block”,即用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。
磁盘
磁盘分区
fdisk
物理卷
# pvcreate用于创建物理卷
pvcreate /dev/sdb
# pvdisplay、pvsca、pvs用于查看物理卷
pvdisplay
pvs
pvscan
将磁盘划分为物理卷,直接pvcreate
将磁盘分区划分为物理卷,需要先将分区磁盘id 改为8e
卷组 卷组就是个资源池
使用vgcreate创建卷组
vgcreate VG_NAME device1 ... devicen
使用vgdosplay、vgscan、vgs命令查看卷组
vgdisplay
vgscan
vgs
卷组拓容
vgextend VG_NAME device1 ... devicen
逻辑卷
为什么要使用逻辑卷
对于物理磁盘,我们直接分区、格式化为文件系统之后就可以使用,那为什么还需要使用逻辑卷的方式来管理磁盘呢?我认为主要有2个原因:
- 业务上使用大容量的磁盘。举个例子,我们需要在/data下挂载30TB的存储,对于单个磁盘,是无法满足要求的,因为市面上没有那么大的单块磁盘。但是如果我们使用逻辑卷,将多个小容量的磁盘聚合为一个大的逻辑磁盘,就能满足需求。
- 扩展和收缩磁盘。在业务初期规划磁盘时,我们并不能完全知道需要分配多少磁盘空间是合理的,如果使用物理卷,后期无法扩展和收缩,如果使用逻辑卷,可以根据后期的需求量,手动扩展或收缩
创建逻辑卷
lvcreate –L SIZE –n LV_NAME VG_NAME
使用lvdisplay、lvscan、lvs查看逻辑卷
lvdisplay
lvscan
lvs
逻辑卷拓容
lvextend -L +SIZE lv_device
# 调整文件系统的大小
resize2fs device lv_device
挂载
逻辑卷创建完,挂载即可使用
# 创建文件系统
[root@masterdb ~]# mkfs.ext3 /dev/VG_TEST/lv_test
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
# 创建挂载点
[root@masterdb ~]# mkdir /test
# 挂载文件系统
[root@masterdb ~]# mount /dev/VG_TEST/lv_test /test
# 确认结果
[root@masterdb ~]# df –h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 10G 4.1G 5.9G 42% /
...
/dev/mapper/VG_TEST-lv_test 976M 1.3M 924M 1% /test