文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux磁盘管理:多盘组件LVM和扩容

2024-11-29 23:12

关注

对于Linux磁盘挂载,本地裸盘挂载的方式虽然简单,但是对于磁盘扩容情况下来说,不够灵活,逻辑卷的方式很好解决了此问题,能够实现磁盘的动态扩容。本节通过实战带你了解和认识LVM。


命令帮助


1、多盘组建LVM实操

下面从开始说起,服务器上共有4块1.1T的磁盘,我们将其挂载为/data目录

物理卷 --> 卷组 --> 逻辑卷

磁盘分区,不分区的情况下mkfs.xfs /dev/sdc直接格式化也是可以的,下列按照分区来演示

[root@localhost ~]# fdisk /dev/sdb 
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

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

命令(输入 m 获取帮助):p
Disk /dev/sdb:446.64 GiB,479559942144 字节,936640512 个扇区
磁盘型号:MR9361-8i       
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):262144 字节 / 262144 字节
磁盘标签类型:dos
磁盘标识符:0xade00547

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

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

命令(输入 m 获取帮助):p
Disk /dev/sdb:446.64 GiB,479559942144 字节,936640512 个扇区
磁盘型号:MR9361-8i       
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):262144 字节 / 262144 字节
磁盘标签类型:dos
磁盘标识符:0xade00547

设备       启动  起点      末尾      扇区   大小 Id 类型
/dev/sdb1        2048 936640511 936638464 446.6G 83 Linux

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

创建pv,4块盘依次操作

[root@localhost ~]# pvcreate /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
  Physical volume "/dev/sdc1" successfully created.
  Physical volume "/dev/sdd1" successfully created.
  Physical volume "/dev/sde1" successfully created.
  Physical volume "/dev/sdf1" successfully created.

创建vg 此处的vg_group是vg组的名字,可以自定义,同时将PV加入卷组

[root@localhost ~]# vgcreate vg_kvm     /dev/sdc1 /dev/sdd1    /dev/sde1  /dev/sdf1
  Volume group "vg_kvm" successfully created

查看磁盘卷组,可以看到总大小为4.36T

[root@localhost ~]# vgdisplay  vg_kvm -v
  --- Volume group ---
  VG Name               vg_kvm
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               4.36 TiB
  PE Size               4.00 MiB
  Total PE              1144124
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1144124 / 4.36 TiB
  VG UUID               OdaNAs-ko43-qtky-Ak3r-70Nq-33wX-4KwHXQ
   
  --- Physical volumes ---
  PV Name               /dev/sdc1     
  PV UUID               0vsc28-sOBH-3Wo1-1Pe1-DC5S-MY2w-d55TFA
  PV Status             allocatable
  Total PE / Free PE    286031 / 286031
   
  PV Name               /dev/sdd1     
  PV UUID               Kv4seB-iHFa-yhun-8vNK-cO0o-te2O-NlaF1n
  PV Status             allocatable
  Total PE / Free PE    286031 / 286031
   
  PV Name               /dev/sde1     
  PV UUID               6qot9d-vJ7X-kUSR-h2Xc-qPiV-Mxxe-VAOiHw
  PV Status             allocatable
  Total PE / Free PE    286031 / 286031
   
  PV Name               /dev/sdf1     
  PV UUID               JAinSf-m1d3-Uc7Z-zN0A-IUzB-ZQ01-z8E90f
  PV Status             allocatable
  Total PE / Free PE    286031 / 286031

-L后面是要分给lv的大小

[root@localhost ~]# lvcreate -L 4.36T  vg_kvm
  Rounding up size to full physical extent 4.36 TiB
  Logical volume "lvol0" created.

创建完毕后可以通过lvdisplay查看卷组状态

[root@localhost ~]# lvdisplay  vg_kvm -v
  --- Logical volume ---
  LV Path                /dev/vg_kvm/lvol0
  LV Name                lvol0
  VG Name                vg_kvm
  LV UUID                F0UQ1a-fJtI-9VCE-MpTP-1Qwy-kxG3-7EnFGt
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2021-10-22 10:32:34 +0800
  LV Status              available
  # open                 0
  LV Size                4.36 TiB
  Current LE             1142948
  Segments               4
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     4096
  Block device           252:3

最后可以直接挂载使用了

[root@localhost ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               255G     0  255G    0% /dev
tmpfs                  255G  192K  255G    1% /dev/shm
tmpfs                  255G   20M  255G    1% /run
tmpfs                  255G     0  255G    0% /sys/fs/cgroup
/dev/mapper/klas-root  392G   27G  365G    7% /
tmpfs                  255G     0  255G    0% /tmp
/dev/sda2             1014M  309M  706M   31% /boot
/dev/sda1              200M  5.8M  195M    3% /boot/efi
tmpfs                   51G     0   51G    0% /run/user/0

格式化逻辑卷(LV)

[root@localhost ~]# mkfs.xfs /dev/vg_kvm/lvol0
meta-data=/dev/vg_kvm/lvol0      isize=512    agcount=32, agsize=36574336 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=1170378752, imaxpct=5
         =                       sunit=64     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=521728, versinotallow=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

设置开机自动挂载

vim /etc/fstab
# /etc/fstab
# Created by anaconda on Mon Mar 15 19:34:15 2021
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/klas-root   /                       xfs     defaults        0 0
/dev/mapper/klas-backup /backup                 xfs     noauto        0 0
UUID=b791f0d4-4d2e-4e7d-a423-163035f757cf /boot                   xfs     defaults        0 0
UUID=631A-9AFB          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/vg_kvm/lvol0               /data                   xfs     defaults      0 0

然后保存,执行mount -a挂载到/data目录

[root@localhost ~]# mount -a
[root@localhost ~]# df -h
文件系统                  容量  已用  可用 已用% 挂载点
devtmpfs                  255G     0  255G    0% /dev
tmpfs                     255G  192K  255G    1% /dev/shm
tmpfs                     255G   20M  255G    1% /run
tmpfs                     255G     0  255G    0% /sys/fs/cgroup
/dev/mapper/klas-root     392G   27G  365G    7% /
tmpfs                     255G     0  255G    0% /tmp
/dev/sda2                1014M  309M  706M   31% /boot
/dev/sda1                 200M  5.8M  195M    3% /boot/efi
tmpfs                      51G     0   51G    0% /run/user/0
/dev/mapper/vg_kvm-lvol0  4.4T  4.5G  4.4T    1% /data

2、LVM在线扩容

如果卷组中有空间可以直接扩到逻辑卷上,如果没有就要加一块磁盘

mkfs.xfs /dev/sdf1 -f #先增加一块磁盘
vgextend  vg_kvm /dev/sdf1  #将磁盘加入逻辑卷组
lvextend -L +1.09T  /dev/vg_kvm/lvol0  #将新增的空间加到逻辑卷上

在线扩容说明

resize2fs#针对的是ext2、ext3、ext4文件系统

xfs_growfs#针对的是xfs文件系统

[root@localhost ~]# xfs_growfs /data  #也可以直接跟/dev/vg_kvm/lvol0
meta-data=/dev/mapper/vg_kvm-lvol0 isize=512    agcount=32, agsize=27430784 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=877784064, imaxpct=5
         =                       sunit=64     swidth=64 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=428608, versinotallow=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 877784064 to 1171582976

总结:在操作系统安装的过程中,尽量将操作系统或者数据盘组成LVM的逻辑卷,这样可以避免后续环境上线后,磁盘空间不足而产生一系列的问题。LVM管理磁盘的情况下,能够很方便的进行磁盘的动态扩容。

来源:运维之美内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯