Centos7根目录扩容二

情况说明

根目录满了,挂载在根分区的设备也没有多的使用空间,现在计划新增一块5T的盘,从该盘中分出500G给根分区扩容,同时将剩下的空间挂载到目录/data

分区

首先使用parted进行分区操作
parted /dev/sdb
p查看当前分区
mklabel gpt定义分区表格式
mkpart 开始分区
sdb1 定义设备名字
xfs 定义文件系统格式
0 设备块开始位置
500G 设备块结束位置
Ignore 第一次分区会出现提示
p 查看当前分区

现在将分好区的设备/dev/sdb1做成物理卷加入卷组然后扩展到根分区对应的逻辑卷
lvm
pvcreate /dev/sdb1 创建物理卷
pvdisplay 查看物理卷

lvm> pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               cl
  PV Size               39.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              9983
  Free PE               0
  Allocated PE          9983
  PV UUID               OSF1er-3yOK-4gnp-fGr8-oRbt-V5hh-Cfdtnb
 
   --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               cl
  PV Size               465.66 GiB / not usable 1.14 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              119209
  Free PE               0
  Allocated PE          119209
  PV UUID               doLS10-kJrM-sHYw-wWY1-rLRk-0cpV-UMpNWo

lvm>vgdisplay 查看卷组

lvm>vgextend cl /dev/sdb1 将物理卷加入到卷组cl

lvm>vgdisplay 再次查看卷组

lvm>lvextend -l +100%FREE /dev/cl/root将卷组的剩余空间加到挂载在根分区的逻辑卷中

xfs_growfs /dev/cl/root同步到文件系统

这样就把根分区扩展到500G了

但是到这里还没有结束,还有好几个T的空间我们也需要利用起来,比如做一个数据盘
仍然是分区,操作和前面sdb1一样,只是把设备名定义为sdb2和大小改成501G到5T,但是分区结束后我们并没有完成sdb2的文件系统格式定义,还需要执行
mkfs.xfs /dev/sdb2或者mkfs.ext4 /dev/sdb2来对该设备进行文件系统格式化,否则是无法挂载的
格式化完成后进行挂载
mount /dev/sdb2 /data

lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   100G  0 disk 
├─sda1        8:1    0     1G  0 part /boot
└─sda2        8:2    0    39G  0 part 
  ├─cl-root 253:0    0 500.8G  0 lvm  /
  └─cl-swap 253:1    0   3.9G  0 lvm  [SWAP]
sdb           8:16   0     5T  0 disk 
├─sdb1        8:17   0 465.7G  0 part 
│ └─cl-root 253:0    0 500.8G  0 lvm  /
└─sdb2        8:18   0   4.6T  0 part /data
sr0          11:0    1  1024M  0 rom 

df -h

/dev/mapper/cl-root  501G  1.2G  500G   1% /
devtmpfs              32G     0   32G   0% /dev
tmpfs                 32G     0   32G   0% /dev/shm
tmpfs                 32G  8.5M   32G   1% /run
tmpfs                 32G     0   32G   0% /sys/fs/cgroup
/dev/sdb2            4.6T   33M  4.6T   1% /data
/dev/sda1           1014M  139M  876M  14% /boot
tmpfs                6.3G     0  6.3G   0% /run/user/0

注意

1、针对超过2T的盘必须使用parted工具来分区,2T以下的可以使用fdisk来分区

2、parted与fdisk不能混用

3、一般挂载到根分区的逻辑卷可以通过lsblk或df -h来查看,这对于多余的卷组空间添加至挂载在根分区的逻辑卷尤为重要

[root@WY-MIMO-SVR-2 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/cl-root  501G  1.2G  500G   1% /
devtmpfs              32G     0   32G   0% /dev
tmpfs                 32G     0   32G   0% /dev/shm
tmpfs                 32G  8.5M   32G   1% /run
tmpfs                 32G     0   32G   0% /sys/fs/cgroup
/dev/sdb2            4.6T   33M  4.6T   1% /data
/dev/sda1           1014M  139M  876M  14% /boot
tmpfs                6.3G     0  6.3G   0% /run/user/0
[root@WY-MIMO-SVR-2 ~]# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0   100G  0 disk 
├─sda1        8:1    0     1G  0 part /boot
└─sda2        8:2    0    39G  0 part 
  ├─cl-root 253:0    0 500.8G  0 lvm  /
  └─cl-swap 253:1    0   3.9G  0 lvm  [SWAP]
sdb           8:16   0     5T  0 disk 
├─sdb1        8:17   0 465.7G  0 part 
│ └─cl-root 253:0    0 500.8G  0 lvm  /
└─sdb2        8:18   0   4.6T  0 part /data
sr0          11:0    1  1024M  0 rom  
[root@WY-MIMO-SVR-2 ~]# blkid
/dev/mapper/cl-root: UUID="7f3ec06d-9d1f-4a94-b8eb-59f7ac4a236a" TYPE="xfs" 
/dev/sda2: UUID="OSF1er-3yOK-4gnp-fGr8-oRbt-V5hh-Cfdtnb" TYPE="LVM2_member" 
/dev/sdb1: UUID="doLS10-kJrM-sHYw-wWY1-rLRk-0cpV-UMpNWo" TYPE="LVM2_member" PARTLABEL="sdb1" PARTUUID="12e80cee-d4c5-4124-bc3a-a050341be97d" 
/dev/sda1: UUID="1382b13d-ffd4-4ea3-82c8-bfc010c460d9" TYPE="xfs" 
/dev/mapper/cl-swap: UUID="65d1c8a5-3a98-4495-a5c8-87f9599f98c0" TYPE="swap" 
/dev/sdb2: UUID="87cc61ac-ca1e-41be-ba7b-18aafbb48f47" TY

从上面几个命令可以获得挂载根分区的逻辑卷名字cl,可以切入到/dev/cl/可以找到root文件

4、制作成物理卷的分区如sdb1无需mkfs.xx,但是要进行常规挂载的如sdb2就需要进行格式化,这里有人会有疑问,为啥parted设备时已经填过文件系统类型,但是退处parted工具后仍然需要进行mkfs,否则将无法挂载,会提示设备类型为空导致无法正常挂载

5、切记对于不熟悉的操作命令最好放弃,至少应该本地环境测试过才能区生产服务器上操作,避免数据因为操作不当丢失