当前位置 博文首页 > 弈凌:centos7分区与root根目录扩容

    弈凌:centos7分区与root根目录扩容

    作者:[db:作者] 时间:2021-06-10 21:16

    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/dataxfsdefaults00
    # 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 # 重启,再次查看
    
    下一篇:没有了