Linux 文件系统在线扩容实战

简介:

1.关于LVM的简要介绍


LVM,即logic volume manager,逻辑卷管理。LVM的架构图如下:

wKioL1O6Xx2yP5r3AAJQ8MbX44w519.jpg

说明:


第一,重点需要关注pv(physical volume) 物理卷,vg(volume group) 卷组,lv(logic volume) 逻辑卷这3个概念。


第二,对于具有LVM类型的分区,可以组成PV;VG是由一个个PV组成;VG不可以直接使用,它类似于扩展分区一样,随着VG中的PV的增减,VG也会自动增减;在VG的上层就是LV,LV就类似于逻辑分区,通过将LV格式化(也就是创建文件系统),挂载后,就可以使用了。




2. 在线扩容操作分享


实验环境

操作系统:RedHat Enterprise Linux Server release 5.0 - 32bit

文件系统:ext3


实验步骤

第一步,创建2个LVM分区


利用fdisk命令进行创建,利用选项t调整分区类型为8e(LINUX LVM),如下所示:

/dev/sdb6              33          57      200781   8e  Linux LVM

/dev/sdb7              58          82      200781   8e  Linux LVM



第二步,创建PV


[root@localhost /]# pvcreate /dev/sdb{6,7}

  Physical volume "/dev/sdb6" successfully created

  Physical volume "/dev/sdb7" successfully created


[root@localhost /]# pvs

  PV         VG   Fmt  Attr PSize   PFree  

  /dev/sdb6       lvm2 --   196.08M 196.08M

  /dev/sdb7       lvm2 --   196.08M 196.08M


通过pvdisplay可以查看更加详细具体的信息。


第三步:创建VG


[root@localhost /]# vgcreate myvg /dev/sdb{6,7}

  Volume group "myvg" successfully created

[root@localhost /]# vgs

  VG   #PV #LV #SN Attr   VSize   VFree  

  myvg   2   0   0 wz--n- 384.00M 384.00M



第四步:创建LV

[root@localhost /]# lvcreate -L 4M -n mylv1 myvg

  Logical volume "mylv1" created

[root@localhost /]# lvs

  LV    VG   Attr   LSize Origin Snap%  Move Log Copy% 

  mylv1 myvg -wi-a- 4.00M       


注意,为了演示实验效果,这里只创建了一个4M大小的LV。



第五步:格式化LV,并挂载使用


[root@localhost /]# mke2fs -j /dev/myvg/mylv1 


[root@localhost /]# mount /dev/myvg/mylv1 /users


[root@localhost /]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             3.8G  3.3G  384M  90% /

/dev/sda3              14G  1.1G   12G   9% /home

/dev/sda1              46M   11M   34M  24% /boot

tmpfs                 252M     0  252M   0% /dev/shm

/dev/mapper/myvg-mylv1

                      3.9M  1.1M  2.7M  29% /users


[root@localhost /]# cd /users

[root@localhost users]# ls -l

total 12

drwx------ 2 root root 12288 Jul  6 16:40 lost+found

[root@localhost users]# cp /etc/inittab .

[root@localhost users]# ls -l

total 15

-rw-r--r-- 1 root root  1666 Jul  6 16:41 inittab

drwx------ 2 root root 12288 Jul  6 16:40 lost+found

[root@localhost users]# lvs

  LV    VG   Attr   LSize Origin Snap%  Move Log Copy% 

  mylv1 myvg -wi-ao 4.00M                             



需要注意的是,df查看的是文件系统的大小。上面我们对LV创建了EXT3的文件系统,并挂在至/users目录下,同时将一个文件复制到/users下面。



第六步:在线调整文件系统的大小


[root@localhost users]# lvextend -L 32M /dev/myvg/mylv1   ====》这是物理扩容

  Extending logical volume mylv1 to 32.00 MB

  Logical volume mylv1 successfully resized


[root@localhost users]# lvs

  LV    VG   Attr   LSize  Origin Snap%  Move Log Copy% 

  mylv1 myvg -wi-ao 32.00M                     

         

[root@localhost users]# resize2fs -p /dev/myvg/mylv1     ====》这是逻辑扩容

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/myvg/mylv1 is mounted on /users; on-line resizing required

Performing an on-line resize of /dev/myvg/mylv1 to 32768 (1k) blocks.

The filesystem on /dev/myvg/mylv1 is now 32768 blocks long.



[root@localhost users]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             3.8G  3.3G  384M  90% /

/dev/sda3              14G  1.1G   12G   9% /home

/dev/sda1              46M   11M   34M  24% /boot

tmpfs                 252M     0  252M   0% /dev/shm

/dev/mapper/myvg-mylv1

                       32M  1.1M   30M   4% /users


[root@localhost users]# cat /users/inittab 

#

# inittab       This file describes how the INIT process should set up

#               the system in a certain run-level.

#

# Author:       Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>



通过LVM的逻辑架构图,需要明确的是,如果要对文件系统进行扩容,应该分为2步进行操作,首先进行物理扩容,然后是逻辑扩容。所谓物理扩容,是从物理的角度,对LV进行扩展,当然LV本身的大小收到VG的限制;所谓逻辑扩容,是通过对文件系统的逻辑边界进行重新确定,是依附于物理边界之上的。


3.小结

通过LVM工具,给大家展示一种Linux文件系统在线扩容办法,无需重启服务器,无需重新挂载文件系统,应用也无需做任何更改。 


本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1435410,如需转载请自行联系原作者


相关文章
|
14天前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
56 8
|
19天前
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
46 7
|
3月前
|
监控 Linux Shell
30 个实用的 Linux 命令贴与技巧,提升你的效率(附实战案例)
本文介绍了30个实用的Linux命令及其应用场景,帮助你提升命令行操作效率。涵盖返回目录、重新执行命令、查看磁盘使用情况、查找文件、进程管理、网络状态监控、定时任务设置等功能,适合各水平的Linux用户学习和参考。
|
3月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
4月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。
|
3月前
|
存储 缓存 Linux
Linux文件系统的功能规划
【9月更文挑战第12天】本文通过类比图书馆,形象地解释了文件系统的组织形式和管理方法。首先,文件系统需按块存储文件,并设有索引区方便查找。其次,热点文件应有缓存层提高效率,文件需分类存储以便管理。最后,Linux内核需记录文件使用情况,通过文件描述符区分不同文件,确保文件操作准确无误。
|
13天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
99 6
|
14天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
53 3
|
14天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
41 2
|
21天前
|
缓存 监控 Linux