环境

名称 属性
CPU x5650
内存 4G
磁盘 20G+4TB

这时候,我们假设服务器已经有如下东西:

  • 安装好了Parted(yum install parted)

  • 分区容量已经告捷,公司为服务器增加了一块4T硬盘用来增加容量!

  • 除了/boot分区外,其余都为LVM 模式的扩展逻辑分区

软件安装与信息查看

首先查看软件是否安装:

[root@Candy ~]# rpm -qa | grep lvm
lvm2-libs-2.02.118-2.el6.x86_64
lvm2-2.02.118-2.el6.x86_64
[root@Candy ~]# lv
lvchange     lvextend     lvmdiskscan  lvmsar       lvresize
lvconvert    lvm          lvmdump      lvreduce     lvs
lvcreate     lvmchange    lvmetad      lvremove     lvscan
lvdisplay    lvmconf      lvmsadc      lvrename
[root@Candy ~]# rpm -qa | grep parted
parted-2.1-29.el6.x86_64

软件准备好后顺便查看下 VM 硬件:

[root@Candy ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_candy-root7.3G  231M  6.7G   4% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             477M   30M  422M   7% /boot
/dev/mapper/vg_candy-home3.9G  8.0M  3.7G   1% /home
/dev/mapper/vg_candy-usr3.9G  382M  3.3G  11% /usr
/dev/mapper/vg_candy-var3.9G   63M  3.6G   2% /var
[root@Candy ~]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006e71cDevice Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2611    20458496   8e  Linux LVM
Disk /dev/sdb: 4398.0 GB, 4398046511104 bytes
255 heads, 63 sectors/track, 534698 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_candy-root: 8061 MB, 8061452288 bytes
255 heads, 63 sectors/track, 980 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_candy-usr: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_candy-var: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/vg_candy-home: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
[root@Candy ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb

这时候我们看到,Centos 已经知道有个sdb的盘了,但是没挂载与分区。


使用Parted进行扩容前的分区

现在假设除了/boot 其余分区都满了! 我们需要先进行分区,将4T的硬盘用上(/dev/sdb).

[root@Candy ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
新的磁盘标签类型? gpt
(parted) mkpart
分区名称?  []?
文件系统类型?  [ext2]? ext4
起始点? 0T
结束点? 4T
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name  标志1      1049kB  4398GB  4398GB
(parted)set 1 lvm on
(parted)p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number  Start   End     Size    File system  Name  标志
1      1049kB  4398GB  4398GB                      lvm
(parted)q
[root@Candy ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1

现在让我们来解释一下操作:

  1. mklabel将磁盘转换为gpt分区,因为MBR分区无法支持TB级硬盘(具体请自行查阅,parted当然也支持TB级以下的操作)

  2. mkpart将转换好的gpt磁盘进行分区,需要提供文件系统类型、开始点、结束点。

  3. 输入p 打印出刚才才做后生成的分区。

  4. set 1 lvm on 是将num为1的分区,tager设置为LVM ,这样才能添加到vm卷组里

下一步,我们查看我们的LVM组名叫什么:

[root@Candy ~]# vgsVG       #PV #LV #SN Attr   VSize  VFreevg_candy   1   4   0 wz--n- 19.51g    0[root@Candy ~]# vgdisplay--- Volume group ---VG Name               vg_candySystem IDFormat                lvm2Metadata Areas        1Metadata Sequence No  5VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                4Open LV               4Max PV                0Cur PV                1Act PV                1VG Size               19.51 GiBPE Size               4.00 MiBTotal PE              4994Alloc PE / Size       4994 / 19.51 GiBFree  PE / Size       0 / 0VG UUID               Gcm5Ml-fc88-Xk5q-xuPC-Kj7Y-alfK-i770Gc
[root@Candy ~]# lvscanACTIVE            '/dev/vg_candy/usr' [4.00 GiB] inheritACTIVE            '/dev/vg_candy/var' [4.00 GiB] inheritACTIVE            '/dev/vg_candy/home' [4.00 GiB] inheritACTIVE            '/dev/vg_candy/root' [7.51 GiB] inherit
[root@Candy ~]#

知道lvm卷组叫 'vg_candy’了, 我们就使用vgextend来向lvm ‘vg_candy’ 卷组添加成员了.

[root@Candy ~]# vgextend vag_candy /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Volume group "vg_candy" successfully extended

现在我们再用vgs命令看一下pv个数:

[root@Candy ~]# vgs
VG       #PV #LV #SN Attr   VSize VFree
vg_candy   2   4   0 wz--n- 4.02t 4.00t

大家对比未添加时的vgs是否有看到PV个数从1变为2了!

现在让我们用vgdisplay看看现在分区的容量.

[root@Candy ~]# vgdisplay--- Volume group ---VG Name               vg_candySystem IDFormat                lvm2Metadata Areas        2Metadata Sequence No  6VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                4Open LV               4Max PV                0Cur PV                2Act PV                2VG Size               4.02 TiBPE Size               4.00 MiBTotal PE              1053569Alloc PE / Size       4994 / 19.51 GiBFree  PE / Size       1048575 / 4.00 TiBVG UUID               Gcm5Ml-fc88-Xk5q-xuPC-Kj7Y-alfK-i770Gc

再次对比未添加的vgdiplay命令发现,FreePE 的value 从 0 / 0 变为 1048575 / 4.00 TiB . 这样说明Candy已经成功将4TB的lvm 分区添加进入到vg_candy 逻辑卷组里了。

现在我们对所有逻辑分区进行扩容前,df -h 看看有哪些分区。

[root@Candy ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_candy-root  7.3G  231M  6.7G   4%  /tmpfs                     1.9G     0  1.9G   0%  /dev/shm
/dev/sda1                  477M   30M  422M   7%  /boot
/dev/mapper/vg_candy-home  3.9G  8.0M  3.7G   1%  /home
/dev/mapper/vg_candy-usr   3.9G  382M  3.3G  11%  /usr
/dev/mapper/vg_candy-var   3.9G   63M  3.6G   2%  /var

现在麻烦的事已经做完了,接下来就剩下为分区进行扩容了.


为磁盘进行扩容

假设:我们需要向 这些分区都添加500G容量: //home/usr/var

[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-rootSize of logical volume vg_candy/root changed from 7.51 GiB (1922 extents) to 507.51 GiB (129922 extents).Logical volume root successfully resized[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-homeSize of logical volume vg_candy/home changed from 4.00 GiB (1024 extents) to 504.00 GiB (129024 extents).Logical volume home successfully resized[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-usrSize of logical volume vg_candy/usr changed from 4.00 GiB (1024 extents) to 504.00 GiB (129024 extents).Logical volume usr successfully resized[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-varSize of logical volume vg_candy/var changed from 4.00 GiB (1024 extents) to 504.00 GiB (129024 extents).Logical volume var successfully resized

大家注意,这一步操作时不可逆的!
如果输入了错误的分区名字还好! 如果添加到其它分区了,就得重复N遍来缩容,比较麻烦哦! 建议大家注仔细核对上面的FileSystem.
切记切记…

提示扩容成功! 让我们再次用上述命令查看LVM信息:

[root@Candy ~]# vgsVG       #PV #LV #SN Attr   VSize VFreevg_candy   2   4   0 wz--n- 4.02t 2.05t [root@Candy ~]# lvscanACTIVE            '/dev/vg_candy/usr' [504.00 GiB] inheritACTIVE            '/dev/vg_candy/var' [504.00 GiB] inheritACTIVE            '/dev/vg_candy/home' [504.00 GiB] inheritACTIVE            '/dev/vg_candy/root' [507.51 GiB] inherit[root@Candy ~]# vgdisplay--- Volume group ---VG Name               vg_candySystem IDFormat                lvm2Metadata Areas        2Metadata Sequence No  10VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                4Open LV               4Max PV                0Cur PV                2Act PV                2VG Size               4.02 TiBPE Size               4.00 MiBTotal PE              1053569Alloc PE / Size       516994 / 1.97 TiBFree  PE / Size       536575 / 2.05 TiBVG UUID               Gcm5Ml-fc88-Xk5q-xuPC-Kj7Y-alfK-i770Gc[root@Candy ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_candy-root  7.3G  231M  6.7G   4%  /tmpfs                     1.9G     0  1.9G   0%  /dev/shm
/dev/sda1                  477M   30M  422M   7%  /boot
/dev/mapper/vg_candy-home  3.9G  8.0M  3.7G   1%  /home
/dev/mapper/vg_candy-usr   3.9G  382M  3.3G  11%  /usr
/dev/mapper/vg_candy-var   3.9G   63M  3.6G   2%  /var

看到这里大家可能奇怪! 为什么df -h 还没变呢?


刷新磁盘信息与写入

我们需要用resize2fs 重设分区大小, 这样才能使df -h 也能生效.

而resize2fs 需要的时间与你给予的容量线性叠加. 也就是说你给的容量越多,resize2fs 的需要的时间就越多。

[root@Candy ~]# resize2fs /dev//mapper/vg_candy-root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev//mapper/vg_candy-root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 32
Performing an on-line resize of /dev//mapper/vg_candy-root to 133040128 (4k) blocks.
The filesystem on /dev//mapper/vg_candy-root is now 133040128 blocks long.[root@Candy ~]# resize2fs /dev//mapper/vg_candy-usr
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev//mapper/vg_candy-usr is mounted on /usr; on-line resizing required old desc_blocks = 1, new_desc_blocks = 32
Performing an on-line resize of /dev//mapper/vg_candy-usr to 132120576 (4k) blocks.
The filesystem on /dev//mapper/vg_candy-usr is now 132120576 blocks long.[root@Candy ~]# resize2fs /dev//mapper/vg_candy-var
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev//mapper/vg_candy-var is mounted on /var; on-line resizing required old desc_blocks = 1, new_desc_blocks = 32
Performing an on-line resize of /dev//mapper/vg_candy-var to 132120576 (4k) blocks.
The filesystem on /dev//mapper/vg_candy-var is now 132120576 blocks long.[root@Candy ~]# resize2fs /dev//mapper/vg_candy-home
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev//mapper/vg_candy-home is mounted on /home; on-line resizing required old desc_blocks = 1, new_desc_blocks = 32
Performing an on-line resize of /dev//mapper/vg_candy-home to 132120576 (4k) blocks.
The filesystem on /dev//mapper/vg_candy-home is now 132120576 blocks long.[root@Candy ~]# df -h
Filesystem                    Size  Used Avail Use%  Mounted on
/dev/mapper/vg_candy-root     500G  245M  474G   1%  /
tmpfs                         1.9G     0  1.9G   0%  /dev/shm
/dev/sda1                     477M   30M  422M   7%  /boot
/dev/mapper/vg_candy-home     496G   16M  471G   1%  /home
/dev/mapper/vg_candy-usr      496G  390M  471G   1%  /usr
/dev/mapper/vg_candy-var      496G   71M  471G   1%  /var

结束语

顺便给大家晒一张重启后系统自动挂载的图!


Centos 系统还是比较聪明的. 其实重启与不重启都能使用, 只是为大家演示重启后的效果.

希望此文章能帮助大家平滑的进行水平扩容!

Centos 大于4TB 硬盘LVM 水平扩容相关推荐

  1. redhat7扩容linux,vmware中Centos 7 linux的LVM磁盘扩容

    系统是RHEL7(centos7差不多一样) 关闭系统,在vmware.设置.硬盘.扩展.输入数字大于当前系统内存.点击扩展. 开机再查看磁盘信息 fdisk -l 注意:可以看出sda磁盘增加了,但 ...

  2. esxi硬盘分区格式_Esxi 虚拟机硬盘LVM分区扩容(图文)

    Esxi扩容一般分两种: 1 直接添加硬盘,制作逻辑卷后加到待扩容的逻辑卷上. 2 用扩容已有硬盘空间给待扩容的逻辑卷扩容. 这里我们采用第2种方法来扩容: 一.关闭虚拟机,编辑虚拟机,把硬盘空间从1 ...

  3. Centos 7.5利用LVM实现动态扩容大小

    Centos 7.5 利用LVM实现动态扩容大小 操作系统:Centos 7.5 64位 说明:当有在操作系统时发现磁盘空间不足时,可以通过增加磁盘空间大小来满足,但是以哪种方式来增加可能有不同方法, ...

  4. linux centos fedora 扩展硬盘分区操作命令 fdisk df lvm pvcreate vgcreate lvcreate

    linux centos fedora 扩展 硬盘分区 lvm fdisk df pvcreate vgcreate lvcreate 操作 命令 一.硬盘分区 在Linux系统中一个硬盘分区上限为1 ...

  5. centos7 lvm分区扩容(空间转移,将/home转至/根分区)

    分区扩容有两种方法: 1.添加新硬盘 2.从其他分区拿空闲空间,本次演示这种 查看vgdisplay剩余空间 [root@localhost ~]# vgdisplay --- Volume grou ...

  6. linux格式化大于2t硬盘分区,linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区...

    linux下大于2tb硬盘格式化及挂载,linux下大于2t的分区方法,linux gpt分区表 管理 自动挂载分区 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找 ...

  7. xfs文件系统lvm在线扩容

    通过pvs,vgs,lvs 等确认要扩容的VG,LV的名称.大小等信息,以免弄错. 1.确认服务器新扫描到的volume信息 #fdisk -l | more 2.fdisk 给新设备分区,选择分区类 ...

  8. ubuntu lvm mysql vg_使用LVM快照做mysql完全备份和lvm的扩容

    在规划mysql数据库时最好将数据和日志分开放到lvm分区中.使用LVM快照备份,需要将数据放在lvm分区. 试验中因mysql数据不是放在lvm分区,所以先将数据移到lvm分区.1.把原来存放在普通 ...

  9. CentOS上的硬盘分区

    CentOS上的硬盘分区 一.硬盘分区 1.当硬盘小于等于2T时,可以用fdisk. 2.当硬盘大于2T时,用parted命令. 二.格式化分区 三.将硬盘挂载到文件夹下 一.硬盘分区 1.当硬盘小于 ...

最新文章

  1. Spring Boot 中使用 MongoDB 增删改查
  2. 程序员日常工作中如何正确的偷懒?
  3. 今日代码(20210313)--美赛代码记录
  4. jQuery Easy UI Accordion(可伸缩的面板)包
  5. 帧大小超过交换机mtu_交换机的三种交换方式
  6. php提前输出响应及注意问题
  7. python安装-Python uWSGI 安装配置
  8. 语音识别怎么最终识别出字?
  9. 【2013年04月18号】
  10. MAMP Pro for Mac(PHP/MySQL开发环境)
  11. redo mysql mvcc_Mysql事务中的ACID是怎么实现的
  12. windows mysql 升级
  13. UCOS操作系统——任务管理(二)
  14. 一文熟练使用spring data jpa
  15. python 多行注释 unicode error 问题
  16. ftp服务器和共享文件夹权限设置,ftp服务器共享文件夹权限设置
  17. 查看电脑连接的wifi密码
  18. 推箱子简易java代码_Java实现简单推箱子游戏
  19. photoshop 人物修容的大体步骤
  20. QT5.6及以上版本virtualkeyboard软键盘

热门文章

  1. App是什么,可以分为几类?及其相关解释。
  2. 定期清理gitlab的备份监控gitlab备份
  3. QQ是怎么处理消息的
  4. python中pytest教程_Pytest安装新手详细教程
  5. (支持阿朱)安的广厦千万间 天下寒士尽欢颜
  6. 十月的秋风还没有来到...
  7. 基于python的动物判别系统
  8. 心理学转到计算机的女科学家,从局外人到局中人心理学研究理念演变.doc
  9. 大腿根部发黑怎么样白,变白方法
  10. 网易视频云资深产品经理钱栩磊:2B产品经理养成记