磁盘扩容

服务器磁盘扩容有很多种情况,主要根据系统、磁盘分区、文件系统等等对应不同的操作

这里简单介绍下centos7系统下LVM管理分区的情况下,如何创建新分区和扩展分区

创建新分区

使用fdisk工具进行分区

操作步骤

  • 确定磁盘名称:fdisk -l,确定是哪个磁盘要扩容,假设为:/dev/sda
  • 输入命令:fisk /dev/sda,操作分区,可以根据说明划分分区
  • 输入n(表示增加分区),回车
  • 输入p(创建主分区),回车
  • 输入分区数字(默认会根据已有分区+1,使用默认即可,如:已经有了sda1sda2分区,那么输入3,默认即3),回车
  • 输入分区的start值,默认即可,回车
  • 输入分区的end值,(使用默认,或者根据需要分配大小。默认即当前最大值),回车
  • 这时可以看到分区信息,输入p,新的分区/dev/sda3后面Id写的是83Linux,还需要修改成8e,表示Linux LVM分区
  • 输入t,再输入3(最新分区号,默认就是3),最后输入8e,回车
  • 输入w保存,新分区创建好了,这个时候记得重启,不然后续操作无法识别到这个分区,如果想不重启可以执行partprobe,进行分区重读

分区创建后可以通过fdisk -l查看分区情况

fdisk命令说明

a 设置可引导标记
b 编辑 bsd 磁盘标签
c 设置 DOS 操作系统兼容标记
d 删除一个分区
l 显示已知的文件系统类型。82 为 Linux swap 分区,83 为 Linux 分区
m 显示帮助菜单
n 新建分区
o 建立空白 DOS 分区表
p 显示分区列表
q 不保存退出
s 新建空白 SUN 磁盘标签
t 改变一个分区的系统 ID
u 改变显示记录单位
v 验证分区表
w 保存退出
x 附加功能(仅专家)

扩展分区

磁盘创建好后,需要对它格式化创建并扩容到具体的文件系统

这里介绍下pvvglv

  • pv(Phsical Volume:物理卷):pvvg的组成部分,由分区构成,多块盘的时候,可以把一块盘格式化成一个主分区,然后用这个分区做成一个pv,只有一块盘的时候,可以这块盘的某一个分区做成一个pv,实际上一个pv就一个分区。
  • vg(Volume Group:卷组):有若干个pv组成,作用就是将pv组成到以前,然后再重新划分空间。
  • lv(Logical Volume:逻辑卷):lv就是从vg中划分出来的卷,lv的使用要比pv灵活的多,可以在空间不够的情况下,增加空间。

可以说pv是硬盘,vg是管理硬盘的操作系统,lv是操作系统分出来的各个分区。

套娃逻辑:pv->vg->lv-> 文件系统使用(挂载到某个目录),硬盘或分区做成pv,然后将pv或多个pv建立vgvg上建立lv

现在开始扩容

  • 创建物理卷pvpvcreate /dev/sda3
  • 可以使用pvdisplay查看物理卷信息
  • 查看卷组:vgdisplay
  • 添加到已有的vg中:vgextend centos /dev/sda3
  • 再次查看卷组:vgdisplay,可以看到大小增加了
  • 查看当前逻辑卷:lvdisplay
  • 假设扩容/dev/centos/root目录20G的大小:lvextend -L +20G /dev/centos/root,如果是要全部的扩容,可以lvextend -l +100%FREE /dev/centos/root
  • 刷新文件系统,不同的文件系统使用不同的命令,很多命令都可以看到文件系统类型,如:df -Tlsblk -f
    • xfs格式:xfs_growfs /dev/centos/root
    • ext4格式:resize2fs /dev/centos/root
  • 刷新完成后,可以使用df -h查看文件系统大小是否增加了

pvvglv命令

  • pv

    • pvcreate:根据物理盘,创建pv,如:pvcreate /dev/sdb1
    • pvscan:查询目前系统里的pv
    • pvdisplay:显示pv的状态
    • pvremove:将pv属性移除,如:pvremove /dev/sdb1
    • pvresize:刷新
  • vg

    • vgcreate:创建vg,如:vgcreate testvg /dev/sdb /dev/sdc,创建testvg的卷组并将sdbsdc物理卷加入其中
    • vgscan:查找当前系统里面的vg
    • vgdisplay:显示当前系统vg的状态
    • vgextend:给vg添加额外的pv
    • vgreduce:在vg内删除pv
    • vgchange:设置vg是否是启动状态
    • vgremove:删除一个vg,如:vgremove testvg
  • lv

    • lvcreate:创建lv,如:lvcreate -l +100%FREE -n testlv testvg,创建testlv,大小为100%FREE,属于testvg
    • lvscan:查询当前系统的lv
    • lvdisplay:显示lv的属性
    • lvextend:给lv添加容量
    • lvredurce:给lv减少容量
    • lvremove:删除一个lv,如:lvremove /dev/mapper/testvg-data
    • lvresize:对lv大小的容量进行调整

results matching ""

    No results matching ""