文档章节

初学者的Linux——管理LVM逻辑卷

o
 osc_g96tdr1z
发布于 07/05 10:54
字数 1989
阅读 90
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

Linux–管理LVM逻辑卷

LVM

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小

物理卷(Physical Volume,PV)

指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

卷组(Volume Group,VG)

类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

逻辑卷(Logical Volume,LV)

类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

功能 物理卷管理(PV) 卷组管理(VG) 逻辑卷管理(LV
Scan(显示概要信息) pvscan vgscan lvscan
Create(建立) pvcreate vgcreate lvcreate
Display(显示详细信息) pvdisplay vgdisplay lvdisplay
Remove(删除) pvremove vgremove lvremove
Extend(扩展) vgextend lvextend
Reduce(减少) vgreduce lvreduce

逻辑卷创建实验

添加了3块磁盘,分别是/sdc;/sdd;/sde

创建物理卷,命令:pvcreate
[root@localhost ~]# pvcreate /dev/sdc /dev/sdd /dev/sde
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.
  Physical volume "/dev/sde" successfully created.
  
  已成功创建物理卷“/dev/sdc”。
已成功创建物理卷“/dev/sdd”。
已成功创建物理卷“/dev/sde”。
创建卷组vg01,命令:vgcreate
[root@localhost ~]# vgcreate vg01 /dev/sdc /dev/sdd /dev/sde 
  Volume group "vg01" successfully created
  已成功创建卷组“vg01”
创建逻辑卷lv01,命令:lvcreate
[root@localhost ~]# lvcreate -n lv01 -L 45G vg01
  Logical volume "lv01" created.
  逻辑卷“lv01”已创建。

创建完成,格式化

格式化命令:mkfs.xfs
[root@localhost ~]# mkfs.xfs /dev/vg01/lv01
meta-data=/dev/vg01/lv01         isize=512    agcount=4, agsize=2949120 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=11796480, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5760, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
元数据=/dev/vg01/lv01 isize=512 agcount=4,agsize=2949120块
=部门Z=512属性=2,项目32位=1
=crc=1 finobt=0,稀疏=0
数据=bsize=4096块=11796480,imaxpct=25
=sunit=0瑞士=0黑色
命名=版本2 bsize=4096 ascii ci=0 ftype=1
日志=内部日志bsize=4096块=5760,版本=2
=sectsz=512 sunit=0 blks,lazy count=1
realtime=none extsz=4096块=0,rtextents=0

先临时挂载,我这边临时挂载到/mnt目录下

[root@localhost ~]# mount /dev/vg01/lv01 /mnt

永久挂载,需要进入配置文件中进行配置

[root@localhost /]# vi /etc/fstab
配置输入

#
# /etc/fstab
# Created by anaconda on Mon Jun 22 10:14:03 2020
#
# 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
#
UUID=2e580993-167c-4588-8356-a47114697c26 /                       xfs     defaults        0 0
UUID=9c0e9f06-7cc8-4b29-9867-8d39122a8ce0 /boot                   xfs     defaults        0 0
UUID=9c762e05-b1d3-498e-acd2-1a279bfb29fe swap                    swap    defaults        0 0

/dev/vg01/lv01   /   opt    xfs   defaults 0 0 ###将这一行的内容进行输入,保存退出###

~                                                          

永久挂载配置完成

磁盘配额

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间

作用

磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。在服务器管理中此功能非常重要

设置磁盘配额

首先,需要Linux内核支持,并且安装xfsprogs与quota软件包

这边我的Linux系统是图形安装的,一般图形安装里面,很多软件包都有

这边先查询一下,是否有xfsprogs

命令 rpm -qa | grep xfsprogs
[root@localhost /]# rpm -qa | grep xfsprogs
xfsprogs-4.5.0-18.el7.x86_64

再查询一下其中是否有quota软件包

命令 rpm -ql xfsprogs |grep quota
[root@localhost /]# rpm -ql xfsprogs |grep quota
/usr/sbin/xfs_quota
/usr/share/man/man8/xfs_quota.8.gz

这边查到我这边系统中是有相关软件包的,接下来有一个关键点

关闭核心防护,我这边做实验,临时关闭一下,若不关闭,磁盘配额的命令是无法进行写入的

临时关闭核心防护

[root@localhost /]# setenforce 0

接下来进行永久挂载设置

[root@localhost /]# vim /etc/fstab

进行配置


#
# /etc/fstab
# Created by anaconda on Mon Jun 22 10:14:03 2020
#
# 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
#
UUID=2e580993-167c-4588-8356-a47114697c26 /                       xfs     defaults        0 0
UUID=9c0e9f06-7cc8-4b29-9867-8d39122a8ce0 /boot                   xfs     defaults        0 0
UUID=9c762e05-b1d3-498e-acd2-1a279bfb29fe swap                    swap    defaults        0 0

/dev/vg01/lv01   /   opt    xfs   defaults,usrquota,grpquota    0 0 
                                           ####这边在 defaults后面添加
                                           usrquota和grpquota两个命令,注意中间逗号
                                           要用英文模式###
~                                                                                                           
~                                                                            

配置完挂载后,需要先卸载卷组

卸载命令umount,后面跟你配置的卷组的路径(若不知道路径具体,可以df -th查询一下)

[root@localhost /]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/sda3             xfs       196G  4.7G  192G   3% /
devtmpfs              devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                 tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                 tmpfs     1.9G   13M  1.9G   1% /run
tmpfs                 tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1             xfs       297M  157M  140M  53% /boot
tmpfs                 tmpfs     378M   12K  378M   1% /run/user/42
tmpfs                 tmpfs     378M     0  378M   0% /run/user/0
/dev/mapper/vg01-lv01 xfs        45G   33M   45G   1% /mnt
###这个是我的路径/dev/mapper/vg01-lv01###

然后进行卸载

[root@localhost /]# umount /dev/mapper/vg01-lv01

然后再重新挂载一下

[root@localhost /]# mount -a

挂载完成,mount查看一下

[root@localhost /]# mount
。。。
最后一行
/dev/mapper/vg01-lv01 on /opt type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

这边看到,usrquota,grpquota已经有了

然后对软限制和硬限制配置

[root@localhost opt]# xfs_quota -x -c 'limit -u bsoft=50M bhard=80M isoft=4 ihard=6 he' /opt

由于普通用户没有足够的权限进行相关文件创建,这边我们先给he账号进行权限设置

[root@localhost ~]# chmod 777 /opt

然后查看一下

[root@localhost ~]# chmod 777 /opt
drwxrwxrwx.   2 root root    6 Jul  2 03:59 opt

然后我们进入he用户进行验证

[root@localhost /]# su - he
[he@localhost ~]$ cd /opt
[he@localhost opt]$ touch test{1..5}.txt
[he@localhost opt]$ ls
test1.txt  test2.txt  test3.txt  test4.txt  test5.txt
[he@localhost opt]$ touch test6.txt
[he@localhost opt]$ touch test7.txt
touch: cannot touch ‘test7.txt’: Disk quota exceeded
触摸:无法触摸“test7.txt”:超出磁盘配额

``
这边看到,之前的限制已经成功

o
粉丝 0
博文 53
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
树莓派(Raspberry Pi):完美的家用服务器

自从树莓派发布后,所有在互联网上的网站为此激动人心的设备提供了很多有趣和具有挑战性的使用方法。虽然这些想法都很棒,但树莓派( RPi )最明显却又是最不吸引人的用处是:创建你的完美家用...

异次元
2013/11/09
5.4K
8
Linux 反汇编工具--LDasm

LDasm (Linux 反汇编工具) 是一个基于 Perl/TK 的 objdump/binutils 图形化工具,试图模仿 W32Dasm 工具的外观。可搜索相互参照,将代码从 GAS 转换成 MASM 风格代码等等。...

匿名
2013/01/22
5.3K
1
DNS 管理系统--NamedManager

NamedManager 是一个基于 Web 的 DNS 管理系统,可用来添加、调整和删除 DNS 的 zones/records 数据,支持 Bind 作为后端的 DNS 服务,支持 IPv4 和 IPv6。...

匿名
2013/01/23
8.5K
0
Javascript图元绘制库--ternlight

基于HTML CANVAS API的Javascript库,提供在HTML页面上绘制图元——如流程图的能力。 目前已支持简单的矩形图元和图元间的连线(直线、直角连线两种),拖拽图元等能力。 该javascript librar...

fancimage1
2013/02/07
6.2K
1
实时分析系统--istatd

istatd是IMVU公司工程师开发的一款优秀的实时分析系统,能够有效地收集,存储和搜索各种分析指标,类似cacti,Graphite,Zabbix等系统。实际上,istatd修改了Graphite的存储后端,重新实现了...

匿名
2013/02/07
2.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

如何在Android中以像素为单位获取屏幕尺寸 - How to get screen dimensions as pixels in Android

问题: I created some custom elements, and I want to programmatically place them to the upper right corner ( n pixels from the top edge and m pixels from the right edge). 我创建......

javail
21分钟前
7
0
如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件?

问题: 如何在不使用运行代码的计算机上安装Excel的情况下使用C#创建Excel电子表格? 解决方案: 参考一: https://stackoom.com/question/dHZ/如何在不安装Microsoft-Office的情况下用C-创...

技术盛宴
51分钟前
7
0
如何使用pip升级所有Python软件包? - How to upgrade all Python packages with pip?

问题: Is it possible to upgrade all Python packages at one time with pip ? 是否可以通过pip一次升级所有Python软件包? Note : that there is a feature request for this on the off......

法国红酒甜
今天
9
0
活体检测+合成图鉴别面前,人脸“照片活化”黑产攻击一秒被擒

本文作者:y****n 如今,随着人脸技术的日趋成熟,新兴娱乐文化得到了极大的推动,尤其是随着 DeepFake、FaceSwap 等人脸编辑及生成技术的发展,虚拟主播、人脸合成带给人们全新的体验,但同...

百度开发者中心
昨天
12
0
如何在SQL Server中将多行文本合并为单个文本字符串?

问题: Consider a database table holding names, with three rows: 考虑一个包含名称的数据库表,该表具有三行: PeterPaulMary Is there an easy way to turn this into a single str......

富含淀粉
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部