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,如需转载请自行联系原作者


相关文章
|
22天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
69 15
|
27天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
172 7
|
27天前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
46 7
|
1月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
2月前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
98 8
|
Linux Shell Unix
带你读《Linux实战》之一:欢迎使用Linux
你正在期望学习管理Linux计算机吗?这是一个很好的选择。虽然Linux常常驻留于消费者的桌面计算机上,但它同时也是服务器领域的绝对主宰,特别是虚拟服务器和云服务器。如果你打算管理当前引人关注的服务器和网络体系架构,你将不得不围绕Linux的命令行展开学习。除了第1章之外,本书的每一章都包括一个或两个实际项目。鉴于第1章的内容主要用来填补你的Linux知识体系中可能存在的基础知识空白,因此其组织形式与其他章节有所不同。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
241 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
955 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
149 3
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
84 14
Linux 10 个“who”命令示例