情况说明
根目录满了,挂载在根分区的设备也没有多的使用空间,现在计划新增一块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、切记对于不熟悉的操作命令最好放弃,至少应该本地环境测试过才能区生产服务器上操作,避免数据因为操作不当丢失