首页 > 系统相关 >Linux:LVM磁盘扩容实战

Linux:LVM磁盘扩容实战

时间:2023-03-17 18:33:20浏览次数:39  
标签:字节 vg Linux 扇区 dev ubuntu LVM 磁盘 512

先使用fdisk -l列出分区表

查看到目前挂载了 vda1、vda2、vda3,并且查看到还有vdb 100G没有挂载

root@JumpServer-DB-T01:~# fdisk -l
Disk /dev/vda:60 GiB,64424509440 字节,125829120 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:4A7F1857-B833-4D08-9D5C-3A0A3DB2D192

设备          起点      末尾      扇区 大小 类型
/dev/vda1     2048      4095      2048   1M BIOS 启动
/dev/vda2     4096   4198399   4194304   2G Linux 文件系统
/dev/vda3  4198400 125827071 121628672  58G Linux 文件系统

Disk /dev/vdb:100 GiB,107374182400 字节,209715200 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Disk /dev/mapper/ubuntu--vg-ubuntu--lv:28.102 GiB,31134318592 字节,60809216 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
root@JumpServer-DB-T01:~#

用fdisk /dev/vdb将新增加的 /dev/vdb创建磁盘

n(添加新分区)→→p(打印分区表)→→1(选择分区号1)→→回车(起始扇区默认最小)→→回车(终止扇区默认最大)→→t(更改分区类型)→→8e(分区“Linux”的类型更改为“Linux LVM”)→→p(打印分区表)→→w(将分区表写入磁盘并退出)

root@JumpServer-APP-T02:~# fdisk /dev/vdb

欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xa8f54781 的新 DOS 磁盘标签。

命令(输入 m 获取帮助): n
分区类型
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p): p
分区号 (1-4, 默认  1): 1
第一个扇区 (2048-209715199, 默认 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-209715199, 默认 209715199):

创建了一个新分区 1,类型为“Linux”,大小为 100 GiB。

命令(输入 m 获取帮助): t
已选择分区 1
Hex 代码(输入 L 列出所有代码): 8e
已将分区“Linux”的类型更改为“Linux LVM”。

命令(输入 m 获取帮助): p
Disk /dev/vdb:100 GiB,107374182400 字节,209715200 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa8f54781

设备       启动  起点      末尾      扇区  大小 Id 类型
/dev/vdb1        2048 209715199 209713152  100G 8e Linux LVM

命令(输入 m 获取帮助): w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

root@JumpServer-APP-T02:~#

再次查看列出分区表fdisk -l

可以看到新建的分区

root@JumpServer-APP-T02:~# fdisk -l

Disk /dev/vda:60 GiB,64424509440 字节,125829120 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:4A7F1857-B833-4D08-9D5C-3A0A3DB2D192

设备          起点      末尾      扇区 大小 类型
/dev/vda1     2048      4095      2048   1M BIOS 启动
/dev/vda2     4096   4198399   4194304   2G Linux 文件系统
/dev/vda3  4198400 125827071 121628672  58G Linux 文件系统

Disk /dev/vdb:100 GiB,107374182400 字节,209715200 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xa8f54781

设备       启动    起点     末尾    扇区  大小 Id 类型
/dev/vdb1  2048 209715199 209713152 100G    8e Linux LVM

Disk /dev/mapper/ubuntu--vg-ubuntu--lv:28.102 GiB,31134318592 字节,60809216 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
root@JumpServer-APP-T02:~#

PVS查看PV

此时PV只有一个 /dev/vda3

VG也只有一个ubuntu-vg

root@JumpServer-APP-T02:~# pvs
  PV         VG        Fmt  Attr PSize   PFree
  /dev/vda3  ubuntu-vg lvm2 a--  <58.00g 29.00g
root@JumpServer-APP-T02:~#

pvcreate /dev/vdb1创建新PV 并查看到新增的/dev/vdb1 100G

root@JumpServer-APP-T02:~# pvcreate /dev/vdb1
  Physical volume "/dev/vdb1" successfully created.
root@JumpServer-APP-T02:~# pvs
  PV         VG        Fmt  Attr PSize    PFree
  /dev/vda3  ubuntu-vg lvm2 a--   <58.00g   29.00g
  /dev/vdb1            lvm2 ---  <100.00g <100.00g
root@JumpServer-APP-T02:~#

vgextend ubuntu-vg /dev/vdb1

把新建的pv:/dev/vdb1 扩容给vg:ubuntu-vg  查看vg的扩容前后对比

root@JumpServer-APP-T02:~# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  ubuntu-vg   1   1   0 wz--n- <58.00g 29.00g
root@JumpServer-APP-T02:~# vgextend ubuntu-vg /dev/vdb1
  Volume group "ubuntu-vg" successfully extended
root@JumpServer-APP-T02:~# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  ubuntu-vg   2   1   0 wz--n- 157.99g <129.00g
root@JumpServer-APP-T02:~#

pvs

再次查看PV 可以看到已经划分给VG

root@JumpServer-APP-T02:~# pvs
  PV         VG        Fmt  Attr PSize    PFree
  /dev/vda3  ubuntu-vg lvm2 a--   <58.00g      0
  /dev/vdb1  ubuntu-vg lvm2 a--  <100.00g <39.50g
root@JumpServer-APP-T02:~#

lvs

查看LV,现在是29G

root@JumpServer-APP-T02:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                wDo2pg-iIhK-ig7s-2Hwy-swrW-j1cp-Y2zpQ1
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2023-02-24 02:09:04 +0000
  LV Status              available
  # open                 1
  LV Size                <29.00 GiB
  Current LE             7423
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

root@JumpServer-APP-T02:~#

扩容LV,两种方法:这里-L -l 需要注意大小写

lvextend -L +50G /dev/ubuntu-vg/ubuntu-lv

lvextend -l +50%free /dev/ubuntu-vg/ubuntu-lv

root@JumpServer-APP-T02:~# lvextend -L +50G /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <29.00 GiB (7423 extents) to <79.00 GiB (20223 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@JumpServer-APP-T02:~# lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  ubuntu-lv ubuntu-vg -wi-ao---- <79.00g
root@JumpServer-APP-T02:~# lvextend -l +50%free /dev/ubuntu-vg/ubuntu-lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <79.00 GiB (20223 extents) to <118.50 GiB (30335 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
root@JumpServer-APP-T02:~# lvs
  LV        VG        Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  ubuntu-lv ubuntu-vg -wi-ao---- <118.50g

刷新LV的空间,使其生效

root@JumpServer-APP-T02:~# lvscan
  ACTIVE            '/dev/ubuntu-vg/ubuntu-lv' [<118.50 GiB] inherit
root@JumpServer-APP-T02:~#

lsblk -f

查看vdb1文件系统类型,对于ext4文件系统类型,resize2fs让文件系统识别扩容的容量,如果是xfs可以使用xfs_growfs命令识别。

root@JumpServer-APP-T02:~# lsblk -f
NAME                      FSTYPE      LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
loop1                     squashfs                                                       0   100% /snap/core20/1828
loop2                     squashfs                                                       0   100% /snap/lxd/22753
loop3                     squashfs                                                       0   100% /snap/snapd/18357
loop4                     squashfs                                                       0   100% /snap/core20/1822
loop5                     squashfs                                                       0   100% /snap/lxd/24061
sr0
vda
├─vda1
├─vda2                    ext4              61ee5337-c84b-4da9-8927-cf1aa05df1aa      1.6G    11% /boot
└─vda3                    LVM2_member       aeuGO5-PGh7-iLWr-oYag-iy1l-gUgr-AdrUQD
  └─ubuntu--vg-ubuntu--lv ext4              76558209-dbb2-4b7c-8260-618da43abcb7      7.7G    68% /
vdb
└─vdb1                    LVM2_member       V0zlFz-jw0X-mRXp-XAWc-3qld-Boc1-Xocb1j
  └─ubuntu--vg-ubuntu--lv ext4              76558209-dbb2-4b7c-8260-618da43abcb7      7.7G    68% /
root@JumpServer-APP-T02:~#

在系统识别前查看根的容量为29G

root@JumpServer-APP-T02:~# df -h
文件系统                           容量  已用  可用 已用% 挂载点
udev                               7.8G     0  7.8G    0% /dev
tmpfs                              1.6G  1.7M  1.6G    1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   29G   20G  7.8G   72% /
tmpfs                              7.8G     0  7.8G    0% /dev/shm
tmpfs                              5.0M     0  5.0M    0% /run/lock
tmpfs                              7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/vda2                          2.0G  209M  1.6G   12% /boot
/dev/loop2                          68M   68M     0  100% /snap/lxd/22753
/dev/loop3                          50M   50M     0  100% /snap/snapd/18357
/dev/loop4                          64M   64M     0  100% /snap/core20/1822
/dev/loop5                          92M   92M     0  100% /snap/lxd/24061
/dev/loop1                          64M   64M     0  100% /snap/core20/1828
tmpfs                              1.6G     0  1.6G    0% /run/user/0
root@JumpServer-APP-T02:~# 

resize2fs /dev/ubuntu-vg/ubuntu-lv

现在刷新LV的空间让文件系统识别扩容的容量

root@JumpServer-APP-T02:~# resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.45.5 (07-Jan-2020)
/dev/ubuntu-vg/ubuntu-lv 上的文件系统已被挂载于 /;需要进行在线调整大小
old_desc_blocks = 4, new_desc_blocks = 15
/dev/ubuntu-vg/ubuntu-lv 上的文件系统大小已经调整为 31063040 个块(每块 4k)。
root@JumpServer-APP-T02:~#

*如果是xfs可以使用xfs_growfs命令识别。

root@JumpServer-APP-T02:~# xfs_growfs

现在看到已经成为117G

root@JumpServer-APP-T02:~# df -h
文件系统                           容量  已用  可用 已用% 挂载点
udev                               7.8G     0  7.8G    0% /dev
tmpfs                              1.6G  1.7M  1.6G    1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  117G   20G   93G   18% /
tmpfs                              7.8G     0  7.8G    0% /dev/shm
tmpfs                              5.0M     0  5.0M    0% /run/lock
tmpfs                              7.8G     0  7.8G    0% /sys/fs/cgroup
/dev/vda2                          2.0G  209M  1.6G   12% /boot
/dev/loop2                          68M   68M     0  100% /snap/lxd/22753
/dev/loop3                          50M   50M     0  100% /snap/snapd/18357
/dev/loop4                          64M   64M     0  100% /snap/core20/1822
/dev/loop5                          92M   92M     0  100% /snap/lxd/24061
/dev/loop1                          64M   64M     0  100% /snap/core20/1828
tmpfs                              1.6G     0  1.6G    0% /run/user/0
root@JumpServer-APP-T02:~#

扩容完成。

*其实刚才给LV扩容,第一次添加50G,第二次添加50%,还剩余25G没有扩容给LV,但是VG已经100%添加了

标签:字节,vg,Linux,扇区,dev,ubuntu,LVM,磁盘,512
From: https://www.cnblogs.com/Magiclala/p/17227819.html

相关文章

  • 7z加密文件命令(linux 或者mac)
    对目录进行加密:7z-a-tzip-r-p123456xx.zipa*表示将所有以a开头目录压缩成一个xx.zip文件,密码为123456  -a表示压缩,-tzip表示压缩成zip格式-r表示递归-p......
  • Linux ssh权限被修改问题修复
    测试:/usr/sbin/sshd-T配置:sh"chownroot:root/etc/sudo.conf-R"sh"chown-Rroot:root/etc/sudoers.d"sh"chownroot:root/etc/sudoers"  sh"chown-R......
  • kafka - Linux环境
    kafka-Linux环境前提:linux环境下安装的有jdkzookeeper安装配置-(linux环境搭建)zookeeper(默认端口2181)1.下载2.解压ta......
  • linux知识点
    查询字符信息在文件夹内grep"legioncross_server_ip"*docker导出日志文件dockerexec-itlegioncross-3002jstack-l10>legioncross-3002.log压缩tarzcvfhttpda......
  • 034Linux磁盘空间未释放并且在不能重启情况下最佳处理方法
    Linux磁盘空间未释放并且在服务器和程序不能重启时处理方法:之前遇到的磁盘df-h和du-sh*查看文件大小结果不一致,发生这种情况的原因一般有两种:1.有隐藏文件2.磁盘空......
  • Linux安装python3 Centos7
    Linux安装python3Linux自带python2环境,以下是python3的安装步骤一、python3安装包下载地址:https://www.python.org/downloads/release/python-380/也可以使用wget命令下......
  • Linux开机自启动
    很多时候由于各种各样的原因,使得我们无法使用systemctl、service、chkconfig命令来设置服务开机自启。此时我们一般会用到/etc/rc.d/rc.local(用户自定义服务脚本)来设置......
  • Linux中使用yum安装服务时会报:Existing lock /var/run/yum.pid: another copy is runn
    报错信息: 在下载服务时,不会显示正常的安装步骤,而是显示以上报错。 报错原因:1、是因为yum已经在后台运行了,导致进程僵死。 解决方法:1、把/var/run/yum.pid文件给......
  • Linux下的tar归档及解压缩功能详解
    (Linux下的tar归档及解压缩功能详解)一、Linux下解压缩工具1.tar命令Unix和类Unix系统上的压缩打包工具,可以将多个文件合并为一个文件,打包后的文件后缀亦为“tar”。tar......
  • linux 工具 の rsync
    rsync特点rsync是一款`增量备份工具支持本地复制,也支持远程同步可以很容易保存原有文件的权限、时间、软硬连接快速:只有第一次使用rsync时会复制全部......