热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVM--逻辑卷管理

一、分区fdiskdevsdb#以下将硬盘devsdb划分为两个主分区(不建扩展分区):devsdb1、devsdb2,类型为Linux、LinuxLVM[root@

一、分区
fdisk /dev/sdb

#以下将硬盘/dev/sdb划分为两个主分区(不建扩展分区):/dev/sdb1、/dev/sdb2,类型为Linux、Linux LVM

[root@vm-centos7 ~]# fdisk /dev/sdb

Command (m for help): n      #按"n"键新建一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p      #出现菜单:e表示扩展分区,p表示主分区;这里首先创建主分区
Partition number (1-4, default 1): 1      #输入分区号,1表示第一个主分区
First sector (2048-41943039, default 2048):       #设置起始扇区,回车选择默认即可
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G      #设置末尾扇区,可通过+size{K,M,G}进行设置,这里设置为1G
Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2):       #创建第二个主分区
First sector (2099200-41943039, default 2099200):
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-41943039, default 41943039):         #大小默认到最大值,即硬盘剩余大小
Using default value 41943039
Partition 2 of type Linux and of size 19 GiB is set

Command (m for help): t         #改变分区类型
Partition number (1,2, default 2):          #选择改变/dev/sdb2分区类型
Hex code (type L to list all codes): 8e         #调整为'Linux LVM',所有类型列表可通过'l'查看
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p      #查看该硬盘下的所有分区

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x1b95f623

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200    41943039    19921920   8e  Linux LVM

Command (m for help): w      #保存并退出
The partition table has been altered!

#查看主机上所挂的硬盘大小及分区情况
fdisk -l


二、PV--物理卷
创建PV
pvcreate /dev/sdb2

查看PV详情
pvs
pvscan
pvdisplay

删除PV
pvremove /dev/sdb2


三、VG--卷组
创建VG
vgcreate appvg /dev/sdb2

查看VG详情
vgs
vgscan
vgdisplay

删除VG
vgremove appvg

扩展VG空间
vgextend appvg /dev/sdc

移除指定PV中的指定VG
vgreduce appvg /dev/sdc


四、LV--逻辑卷
创建LV
lvcreate -L 2G -n applv appvg

查看LV详情
lgs
lvscan
lvdisplay

格式化
mkfs.xfs /dev/appvg/applv #格式化为'xfs'格式,'/dev/appvg/applv'可通过lvdisplay查看

mkfs.ext4 /dev/appvg/applv #格式化为'ext4'格式
#可通过'df -T'查看当前系统使用的文件系统类型,再格式化成对应类型。


五、文件系统挂载
mkdir -p /app #首先创建目录
mount /dev/appvg/applv /app/ #挂载

将文件系统添加到开机自动挂载中
echo '/dev/mapper/appvg-applv /app xfs defaults 0 0' >>/etc/fstab
#'/dev/mapper/appvg-applv'可通过'df'查看'Filesystem'


六、xfs文件系统缩小
#说明:xfs文件系统只支持增大,不支持减小,如果要减小,必须在减小后重新格式化才能挂载上,因此必须先备份再减小。
#例子:文件系统/home目前为410G,较大,将其缩小为200G。
#调整前:

[root@bomc-node20 ~]# df -Th
Filesystem           Type      Size  Used Avail Use% Mounted on
/dev/mapper/bel-root xfs        50G  3.7G   47G   8% /
/dev/sda1            xfs      1014M  154M  861M  16% /boot
/dev/mapper/bel-home xfs       410G  1.2G  409G   1% /home
[root@bomc-node20 opt]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/bel/home
  LV Name                home
  VG Name                bel
  LV UUID                uyTIEv-IJHo-8a5D-dBx0-gzlT-wsUg-LUdkGm
  LV Write Access        read/write
  LV Creation host, time bomc-node20, 2018-05-04 13:47:39 +0800
  LV Status              available
  # open                 0
  LV Size                409.99 GiB
  Current LE             104957
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

1、使用xfsdump备份/home,首先安装xfsdump:
yum install xfsdump

2、执行备份,/opt下会生成备份文件home.xfsdump
xfsdump -l 0 -L home -M home -f /opt/home.xfsdump /home

3、卸除文件系统/home
umount /home

#如果报错:"umount: /home: target is busy."说明文件系统被进程占用,通过lsof或fuser查看
{
#安装命令:
yum install lsof

yum install psmisc
#检查:
lsof /home

fuser -m /home
#将输出结果显示的进程杀掉后,再卸除文件系统
kill -9 $PID
umount /home
}

4、缩小文件系统/home为200G
lvreduce -L 200G /dev/bel/home

5、格式化/home
mkfs.xfs -f /dev/bel/home

6、重新挂载/home
mount /dev/bel/home /home

7、将备份文件恢复至/home
xfsrestore -f /opt/home.xfsdump /home

#调整后

[root@bomc-node20 ~]# df -Th
Filesystem           Type      Size  Used Avail Use% Mounted on
/dev/mapper/bel-root xfs        50G  4.8G   46G  10% /
/dev/sda1            xfs      1014M  154M  861M  16% /boot
/dev/mapper/bel-home xfs       200G  1.2G  199G   1% /home
[root@bomc-node20 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/bel/home
  LV Name                home
  VG Name                bel
  LV UUID                uyTIEv-IJHo-8a5D-dBx0-gzlT-wsUg-LUdkGm
  LV Write Access        read/write
  LV Creation host, time bomc-node20, 2018-05-04 13:47:39 +0800
  LV Status              available
  # open                 1
  LV Size                200.00 GiB
  Current LE             51200
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2


七、xfs文件系统扩展
扩展VG空间
vgextend appvg /dev/sdc

扩展LV
lvextend -L 3G /dev/mapper/appvg-applv //增大至3G
lvextend -L +1G /dev/mapper/appvg-applv //增加1G

调整文件系统
xfs_growfs /dev/mapper/appvg-applv


八、ext2/ext3/ext4文件系统大小调整
调整LV
lvextend -L 3G /dev/mapper/appvg-applv //增大至3G
lvextend -L +1G /dev/mapper/appvg-applv //增加1G
lvreduce -L 2G /dev/mapper/appvg-applv //减小至2G
lvreduce -L -1G /dev/mapper/appvg-applv //减小1G

调整文件系统
resize2fs /dev/mapper/appvg-applv //执行调整


推荐阅读
  • linux分区文件信息,Linux中国 文件分区
    在这篇文章中,我们来了解一些用来检查你的系统分区的一些命令,这些命令将检查每个磁盘的分区情况和其它细节,例如总空间容量,已用 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • CryptSIPRetrieveSubjectGuid
    简介CryptSIPRetrieveSubjectGuid根据文件类型检索SubjectGUID,用于CryptSIPLoad。提示如果检索失败可以使用通用的CRYPT_SUBJT ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
author-avatar
密斯特_张_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有