centos7分区与root根目录扩容

root根目录扩容

分区查看

常用命令:

# 查看挂载结构(列出所有可用块设备的信息)
lsblk
# 查看硬盘信息(分区情况)
fdisk -l
# 查看硬盘使用情况
df -h

示例:

[root@rancher-server ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda             252:0    0  100G  0 disk 
├─vda1          252:1    0  500M  0 part /boot
└─vda2          252:2    0 19.5G  0 part 
  ├─centos-root 253:0    0 15.5G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
vdb             252:16   0   80G  0 disk 

根据系统输出的内容我们知道了,有两块磁盘 vda vdbvda 只被分配了20G空间,vdb 未被使用。
vda 因为已被分区,所以剩余的80G空间,必须建立一个新分区(如:vda3)通过 PV 加入 VG 扩容 LV(如:root 根目录)。
vdb 未被分区,可以跳过分区创建步骤,直接通过 PV 加入 VG 扩容 LV(如:root 根目录)。

名词解释:
pv 物理卷,vg 卷组,lv 逻辑卷

  • PV(physical volume)即物理卷,就是物理磁盘,可以通过fdisk -l 查看操作系统有几块硬盘
  • VG(volume group)即卷组,就是一组物理磁盘的组合,里面可以有一块硬盘也可以有多块硬盘
  • LV(logical volume)及逻辑卷,就是在VG(指定的物理磁盘组)里面划分出来的

可以说成是PV就是硬盘,而VG就是管理硬盘的操作系统,而LV就是操作系统分出来的各个分区.

PV->VG->LV-> 文件系统使用(挂载到某个目录)

新建LVM逻辑分区(根据情况可跳过)

  • fdisk /dev/vda (对vda分区,具体被分区目标根据实际情况而定)
  • 依次按键盘[n],分割剩余空间。
  • 接下来按键盘[p],表示我们要创建主分区。
  • 接下来按键盘[回车],表示我们要创建vda3。(vda已经存在vda1和vda2分区,所以这里从3开始,提示的默认值就是3)
  • 接下来按两次键盘[回车],划分所有剩余空间。
  • 然后按键盘[w],将更改保存到分区表。
[root@rancher-server ~]# fdisk /dev/vda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 
First sector (41934848-209715199, default 41934848): 
Using default value 41934848
Last sector, +sectors or +size{K,M,G} (41934848-209715199, default 209715199): 
Using default value 209715199
Partition 3 of type Linux and of size 80 GiB is set

扩容

查看目前所有可用块设备的信息

[root@rancher-server ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda             252:0    0  100G  0 disk 
├─vda1          252:1    0  500M  0 part /boot
├─vda2          252:2    0 19.5G  0 part 
│ ├─centos-root 253:0    0 95.5G  0 lvm  /
│ └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
└─vda3          252:3    0   80G  0 part 
  └─centos-root 253:0    0 95.5G  0 lvm  /
vdb             252:16   0   80G  0 disk 

查看当前LV(逻辑卷与卷组)

[root@rancher-control-1 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                1xG0N6-KN3l-13qo-uXVX-GKyI-qNcF-LoGf4Z
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-11-04 16:59:21 +0800
  LV Status              available
  # open                 2
  LV Size                4.00 GiB
  Current LE             1024
  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                XRHaIJ-aScx-bgOX-VRLX-IvLQ-COpb-UZIxI0
  LV Write Access        read/write
  LV Creation host, time localhost, 2019-11-04 16:59:22 +0800
  LV Status              available
  # open                 1
  LV Size                525.50 GiB
  Current LE             134528
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

root根目录VG是centos,查看vg信息可使用 vgdisplayvgs 命令

创建PV(物理卷)

[root@rancher-server ~]# pvcreate /dev/vda3

  Physical volume "/dev/vda3" successfully created.

将物理卷加入卷组(把PV加入VG中,相当于扩充VG的大小)

[root@rancher-server ~]# vgextend centos /dev/vda3
  Volume group "centos" successfully extended

扩容(扩展LV)

lvextend -L +100MB /dev/mapper/centos-root # 按大小分配到/root分区
lvextend -L +10g /dev/mapper/centos-root # 按大小分配到/root分区
lvextend -l +100%FREE /dev/mapper/centos-root # 全部分配/root分区
xfs_growfs /dev/mapper/centos-root # 刷新根分区容量
df -h # 查看

把vdb硬盘也扩容到root分区,重复扩容步骤就可以了,注意硬盘标识。

pvcreate /dev/vdb
vgextend centos /dev/vdb
lvextend -l +100%FREE /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root

通过上面的步骤已实现root根目录扩容,下面是可能会用到的更多命令说明

更多命令

命令 作用
vgcreate 创建新的vg组
lvcreate 在新的vg中创建新的lv,但是要指定对vg名字
vgremove 删除vg
vgreduce 把pv从vg中移除,若vg中只有一个pv则直接使用vgremove
mkfs 把磁盘分区格式化为指定的文件系统,比如:xfs、ext4
mount 分区挂载

卷创建命令示例

创建pv

pvdisplay # 显示物理卷的属性
pvcreate /dev/vdb # 将物理硬盘分区初始化为物理卷,以便被LVM使用

创建vg

vgdisplay # 用于显示LVM卷组的元数据信息
vgcreate vgvar /dev/vdb # 用于创建LVM卷组

创建lv

lvdisplay # 显示LVM逻辑卷空间大小、读写状态和快照信息等属性
lvcreate -L 2G -n lv_2 vg_1 # 创建一个指定大小的lv,并指定名字为lv_2
lvcreate -l 100%VG -n lv_3 vg_1 # 创建一个占全部卷组大小的lv,并指定名字为lv_3(注意前提是vg并没有创建有lv)
lvcreate -l 80%Free -n lv_4 vg_1 # 创建一个空闲空间80%大小的lv,并指定名字为lv_4(常用)

磁盘分区挂载示例

格式化分区并指定文件系统类型

mkfs -t xfs /dev/vdb # 格式化磁盘分区并指定文件系统类型为xfs
mkfs -t xfs /dev/mapper/data-data # 格式化lvm逻辑分区并指定文件系统类型为xfs

挂载分区(mount)

mount /dev/vdb /mnt # 将分区挂载到 /** 目录

开机挂载(mount)

修改 /etc/fstab 即可

[root@rancher-control-1 ~]# cat /etc/fstab 
# /etc/fstab
# Created by anaconda on Thu May  9 01:56:05 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
UUID=a83f4fdc-2ea1-4fec-a1e2-a42016ce0afe /                       xfs     defaults        0 0
UUID=9e33bd6f-c68c-41c7-95c8-703f4fe8c3d4 swap                    swap    defaults        0 0
UUID=10116334-fc34-416b-b2f8-60bde984f5d4 /data                   xfs     defaults        0 0

配置解释:

要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
UUID=10116334-fc34-416b-b2f8-60bde984f5d4 /data xfs defaults 0 0
# UUID=10116334-fc34-416b-b2f8-60bde984f5d4  /data                 xfs      defaults       0        0
# 要挂载的设备或伪文件系统                    挂载点            文件系统类型   挂载选项    转储频率   自检次序

配置参数解释:

参数 解释
要挂载的设备或伪文件系统 设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)
挂载点 指定的文件夹
文件系统类型 如:xfs、ext4等
挂载选项 defaults
转储频率 0:不做备份
1:每天转储
2:每隔一天转储
自检次序 0:不自检
1:首先自检;一般只有rootfs才用1;

挂载
修改完 /etc/fstab 文件后,运行如下命令实现开机挂载

mount -a # 挂载fstab中提到的所有文件系统
df # 查看挂载
reboot # 重启,再次查看

你可能感兴趣的:(linux,centos,linux,root根目录扩容,分区扩容)