Linux磁盘管理之LVM的使用

来源:脚本之家  责任编辑:小易  

partprobe不是LVM里面的命令,此命令用于在硬盘分区发生改变时,更新Linux内核中读取的硬盘分区表数据 resize2fs也不是LVM命令,此命令用于扩大或者缩小ext2、ext3或ext4文件大小 一个命令是用于磁盘分区,另一个用在文件系统

一、LVM介绍

LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定

在我们管理Linux磁盘的时候,通常会遇到这么一种情况。在最初规划Linux的磁盘的时候,我们给某个分区划分了一定量的磁盘空间,使用一段时间后,发现我们规划的磁盘空间不足了,这个时候怎么办?我们肯定要想办法给扩容呀,找一块磁盘分区,格式化,然后挂载,然后把数据拷贝到新加的磁盘上,然后把原有的磁盘卸载掉,通常我们是这样做的。这样一来虽然达到了扩容的目的,但是费时费力;如果第二次扩容,空间还是不够,我们又要重复上面的步骤;如果分配的磁盘空间过大,使用了很久才发现它根本用不到那么多空间,这个时候是不是又要调整呀,听着就感觉很繁琐。这时候你肯定要想有没有那种可挂载上一块盘,我们利用某种管理手段,可以在线的调整磁盘的空间,这样有节约了时间,也可实现弹性管理磁盘。对,lvm就有这样的功能。

vgdisplay看下你的系统是否有lvm分区,vgdisplay命令用于显示LVM卷组的信息。

LVM(logical volume manager)逻辑卷管理,它可以弹性的管理文件系统的容量,LVM的工作原理是将一个或多个底层块设备组织成一个逻辑设备,这个逻辑设备可以在未来新增或移除其他的分区到这个逻辑设备中,从而实现了弹性管理磁盘。

这是linux 的磁盘分区管理,如有用,请采用。谢谢 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分 LVM 区管理的灵活性。前面谈到,LV

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

逻辑卷可以动态调整磁盘容量,从而提高磁盘管理的灵活性,本次主要讲解的是逻辑卷(LVM)的创建,LVM逻辑卷的创建遵循一下思路:PV>VG>LV>格式化,挂载使用文件系统 依、首先我们准备两块SCSI硬盘,两块硬盘都通过fdisk 命令进行分区并全部使用其

VG:卷组(volume group)LVM卷组类似于非LVM系统中的物理硬盘,尤其物理卷组成,可以在卷组上创建一个或多个LVM分区(逻辑卷),LVM卷组由一个或多个物理卷组成

中医养生解析:为什么\"好男人一身毛\"从中医上来讲我们该如何解释\"好男人一身毛\"呢?我们都知道,肺是仅次于君主之官——心脏的器官,它掌管全身气血的疏布。当肺气足的时候,身体也会变得强壮。皮毛是受肺气支配中医认为“肺主皮毛”,肺可通过宣发作用将卫气和气血津液输送到全身,温煦肌肤皮毛,以维持其正常生理功能。由此可见,皮毛是受肺气支配的,《素问》中也有“皮毛者,肺之合”之说。头发反应肾好坏从中医理论来说,发为血之余,又发表于肾,所以说肾其华在发,当心肾不交时(失眠,神经衰弱),或先天禀赋不足,或思虑过度耗伤精血,或担惊受怕伤肾精时,头发就会变白。不管男人先天毛多不多,想要身体好还是要注意后天的

LV:逻辑卷(logical volume)LVM的逻辑卷类似非LVM系统中的硬盘分区,在逻辑卷之上可以创建文件系统。

作为新手麻麻,以为宝宝生下来就是大眼睛长睫毛!结果发现小宝宝都没有睫毛!!两个月左右睫毛才长长,然后就特别羡慕那种大眼睛长睫毛的宝宝~先来了解是什么原因造成的长睫毛~遗传因素:由于父母是长睫毛,所以孩子生下来也会是长睫毛,随着年龄的增长,睫毛会变得越来越黑。后天(营养)因素:宝宝睫毛长且黑的原因有可能与他们摄入的营养元素有很大关系,宝宝早期生长发育迅速,需要大量的营养,如果不能满足孩子所需的营养,那么可能会影响睫毛的生长,但如果满足了,那么孩子的睫毛又黑又亮。孕妈妈吃这些食物可以让未来的宝宝睫毛长鱼类鱼类含有丰富的DHA,可以促进视网膜光感细胞的发育和成熟,怀孕期间多吃鱼类不仅可以促进宝宝视力

LVM就是将一些零碎的磁盘分区(PV)合并成一个较大的磁盘(VG),然后在根据需要对这个较大的磁盘(VG)进行划分成不同的大小分区(LV),这些小的分区(LV)是可以动态的扩展和缩小的,这就是LVM的逻辑卷管理过程。所谓LVM的大磁盘就是将许多PV整合成的VG,那么这个大磁盘最大可达到多少容量呢?我们知道在文件系统里面数据存储的最小单位是块(block),不过在LVM当中数据储存的最小单位是PE,PE的的作用同block的作用一样,需要注意到是LVM默认使用的PE大小是4M,而LVM的VG最多能包含65534个PE,也就是说默认LVM的VG会有4×65534M/1024M=256G,所以PE的大小决定了VG的最大容量,当然我们在创建VG的时候可指定PE大小,从而来决定VG的大小。

在以前可能很少有人想到一枚小小的硬币可以拍到上万甚至十几万的高价,但伴随邮币卡行业的持续发展,现在的天价硬币已经越来越多,像1979年发行的5分硬币就曾卖到数万元左右的高价,这已经超过了相同重量黄金的价格。那如今的5分硬币市场价是多少呢?另外,很多人想了解5分硬币收藏价值如何,那我们一起来看看吧。5分硬币市场价是多少5分硬币发行背景在1955年3月1日,为了巩固和健全我国货币制度,中国人民银行正式发行了第二套人民币,共有1分、2分、5分、1角、2角、5角、1元两个版本、2元、3元、5元两个版本、10元,共11中面额,16个版别,这枚5分硬币就是第二套人民币中的辅币,其材质为铝镁合金,正面图案为

二、LVM实现

首先,科普一下:凌迟即“千刀万剐”,一般共需在受刑者身上来3600刀,而且前面3599刀不能让受刑者死亡,必须在最后一刀让受刑者死亡!下面给大家分别介绍本人认为的在国内、国外分别排前三的极刑:国内:1、烹刑烹刑就是白话所说的“火煮”吧,把人投入一人深的大锅里面,然后生火生煮!相比凌迟,烹刑对人更具有侮辱性,也是在进一步挑战人类的道德底线!最后的结果就是把活人煮成一锅“肉汤”!2、菹醢(zūhǎi)简单来说就是把人剁成肉泥,真是渣都不剩!传说暴君纣王和夏傑曾用此刑!3、骑木驴这是一种针对不守贞洁的女性的刑法,是对女性的极大侮辱,也提现出了妇女历史上较低的社会地位!在木头上竖一根木柱,把受刑女子吊

1)前期准备几块硬盘或者分区来模拟PV

[root@test-centos7-node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 2G 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 46G 0 part / sdb 8:16 0 50G 0 disk sr0 11:0 1 792M 0 rom [root@test-centos7-node1 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x6180123f. Command (m for help): p Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 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: 0x6180123f Device Boot Start End Blocks Id System Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-104857599, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-104857599, default 104857599): +10G Partition 1 of type Linux and of size 10 GiB is set Command (m for help): p Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 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: 0x6180123f Device Boot Start End Blocks Id System /dev/sdb1 2048 20973567 10485760 83 Linux Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' 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 (20973568-104857599, default 20973568): Using default value 20973568 Last sector, +sectors or +size{K,M,G} (20973568-104857599, default 104857599): +10G Partition 2 of type Linux and of size 10 GiB is set Command (m for help): t Partition number (1,2, default 2): Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): p Partition number (3,4, default 3): First sector (41945088-104857599, default 41945088): Using default value 41945088 Last sector, +sectors or +size{K,M,G} (41945088-104857599, default 104857599): +10G Partition 3 of type Linux and of size 10 GiB is set Command (m for help): t Partition number (1-3, default 3): Hex code (type L to list all codes): 8e Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Disk /dev/sdb: 53.7 GB, 53687091200 bytes, 104857600 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: 0x6180123f Device Boot Start End Blocks Id System /dev/sdb1 2048 20973567 10485760 8e Linux LVM /dev/sdb2 20973568 41945087 10485760 8e Linux LVM /dev/sdb3 41945088 62916607 10485760 8e Linux LVM Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@test-centos7-node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 2G 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 46G 0 part / sdb 8:16 0 50G 0 disk ├─sdb1 8:17 0 10G 0 part ├─sdb2 8:18 0 10G 0 part └─sdb3 8:19 0 10G 0 part sr0 11:0 1 792M 0 rom [root@test-centos7-node1 ~]#

说明:这里是用的分区来模拟硬盘当作PV,这里需要注意一点,就是我们分区完保存后,可能存在不同不到问题,就是我们分区完用lsblk看不到分区,可用 partprobe来同步分区信息。centos6 使用partx  -a /dev/sdb来增加分区同步到内存,如果是删除某个分区,就需要执行partx -d -nr # /dev/sdb  此命令表示从/dev/sdb的分区信息中删除sdb#分区信息,并同步到内存中。这里还需要注意一点的是我们分区的类型要选8e 表示Linux LVM

2)装lvm2这个包

[root@test-centos7-node1 ~]# lvs -bash: lvs: command not found [root@test-centos7-node1 ~]# yum info lvm2 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Available Packages Name : lvm2 Arch : x86_64 Epoch : 7 Version : 2.02.185 Release : 2.el7_7.2 Size : 1.3 M Repo : updates/7/x86_64 Summary : Userland logical volume management tools URL : http://sources.redhat.com/lvm2 License : GPLv2 Description : LVM2 includes all of the support for handling read/write operations on : physical volumes (hard disks, RAID-Systems, magneto optical, etc., : multiple devices (MD), see mdadm(8) or even loop devices, see : losetup(8)), creating volume groups (kind of virtual disks) from one : or more physical volumes and creating one or more logical volumes : (kind of logical partitions) in volume groups. [root@test-centos7-node1 ~]# yum install lvm2 -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package lvm2.x86_64 7:2.02.185-2.el7_7.2 will be installed --> Processing Dependency: lvm2-libs = 7:2.02.185-2.el7_7.2 for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Processing Dependency: device-mapper-persistent-data >= 0.7.0-0.1.rc6 for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Processing Dependency: liblvm2app.so.2.2(Base)(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Processing Dependency: libdevmapper.so.1.02(DM_1_02_141)(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Processing Dependency: libdevmapper-event.so.1.02(Base)(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Processing Dependency: liblvm2app.so.2.2()(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Processing Dependency: libdevmapper-event.so.1.02()(64bit) for package: 7:lvm2-2.02.185-2.el7_7.2.x86_64 --> Running transaction check ---> Package device-mapper-event-libs.x86_64 7:1.02.158-2.el7_7.2 will be installed ---> Package device-mapper-libs.x86_64 7:1.02.140-8.el7 will be updated --> Processing Dependency: device-mapper-libs = 7:1.02.140-8.el7 for package: 7:device-mapper-1.02.140-8.el7.x86_64 ---> Package device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2 will be an update ---> Package device-mapper-persistent-data.x86_64 0:0.8.5-1.el7 will be installed ---> Package lvm2-libs.x86_64 7:2.02.185-2.el7_7.2 will be installed --> Processing Dependency: device-mapper-event = 7:1.02.158-2.el7_7.2 for package: 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 --> Running transaction check ---> Package device-mapper.x86_64 7:1.02.140-8.el7 will be updated ---> Package device-mapper.x86_64 7:1.02.158-2.el7_7.2 will be an update ---> Package device-mapper-event.x86_64 7:1.02.158-2.el7_7.2 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================ Package Arch Version Repository Size ============================================================================================================================ Installing: lvm2 x86_64 7:2.02.185-2.el7_7.2 updates 1.3 M Installing for dependencies: device-mapper-event x86_64 7:1.02.158-2.el7_7.2 updates 190 k device-mapper-event-libs x86_64 7:1.02.158-2.el7_7.2 updates 189 k device-mapper-persistent-data x86_64 0.8.5-1.el7 base 423 k lvm2-libs x86_64 7:2.02.185-2.el7_7.2 updates 1.1 M Updating for dependencies: device-mapper x86_64 7:1.02.158-2.el7_7.2 updates 294 k device-mapper-libs x86_64 7:1.02.158-2.el7_7.2 updates 322 k Transaction Summary ============================================================================================================================ Install 1 Package (+4 Dependent packages) Upgrade ( 2 Dependent packages) Total download size: 3.8 M Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. (1/7): device-mapper-event-1.02.158-2.el7_7.2.x86_64.rpm | 190 kB 00:00:00 (2/7): device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64.rpm | 189 kB 00:00:00 (3/7): device-mapper-libs-1.02.158-2.el7_7.2.x86_64.rpm | 322 kB 00:00:00 (4/7): lvm2-2.02.185-2.el7_7.2.x86_64.rpm | 1.3 MB 00:00:00 (5/7): device-mapper-1.02.158-2.el7_7.2.x86_64.rpm | 294 kB 00:00:00 (6/7): lvm2-libs-2.02.185-2.el7_7.2.x86_64.rpm | 1.1 MB 00:00:00 (7/7): device-mapper-persistent-data-0.8.5-1.el7.x86_64.rpm | 423 kB 00:00:00 ---------------------------------------------------------------------------------------------------------------------------- Total 4.3 MB/s | 3.8 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : 7:device-mapper-1.02.158-2.el7_7.2.x86_64 1/9 Updating : 7:device-mapper-libs-1.02.158-2.el7_7.2.x86_64 2/9 Installing : 7:device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64 3/9 Installing : 7:device-mapper-event-1.02.158-2.el7_7.2.x86_64 4/9 Installing : 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 5/9 Installing : device-mapper-persistent-data-0.8.5-1.el7.x86_64 6/9 Installing : 7:lvm2-2.02.185-2.el7_7.2.x86_64 7/9 Created symlink from /etc/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket to /usr/lib/systemd/system/lvm2-lvmpolld.socket. Cleanup : 7:device-mapper-1.02.140-8.el7.x86_64 8/9 Cleanup : 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/9 Verifying : 7:device-mapper-libs-1.02.158-2.el7_7.2.x86_64 1/9 Verifying : 7:device-mapper-1.02.158-2.el7_7.2.x86_64 2/9 Verifying : device-mapper-persistent-data-0.8.5-1.el7.x86_64 3/9 Verifying : 7:lvm2-2.02.185-2.el7_7.2.x86_64 4/9 Verifying : 7:lvm2-libs-2.02.185-2.el7_7.2.x86_64 5/9 Verifying : 7:device-mapper-event-1.02.158-2.el7_7.2.x86_64 6/9 Verifying : 7:device-mapper-event-libs-1.02.158-2.el7_7.2.x86_64 7/9 Verifying : 7:device-mapper-1.02.140-8.el7.x86_64 8/9 Verifying : 7:device-mapper-libs-1.02.140-8.el7.x86_64 9/9 Installed: lvm2.x86_64 7:2.02.185-2.el7_7.2 Dependency Installed: device-mapper-event.x86_64 7:1.02.158-2.el7_7.2 device-mapper-event-libs.x86_64 7:1.02.158-2.el7_7.2 device-mapper-persistent-data.x86_64 0:0.8.5-1.el7 lvm2-libs.x86_64 7:2.02.185-2.el7_7.2 Dependency Updated: device-mapper.x86_64 7:1.02.158-2.el7_7.2 device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2 Complete! [root@test-centos7-node1 ~]#

说明:最小化安装系统默认系统上没有安装这个包的,所以我们需要把这个包装上才可创建LVM

3)创建PV

[root@test-centos7-node1 ~]# pvcreate /dev/sdb{1,2,3} Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdb2" successfully created. Physical volume "/dev/sdb3" successfully created. [root@test-centos7-node1 ~]# pvscan PV /dev/sdb1 lvm2 [10.00 GiB] PV /dev/sdb3 lvm2 [10.00 GiB] PV /dev/sdb2 lvm2 [10.00 GiB] Total: 3 [30.00 GiB] / in use: 0 [0 ] / in no VG: 3 [30.00 GiB] [root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 10.00g 10.00g /dev/sdb2 lvm2 --- 10.00g 10.00g /dev/sdb3 lvm2 --- 10.00g 10.00g [root@test-centos7-node1 ~]# pvdisplay "/dev/sdb1" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID MsszES-YPdm-YGQl-7rgg-B6gX-Q4xu-T8m1gz "/dev/sdb3" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb3 VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID BMMx8p-zu9O-ns61-G9DU-iKMR-NmZO-crCjlR "/dev/sdb2" is a new physical volume of "10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb2 VG Name PV Size 10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID LPynpW-twlu-fxwg-OlCT-jA2A-R5UI-fvqWLj [root@test-centos7-node1 ~]#

说明:pvcreate 命令表示创建PV 后面跟硬盘或分区对应的设备文件,pvscan 命令作用是搜索系统里面任何具有PV属性的磁碟,PV属性就是通过pvcreate创建过的磁碟,pvs是查看pv简要情况,pvdisplay 查看pv的详细信息。当然我们要移除某块盘,让其不具备PV属性,可以用pvremove + 磁盘的设备文件路径

[root@test-centos7-node1 ~]# pvremove /dev/sdb3 Labels on physical volume "/dev/sdb3" successfully wiped. [root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 10.00g 10.00g /dev/sdb2 lvm2 --- 10.00g 10.00g [root@test-centos7-node1 ~]#

说明:移除pv的前提是它没有在任何VG里面才可做移除,否则移除不了

4)创建VG

[root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 10.00g 10.00g /dev/sdb2 lvm2 --- 10.00g 10.00g [root@test-centos7-node1 ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. [root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- 10.00g 10.00g /dev/sdb2 lvm2 --- 10.00g 10.00g /dev/sdb3 lvm2 --- 10.00g 10.00g [root@test-centos7-node1 ~]# vgcreate test -s 8M /dev/sdb{1,2,3} Volume group "test" successfully created [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 3 0 0 wz--n- <29.98g <29.98g [root@test-centos7-node1 ~]# vgscan Reading volume groups from cache. Found volume group "test" using metadata type lvm2 [root@test-centos7-node1 ~]# vgdisplay --- Volume group --- VG Name test System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size <29.98 GiB PE Size 8.00 MiB Total PE 3837 Alloc PE / Size 0 / 0 Free PE / Size 3837 / <29.98 GiB VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum [root@test-centos7-node1 ~]# vgreduce test /dev/sdb3 Removed "/dev/sdb3" from volume group "test" [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 2 0 0 wz--n- 19.98g 19.98g [root@test-centos7-node1 ~]# vgcreate test2 /dev/sdb3 Volume group "test2" successfully created [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 2 0 0 wz--n- 19.98g 19.98g test2 1 0 0 wz--n- <10.00g <10.00g [root@test-centos7-node1 ~]# vgdisplay test2 --- Volume group --- VG Name test2 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <10.00 GiB PE Size 4.00 MiB Total PE 2559 Alloc PE / Size 0 / 0 Free PE / Size 2559 / <10.00 GiB VG UUID rc94SP-JAlk-63Rw-n5xz-qB0d-grnT-ItrMvT [root@test-centos7-node1 ~]# vgremove test2 Volume group "test2" successfully removed [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 2 0 0 wz--n- 19.98g 19.98g [root@test-centos7-node1 ~]#

说明:同样的vgcreate 表示创建VG 其用法格式是vgcreate  VGNAME [option] 储存设备路径 其中-s表示指定PE的大小,VGNAME表示VG的名称,需要说明的是,指定名称不能和系统现有的VG名称相同;vgs查看系统上所有VG的简要信息,vgscan搜寻系统上面是否有VG,vgdisplay查看所有VG的详细信息,当然此例中只有一个,我们也可在后面指定查看某个VG的详细信息,只需要指定其VG名称即可;有关vg的命令有很多其中vgreduce的作用是在VG内移除PV,vgremove的作用是删除一个VG,这两个命令都需要在其后指定要操作的VG名称

5)创建LV

[root@test-centos7-node1 ~]# lvs [root@test-centos7-node1 ~]# lvcreate -L 2G -n aaa test Logical volume "aaa" created. [root@test-centos7-node1 ~]# lvcreate -L 3G -n bbb test Logical volume "bbb" created. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert aaa test -wi-a----- 2.00g bbb test -wi-a----- 3.00g [root@test-centos7-node1 ~]# lvscan ACTIVE '/dev/test/aaa' [2.00 GiB] inherit ACTIVE '/dev/test/bbb' [3.00 GiB] inherit [root@test-centos7-node1 ~]# lvdisplay --- Logical volume --- LV Path /dev/test/aaa LV Name aaa VG Name test LV UUID R9weh0-D85B-rMcW-oYSM-dAQb-gIQh-RXxITP LV Write Access read/write LV Creation host, time test-centos7-node1, 2020-01-06 09:05:23 -0500 LV Status available # open 0 LV Size 2.00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Logical volume --- LV Path /dev/test/bbb LV Name bbb VG Name test LV UUID LYwvZj-ogpf-nwtF-mja6-xwwl-A24W-BslJOu LV Write Access read/write LV Creation host, time test-centos7-node1, 2020-01-06 09:05:34 -0500 LV Status available # open 0 LV Size 3.00 GiB Current LE 384 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:1 [root@test-centos7-node1 ~]# lvresize -L +4G /dev/test/aaa Size of logical volume test/aaa changed from 2.00 GiB (256 extents) to 6.00 GiB (768 extents). Logical volume test/aaa successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert aaa test -wi-a----- 6.00g bbb test -wi-a----- 3.00g [root@test-centos7-node1 ~]# lvresize -L -1G /dev/test/bbb WARNING: Reducing active logical volume to 2.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce test/bbb? [y/n]: y Size of logical volume test/bbb changed from 3.00 GiB (384 extents) to 2.00 GiB (256 extents). Logical volume test/bbb successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert aaa test -wi-a----- 6.00g bbb test -wi-a----- 2.00g [root@test-centos7-node1 ~]# lvreduce -L 3G /dev/test/aaa WARNING: Reducing active logical volume to 3.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce test/aaa? [y/n]: y Size of logical volume test/aaa changed from 6.00 GiB (768 extents) to 3.00 GiB (384 extents). Logical volume test/aaa successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert aaa test -wi-a----- 3.00g bbb test -wi-a----- 2.00g [root@test-centos7-node1 ~]# lvreduce -L -1G /dev/test/aaa WARNING: Reducing active logical volume to 2.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce test/aaa? [y/n]: y Size of logical volume test/aaa changed from 3.00 GiB (384 extents) to 2.00 GiB (256 extents). Logical volume test/aaa successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert aaa test -wi-a----- 2.00g bbb test -wi-a----- 2.00g [root@test-centos7-node1 ~]# lvremove /dev/test/bbb Do you really want to remove active logical volume test/bbb? [y/n]: y Logical volume "bbb" successfully removed [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert aaa test -wi-a----- 2.00g [root@test-centos7-node1 ~]#

说明:lvcreate 命令作用是创建LV 其中-L表示指定LV的大小,-n表示lv的名称 最后跟VG的名称,表示从那个VG上创建LV;lvs 命令作用是查看系统所有的lv简要信息 ;lvdisplay 查看LV的详细信息,后面可以跟VG的名称表示查看指定VG上的所有LV的详细信息;lvreduce 命令作用是缩减指定LV里的空间,如果指定的大小是负数如-3M 表示缩减3M  如果指定的是 3M 则表示缩减至3M ,这个需要注意,还有这个命令指定大小不能以类似+4M来指定;lvresize此命令的作用是调整LV的容量大小,这个命令指定调整大小+表示增加多少,-表示减少多少,若没有+/-表示调整到指定大小,lvresize和lvreduce这两个命令后面都是跟的lv对应设备的路径(其实不是真的设备路径,是设备的软连接路径),不能指定其名称;lvremove命令作用是删除指定的LV,若指定的是vg名,表示删除该VG上的所有LV,若需要删除某个LV 需要指定其对应设备路径。

到此lvm就已经实现,后续就可以直接格式化,然后挂载使用了

[root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 2 0 0 wz--n- 19.98g 19.98g [root@test-centos7-node1 ~]# lvcreate -l 100%FREE -n xxx test WARNING: xfs signature detected on /dev/test/xxx at offset 0. Wipe it? [y/n]: y Wiping xfs signature on /dev/test/xxx. Logical volume "xxx" created. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert xxx test -wi-a----- 19.98g [root@test-centos7-node1 ~]# mkfs.xfs -f /dev/test/xxx meta-data=/dev/test/xxx isize=512 agcount=4, agsize=1309696 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5238784, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@test-centos7-node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 2G 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 46G 0 part / sdb 8:16 0 50G 0 disk ├─sdb1 8:17 0 10G 0 part │ └─test-xxx 253:0 0 20G 0 lvm ├─sdb2 8:18 0 10G 0 part │ └─test-xxx 253:0 0 20G 0 lvm └─sdb3 8:19 0 10G 0 part sr0 11:0 1 792M 0 rom [root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 20G 33M 20G 1% /mnt [root@test-centos7-node1 ~]#

三、扩容LV

1)创建PV,并将其加入到VG中

[root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 test lvm2 a-- 9.99g 0 /dev/sdb2 test lvm2 a-- 9.99g 0 [root@test-centos7-node1 ~]# vgdisplay --- Volume group --- VG Name test System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 28 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 19.98 GiB PE Size 8.00 MiB Total PE 2558 Alloc PE / Size 2558 / 19.98 GiB Free PE / Size 0 / 0 VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum [root@test-centos7-node1 ~]#

说明:从上面的信息可以看到VG的大小是19.98G 也就是两块PV的大小。现在我们新创建一个pv,然后加到vg里

[root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 test lvm2 a-- 9.99g 0 /dev/sdb2 test lvm2 a-- 9.99g 0 [root@test-centos7-node1 ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. [root@test-centos7-node1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 test lvm2 a-- 9.99g 0 /dev/sdb2 test lvm2 a-- 9.99g 0 /dev/sdb3 lvm2 --- 10.00g 10.00g [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 2 1 0 wz--n- 19.98g 0 [root@test-centos7-node1 ~]# vgextend test /dev/sdb3 Volume group "test" successfully extended [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 3 1 0 wz--n- <29.98g 9.99g [root@test-centos7-node1 ~]# vgdisplay --- Volume group --- VG Name test System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 31 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size <29.98 GiB PE Size 8.00 MiB Total PE 3837 Alloc PE / Size 2558 / 19.98 GiB Free PE / Size 1279 / 9.99 GiB VG UUID 31vxAP-L5jb-8Yxm-25m2-LdD0-ee8R-sdTjum [root@test-centos7-node1 ~]#

说明:vgextend命令作用是将指定pv加入到指定VG中,VG指定其名称即可,pv需指定其设备路径

2)将新加的VG的PE加入到xxx LV里

[root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 3 1 0 wz--n- <29.98g 9.99g [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert xxx test -wi-ao---- 19.98g [root@test-centos7-node1 ~]# lvdisplay --- Logical volume --- LV Path /dev/test/xxx LV Name xxx VG Name test LV UUID ihOo41-gh1L-eSHK-iLXY-UGfF-J6uI-UmVWhF LV Write Access read/write LV Creation host, time test-centos7-node1, 2020-01-06 10:00:08 -0500 LV Status available # open 1 LV Size 19.98 GiB Current LE 2558 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@test-centos7-node1 ~]# lvextend -l +100%FREE /dev/test/xxx Size of logical volume test/xxx changed from 19.98 GiB (2558 extents) to <29.98 GiB (3837 extents). Logical volume test/xxx successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert xxx test -wi-ao---- <29.98g [root@test-centos7-node1 ~]# lvdisplay --- Logical volume --- LV Path /dev/test/xxx LV Name xxx VG Name test LV UUID ihOo41-gh1L-eSHK-iLXY-UGfF-J6uI-UmVWhF LV Write Access read/write LV Creation host, time test-centos7-node1, 2020-01-06 10:00:08 -0500 LV Status available # open 1 LV Size <29.98 GiB Current LE 3837 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@test-centos7-node1 ~]# vgs VG #PV #LV #SN Attr VSize VFree test 3 1 0 wz--n- <29.98g 0 [root@test-centos7-node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 2G 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 46G 0 part / sdb 8:16 0 50G 0 disk ├─sdb1 8:17 0 10G 0 part │ └─test-xxx 253:0 0 30G 0 lvm /mnt ├─sdb2 8:18 0 10G 0 part │ └─test-xxx 253:0 0 30G 0 lvm /mnt └─sdb3 8:19 0 10G 0 part └─test-xxx 253:0 0 30G 0 lvm /mnt sr0 11:0 1 792M 0 rom [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 20G 33M 20G 1% /mnt [root@test-centos7-node1 ~]#

说明:可看到lvs里的空间已经加上去,lvextend命令作用是将指定VG里的空间添加到指定的lv中,上面的例子是把VG里的所有空闲空间添加到/dev/test/xxx里,当然还有一种情况在VG还有空余的空间,我们可以用lvresize 来调整lv的大小;从上面的信息可以看到我们把新的空间加入到VG和Lv中后,df 看挂载点空间却没有增加,接下来我们通过resize2fs将文件系统同步到增大的空间。

[root@test-centos7-node1 ~]# resize2fs /dev/test/xxx resize2fs 1.42.9 (28-Dec-2013) resize2fs: Bad magic number in super-block while trying to open /dev/test/xxx Couldn't find valid filesystem superblock. [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 20G 33M 20G 1% /mnt [root@test-centos7-node1 ~]#

说明:看来用此命令不行,因为resize2fs这个命令针对ext系列的文件系统,xfs需要用 xfs_growfs来调整

[root@test-centos7-node1 ~]# xfs_growfs /dev/test/xxx meta-data=/dev/mapper/test-xxx isize=512 agcount=4, agsize=1309696 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=5238784, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 5238784 to 7858176 [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 30G 33M 30G 1% /mnt [root@test-centos7-node1 ~]#

四、缩减LV(xfs文件系统)

1)卸载已经挂好的LV

[root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 30G 33M 30G 1% /mnt [root@test-centos7-node1 ~]# umount /mnt [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 [root@test-centos7-node1 ~]#

2)强制进行磁盘检测

[root@test-centos7-node1 ~]# xfs_repair -n /dev/test/xxx Phase 1 - find and verify superblock... Phase 2 - using internal log - zero log... - scan filesystem freespace and inode maps... - found root inode chunk Phase 3 - for each AG... - scan (but don't clear) agi unlinked lists... - process known inodes and perform inode discovery... - agno = 0 - agno = 1 - agno = 2 - agno = 3 - process newly discovered inodes... Phase 4 - check for duplicate blocks... - setting up duplicate extent list... - check for inodes claiming duplicate blocks... - agno = 0 - agno = 1 - agno = 2 - agno = 3 No modify flag set, skipping phase 5 Phase 6 - check inode connectivity... - traversing filesystem ... - traversal finished ... - moving disconnected inodes to lost+found ... Phase 7 - verify link counts... No modify flag set, skipping filesystem flush and exiting. [root@test-centos7-node1 ~]#

说明:ext系列文件系统可e2fsck命令检查

3)调整lv大小

[root@test-centos7-node1 ~]# lvreduce -L -10G /dev/test/xxx WARNING: Reducing active logical volume to <19.98 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce test/xxx? [y/n]: y Size of logical volume test/xxx changed from <29.98 GiB (3837 extents) to <19.98 GiB (2557 extents). Logical volume test/xxx successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert xxx test -wi-a----- <19.98g [root@test-centos7-node1 ~]# lvdisplay --- Logical volume --- LV Path /dev/test/xxx LV Name xxx VG Name test LV UUID uhZZaz-Odd9-ibwY-2Z1Z-ZmNY-eZF7-0lXERT LV Write Access read/write LV Creation host, time test-centos7-node1, 2020-01-06 10:32:42 -0500 LV Status available # open 0 LV Size <19.98 GiB Current LE 2557 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 [root@test-centos7-node1 ~]#

4)挂载

[root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt mount: /dev/mapper/test-xxx: can't read superblock [root@test-centos7-node1 ~]#

说明:做到这里发现一个问题,xfs文件系统是不支持逻辑卷缩减的,为什么呢?xfs的文件系统调整命令是xfs_growfs 这个命令只支持增大的操作。我们在调整lv大小的时候实际上是把文件系统给破坏了,要想缩减空间,就必须重新格式化后在挂载,这样一来如果原有的盘里有数据就丢了。所以xfs上做LV的缩减没有意义

[root@test-centos7-node1 ~]# mkfs.xfs /dev/test/xxx -f meta-data=/dev/test/xxx isize=512 agcount=4, agsize=1309184 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5236736, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 20G 33M 20G 1% /mnt [root@test-centos7-node1 ~]

五、缩减LV(ext系列文件系统)

1)卸载已挂载的LV

[root@test-centos7-node1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 xfs 46G 1.6G 45G 4% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 2.0G 135M 1.9G 7% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx ext4 20G 45M 19G 1% /mnt [root@test-centos7-node1 ~]# umount /mnt [root@test-centos7-node1 ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 xfs 46G 1.6G 45G 4% / devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 xfs 2.0G 135M 1.9G 7% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0 [root@test-centos7-node1 ~]#

2)强制执行磁盘检测

[root@test-centos7-node1 ~]# e2fsck -f /dev/test/xxx e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/test/xxx: 11/1310720 files (0.0% non-contiguous), 126322/5236736 blocks [root@test-centos7-node1 ~]#

说明:这一步我们在不执行的话,直接下一步它也会提示我们先做磁盘检测

3)调整文件系统大小

[root@test-centos7-node1 ~]# resize2fs /dev/test/xxx 12G resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/test/xxx to 3145728 (4k) blocks. The filesystem on /dev/test/xxx is now 3145728 blocks long. [root@test-centos7-node1 ~]#

4)调整LV的大小

[root@test-centos7-node1 ~]# lvreduce -L 12G /dev/test/xxx WARNING: Reducing active logical volume to 12.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce test/xxx? [y/n]: y Size of logical volume test/xxx changed from <19.98 GiB (2557 extents) to 12.00 GiB (1536 extents). Logical volume test/xxx successfully resized. [root@test-centos7-node1 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert xxx test -wi-a----- 12.00g [root@test-centos7-node1 ~]#

说明:这里缩减到的空间需同文件系统的大小一致或者缩减后的空间比文件系统调整的空间要大才行,这样才不能损坏文件系统,切记不能比文件系统调整的空间还小,小了,在缩减空间的时候就破坏了文件系统,会导致后续的挂载无法进行。

5)挂载

[root@test-centos7-node1 ~]# mount /dev/test/xxx /mnt [root@test-centos7-node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 46G 1.6G 45G 4% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/sda1 2.0G 135M 1.9G 7% /boot tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/test-xxx 12G 41M 12G 1% /mnt [root@test-centos7-node1 ~]#

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

如何使用LVM卷管理Linux系统中的磁盘

LVM逻辑卷管理器是对Linux系统中对存储资源进行管理的一种机制,部署LVM逻辑卷管理器需要依次对对物理卷、卷组和逻辑卷的逐个配置,常见的命令分别包括有:

功能/命令 物理卷管理 卷组管理 逻辑卷管理

扫描 pvscan vgscan lvscan

建立 pvcreate vgcreate lvcreate

显示 pvdisplay vgdisplay lvdisplay

删除 pvremove vgremove lvremove

扩展 vgextend lvextend

为避免实验之间互相冲突,请您自行还原虚拟机到最初始状态,并在虚拟机中添加两块新硬盘设备后开机,如图7-7所示:

图7-7 在虚拟机中添加一块新的硬盘设备

在虚拟机中添加两块新硬盘设备的目的是为了更好的向同学们演示LVM逻辑卷管理器对于让用户无需关心底层物理硬盘设备的特性,咱们将会对这两块新的硬盘先进行创建物理卷操作,可以简单理解成让硬盘设备支持了LVM技术,然后将两块硬盘进行卷组合并,卷组的名称可以由您来自定义,接下来是将合并后的卷组根据需求再切割出一个约为150M的逻辑卷设备,最后将这个逻辑卷设备格式化成XFS文件系统后挂载使用。现在知道大致的流程后就可以,刘遄老师还会对下面每一个步骤再做一些简单的描述。

第1步:让新添加的两块硬盘设备支持LVM逻辑卷管理器技术:

[root@linuxprobe ~]# pvcreate /dev/sdb /dev/sdc

Physical volume "/dev/sdb" successfully created

Physical volume "/dev/sdc" successfully created

第2步:将两块硬盘设备都加入到storage卷组中,然后查看下卷组的状态:

[root@linuxprobe ~]# vgcreate storage /dev/sdb /dev/sdc

Volume group "storage" successfully created

[root@linuxprobe ~]# vgdisplay

--- Volume group ---

VG Name storage

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 1

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 0

Open LV 0

Max PV 0

Cur PV 2

Act PV 2

VG Size 39.99 GiB

PE Size 4.00 MiB

Total PE 10238

Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB

VG UUID KUeAMF-qMLh-XjQy-ArUo-LCQI-YF0o-pScxm1

………………省略部分输出信息………………

第3步:切割出一个约为150M的逻辑卷设备:

同学们需要注意下切割单位的问题,在LVM逻辑卷管理器对LV逻辑卷的切割上面有两种计量单位,第一种是常见以-L参数来以容量单位为对象,例如使用-L 150M来生成一个大小为150M的逻辑卷,还可以使用-l参数来指定要使用PE基本单元的个数,默认每个PE的大小为4M,因此允许使用-l 37来生成一个大小为37*4M=148M的逻辑卷:

[root@linuxprobe ~]# lvcreate -n vo -l 37 storage

Logical volume "vo" created

[root@linuxprobe ~]# lvdisplay

--- Logical volume ---

LV Path /dev/storage/vo

LV Name vo

VG Name storage

LV UUID D09HYI-BHBl-iXGr-X2n4-HEzo-FAQH-HRcM2I

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-02-01 01:22:54 -0500

LV Status available

# open 0

LV Size 148.00 MiB

Current LE 37

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 253:2

………………省略部分输出信息………………

第4步:将生成好的逻辑卷格式化后挂载使用:

Linux系统会把LVM逻辑卷管理器中的逻辑卷设备存放在/dev设备目录中(实际上是做了一个符号链接,但读者们无需关心),同时会以卷组的名称来建立一个目录,其中保存有逻辑卷的设备映射文件。

[root@linuxprobe ~]# mkfs.ext4 /dev/storage/vo

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

38000 inodes, 151552 blocks

7577 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=33816576

19 block groups

8192 blocks per group, 8192 fragments per group

2000 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Allocating group tables: done

Writing inode tables: done

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

[root@linuxprobe ~]# mkdir /linuxprobe

[root@linuxprobe ~]# mount /dev/storage/vo /linuxprobe

第5步:查看挂载状态,并写入到配置文件永久生效:

[root@linuxprobe ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/rhel-root 18G 3.0G 15G 17% /

devtmpfs 905M 0 905M 0% /dev

tmpfs 914M 140K 914M 1% /dev/shm

tmpfs 914M 8.8M 905M 1% /run

tmpfs 914M 0 914M 0% /sys/fs/cgroup

/dev/sr0 3.5G 3.5G 0 100% /media/cdrom

/dev/sda1 497M 119M 379M 24% /boot

/dev/mapper/storage-vo 145M 7.6M 138M 6% /linuxprobe

[root@linuxprobe ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab

7.2.2 扩容逻辑卷

虽然咱们的卷组是由两块硬盘设备共同组成的,但用户使用存储资源时感知不到底层硬盘的结构,也不用关心底层是由多少块硬盘组成的,只要卷组中的资源足够就可以一直为逻辑卷扩容,扩展前请一定要记得卸载设备和挂载点的关联。

[root@linuxprobe ~]# umount /linuxprobe

第1步:将上个实验中的逻辑卷vo扩展至290M:

[root@linuxprobe ~]# lvextend -L 290M /dev/storage/vo

Rounding size to boundary between physical extents: 292.00 MiB

Extending logical volume vo to 292.00 MiB

Logical volume vo successfully resized

第2步:检查磁盘完整性,重置硬盘容量:

[root@linuxprobe ~]# e2fsck -f /dev/storage/vo

e2fsck 1.42.9 (28-Dec-2013)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/storage/vo: 11/38000 files (0.0% non-contiguous), 10453/151552 blocks

[root@linuxprobe ~]# resize2fs /dev/storage/vo

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/storage/vo to 299008 (1k) blocks.

The filesystem on /dev/storage/vo is now 299008 blocks long.

第3步:重新挂载硬盘设备并查看挂载状态:

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/rhel-root 18G 3.0G 15G 17% /

devtmpfs 985M 0 985M 0% /dev

tmpfs 994M 80K 994M 1% /dev/shm

tmpfs 994M 8.8M 986M 1% /run

tmpfs 994M 0 994M 0% /sys/fs/cgroup

/dev/sr0 3.5G 3.5G 0 100% /media/cdrom

/dev/sda1 497M 119M 379M 24% /boot

/dev/mapper/storage-vo 279M 2.1M 259M 1% /linuxprobe

7.2.3 缩小逻辑卷

相比于扩容逻辑卷来讲,对逻辑卷的缩小操作存在着更高丢失数据的风险,所以在生产环境中同学们一定要留心记得提前备份好数据,另外Linux系统规定对LVM逻辑卷的缩小操作需要先检查文件系统的完整性,当然这也是在保证咱们的数据安全,操作前记得先把文件系统卸载掉:

[root@linuxprobe ~]# umount /linuxprobe

第1步:检查文件系统的完整性:

[root@linuxprobe ~]# e2fsck -f /dev/storage/vo

e2fsck 1.42.9 (28-Dec-2013)

Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure

Pass 3: Checking directory connectivity

Pass 4: Checking reference counts

Pass 5: Checking group summary information

/dev/storage/vo: 11/74000 files (0.0% non-contiguous), 15507/299008 blocks

第2步:将LV逻辑卷的容量减小到120M:

[root@linuxprobe ~]# resize2fs /dev/storage/vo 120M

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/storage/vo to 122880 (1k) blocks.

The filesystem on /dev/storage/vo is now 122880 blocks long.

[root@linuxprobe ~]# lvreduce -L 120M /dev/storage/vo

WARNING: Reducing active logical volume to 120.00 MiB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce vo? [y/n]: y

Reducing logical volume vo to 120.00 MiB

Logical volume vo successfully resized

第3步:将文件系统重新挂载并查看系统状态:

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/rhel-root 18G 3.0G 15G 17% /

devtmpfs 985M 0 985M 0% /dev

tmpfs 994M 80K 994M 1% /dev/shm

tmpfs 994M 8.8M 986M 1% /run

tmpfs 994M 0 994M 0% /sys/fs/cgroup

/dev/sr0 3.5G 3.5G 0 100% /media/cdrom

/dev/sda1 497M 119M 379M 24% /boot

/dev/mapper/storage-vo 113M 1.6M 103M 2% /linuxprobe

7.2.4 逻辑卷快照

除此之外LVM逻辑卷管理器还具备有“快照卷”的功能,这项功能很类似于我们其他软件的还原时间点功能。例如我们可以对某一个LV逻辑卷设备做一次快照,如果今后发现数据被改错了,咱们可以将之前做好的快照卷进行覆盖还原,LVM逻辑卷管理器的快照功能有两项特点,第一是快照卷的大小应该尽量等同于LV逻辑卷的容量,第二是快照功能仅一次有效,一旦被还原后则会被自动立即删除。我们首先应当查看下卷组的信息:

[root@linuxprobe ~]# vgdisplay

--- Volume group ---

VG Name storage

System ID

Format lvm2

Metadata Areas 2

Metadata Sequence No 4

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 1

Open LV 1

Max PV 0

Cur PV 2

Act PV 2

VG Size 39.99 GiB

PE Size 4.00 MiB

Total PE 10238

Alloc PE / Size 30 / 120.00 MiB Free PE / Size 10208 / 39.88 GiB

VG UUID CTaHAK-0TQv-Abdb-R83O-RU6V-YYkx-8o2R0e

………………省略部分输出信息………………

通过卷组的输出信息可以很清晰的看到卷组中已用120M,空闲资源有39.88G,接下来咱们在逻辑卷设备所挂载的目录中用重定向写入一个文件吧:

[root@linuxprobe ~]# echo "Welcome to Linuxprobe.com" > /linuxprobe/readme.txt

[root@linuxprobe ~]# ls /linuxprobe

total 14

drwx------. 2 root root 12288 Feb 1 07:18 lost+found

-rw-r--r--. 1 root root 26 Feb 1 07:38 readme.txt

第1步:使用-s参数来生成一个快照卷,使用-L参数来指定切割的大小,另外要记得在后面写上这个快照是针对那个逻辑卷做的。

[root@linuxprobe ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo

Logical volume "SNAP" created

[root@linuxprobe ~]# lvdisplay

--- Logical volume ---

LV Path /dev/storage/SNAP

LV Name SNAP

VG Name storage

LV UUID BC7WKg-fHoK-Pc7J-yhSd-vD7d-lUnl-TihKlt

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-02-01 07:42:31 -0500

LV snapshot status active destination for vo

LV Status available

# open 0

LV Size 120.00 MiB

Current LE 30

COW-table size 120.00 MiB

COW-table LE 30

Allocated to snapshot 0.01%

Snapshot chunk size 4.00 KiB

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 253:3

………………省略部分输出信息………………

第2步:咱们在LV设备卷所挂载的目录中创建一个100M的垃圾文件,这样再来看快照卷的状态就会发现使用率上升了:

[root@linuxprobe ~]# dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M

1+0 records in

1+0 records out

104857600 bytes (105 MB) copied, 3.35432 s, 31.3 MB/s

[root@linuxprobe ~]# lvdisplay

--- Logical volume ---

LV Path /dev/storage/SNAP

LV Name SNAP

VG Name storage

LV UUID BC7WKg-fHoK-Pc7J-yhSd-vD7d-lUnl-TihKlt

LV Write Access read/write

LV Creation host, time localhost.localdomain, 2017-02-01 07:42:31 -0500

LV snapshot status active destination for vo

LV Status available

# open 0

LV Size 120.00 MiB

Current LE 30

COW-table size 120.00 MiB

COW-table LE 30

Allocated to snapshot 83.71%

Snapshot chunk size 4.00 KiB

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 8192

Block device 253:3

第3步:为了校验SNAP快照卷的效果,咱们需要对逻辑卷进行快照合并还原操作,在这之前记得先卸载掉逻辑卷设备与目录的挂载~

[root@linuxprobe ~]# umount /linuxprobe

[root@linuxprobe ~]# lvconvert --merge /dev/storage/SNAP

Merging of volume SNAP started.

vo: Merged: 21.4%

vo: Merged: 100.0%

Merge of snapshot into logical volume vo has finished.

Logical volume "SNAP" successfully removed

第4步:快照卷会被自动删除掉,并且刚刚在逻辑卷设备被快照后再创建出来的100M垃圾文件也被清除了:

[root@linuxprobe ~]# mount -a

[root@linuxprobe ~]# ls /linuxprobe/

lost+found readme.txt

看下《Linux就该这么学》第7章节吧,第7章 使用RAID与LVM磁盘阵列技术

linux 关于 lvm 磁盘使用的问题?

看你的图显示sda2已经在使用,划分了2个逻辑卷,107.4G的lv_root和12.4G的lv_swap,剩余空间看不到显示应该未划分吧?

终端输入pvdisplay可查看物理卷/dev/sda2的划分情况,如果Free PE显示不为0,则表示有剩余空间,可以用lvcreate 命令划分新的逻辑卷(lv)。

其他:vgdisplay可查看lvm 卷组(vg)情况,lvdisplay可以查看逻辑卷(lv)情况

具体命令用法可搜索“lvm管理命令”。

linux怎么将新增磁盘作为lvm

linux磁盘配额,RAID,LVM磁盘配额,就是妥善的分配系统资源quota比较常用的情况针对 www server 例如:每个人的网页空间的容量*针对 mail server 例如:每个人的邮件空间*针对 file server 例如:每个人最大的可用网络磁盘空间quota的使用*仅针对整个文件系统:如果你的/dev/sda5是挂载在/home底下,那么在/home底下的所在目录都会受到*核心必须支持quota : 也就是说linux核心必须支持quota这个功能才行,而由旧版本的quota可以籍由convertquota这个程序来转换成新帮本的aquota的只针对一般身份使用者有效:例如root就不能设定quota,因为整个系统的数据几乎都是他的所以不能针对【某个目录】来进行quota的设计,但可以针对【某个文件系统】来设定,quota的规范设定项目:quota针对整个文件系统的*项目主要分为底下几个部分‘1可以管理inode(档案数量)和block的数量(管理用户磁盘容量的*)2柔性劝导与硬性规定(soft/hard) ,通常hard*要比soft高,若*项目为block,可以*hard为500MBytes而soft为400MBytehard代表硬性规定,绝对不允许超个的*值,如若超过则系统会锁住该用户的磁盘使用权soft 代表软性规定,如果超过了软性的*,但是低于硬性的*,每次用户登录系统时,系统会主动发出磁盘即将爆满的警告信息,且会给予一个宽限时间,不过,若使用者在宽限时间倒数期间将容量再次降低与soft*之下,则宽限时间会停止3会倒数计时的宽限时间 这个宽限时间用于磁盘用量在soft到hard之间时,才会出现,soft就是为了提醒用户注意这个磁盘配额的问题一般宽限时间为7天,如果7天内你都不进行任何磁盘管理,那么soft*值会即可取代hard*来作为quota的*,此时你的磁盘使用权就会被封锁住而无法新增档案了一个quota实例有五个账户,且每个用户的初始群组都是myquotagrp,其他的帐号属性则使用默认值,每个用户能够使用300MBytes的磁盘使用量(hard)250MBytes的磁盘使用量(soft),群组*,针对myquotagrp这个群组最多仅能使用1GByte的容量,这个时候就会使群组的设定和用户的设定产生一定的问题,最后那个宽限时间为14天在操作之前,先得查看一下,/home是否是一个独立的filesystemdf -h /home,接着查看文件系统的类型,由于VFAT文件系统并不支持linux Quota的功能,使用mount grep home来查看/home的文件系统类型接下来可以使用如下的方法加入quota的支持mount -o remount,usrquota,grpquota /home,接着再执行mount grep home就可以看到这个文件系统上已经加入usrquota,grpquota的支持到你所想要设定的系统中了,另外使用者与群组的quota文件系统支持的参数为: usrquota grpquota若希望下次开机的时候自动的挂载该文件系统,可以直接修改/etc/fstab LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2mount -a 的意思是将fstab中的文件系统重新的挂载接着建立quota记录文件使用quotacheck:扫描文件系统并建立Quota的记录文件quotacheck [-avugfM] [/mount_point]选项和参数-a :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数后,-u : 针对用户扫描档案与目录的使用情况,会建立aquota.user-g :针对群组扫描档案与目录的使用情况,会建立 aquota.group-v :显示扫瞄过程的信息;-f :强制扫瞄文件系统,写入新的 quota 配置文件 (危险)-M :强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用。quotacheck -avug仅针对整个系统含有usrquota, grpquota参数的文件系统进行quotacheck扫描由于/home目录支持usrquota和grpquota,所以搜索结果会将两个记录文件放在/home底下,这两个档案就是quota最重要的信息因为特殊需求需要强制扫瞄已挂载的文件系统时,使用quotacheck -avug -mf这两个文件不是纯文本,是quota自己的数据文件,且该档案会一直变动,这个因为当你对/home这个文件系统进行操作时你操作的结果会影响磁盘,所以当然会记载到这两个档案中的,所以要建立aquota.user 和 aquota.group 记得使用quotacheck指令不要手动编辑制作好quota配置文件,接着要启动quota了,使用quotaon和quotaoff进行开启和关闭启动quota的服务-u :针对使用者启动 quota (aquota.user)-g :针对群组启动 quota (aquota.group)-v :显示启动过程的相关讯息;-a :根据 /etc/mtab 内的 filesystem 设定启动有关的 quota ,若不加 -a 的话, 则后面就需要加上特定的那个 filesystem 喔!由于我们要启动usr/group的quota,所以执行quotaon -avug ,由于只有在第一次启动quota时才需要进行这个命令,因此等到下次重启系统时系统的/etc/rc.d/rc.sysinit这个初始化脚本就会自动的下达这个命令了,因此你只要在这次实例中进行一次即可,未来不需要自行启动quota的quotaoff :关闭 quota 的朋务-a :全部的 filesystem 的 quota 都关闭 (根据 /etc/mtab)-u :仅针对后面接的那个 /mount_point 关闭 user quota-g :仅针对后面接的那个 /mount_point 关闭 group quotaedquota :编辑账号/群组的限值与宽限时间edquota [-u username] [-g groupname] -u进入quota的编辑页面去设定username的*值edquota -t <==修改宽限时间 -g 可以进入quota的编辑页面去设定groupname的*值edquota -p 范本账号 -u 新账号 将范本账号这个人的quota*值复制给新帐号,进入quota的编辑页面去设定username的*值例如设定myquota1这个用户的限额设定 执行命令edquota -u myquota1画面中的第一行为说明针对哪个帐号进行quota的*设定,第二行则是标头行,共分七个字段 1,文件系统或分区2 磁盘容量(blocks) 3soft 磁盘容量(blocks) 4 hard block的hard*值 5档案数量 6 inode的soft*值 7 inode的hard*值当 soft/hard 为 0 时,表示没有*的意思,目前先设定号myquota1,接着执行 edquota -p myquota1 -u myquota2 赋给myquota2 一直到myquota5就行了接着再设定去组 edquota -g myquotagrp ,最后edquota -t 来将宽限时间改为14天查看*值的报表 quota的报表主要有两种模式,一种是针对每个个人或群组quota指令,一个是针对整个文件系统的repquota指令,先看quota : 单一用户的quota报表quota [-gvs] [groupname]选项和参数:-u : 后面可以接username,表示显示该用户的quota*值,若不接username表示显示出执行者的quota的*值-g : 后面可接 groupname ,表示显示出该群组的 quota *值。-v :显示每个用户在 filesystem 的 quota 值;-s :使用 1024 为倍数来指定单位,会显示如 M 之类的单位!quota -uvs myquota1 myquota2的含义是显示这两个用户在所以文件系统中的quota值,大小以M为单位显示显示出 myquotagrp 的群组限额quota -gvs myquotagrp 显示这个群组在所有文件系统中的quota值,大小以M为单位显示如果要针对整个 filesystem 列出报表时, 那个可爱的 repquota 就派上用场啦!repquota :针对文件系统的限额做报表repquota -a [-vugs]-a :直接到 /etc/mtab 搜寻具有 quota 标志的 filesystem ,并报告 quota 的结果;-v :输出的数据将含有 filesystem 相关的细部信息;-u :显示出用户的 quota 限值 (这是默认值);-g :显示出个别群组的 quota 限值。-s :使用 M, G 为单位显示结果查询本案例中所有使用者的 quota *情况:执行repquota -auvs,查询出mtab中含有quota的文件系统的所有用户的限定值,输出的结果含有firstsystem相关的细部信息并且以M,G为单位显示结果quota的测试与管理首先建置一个270MB的大档案,观察结果dd if=/dev/zero of=bigfile bs=1M count=250 接着会看到警告warning的讯息repquota -auv 查看所有/etc/mtab文件系统中,用户的磁盘配额的使用情况,并且将文件系统的相关细部信息一并输出此时看到grace出现,并且开始倒数了此时再建立一个大档案,让总容量超过300M,接着看到的讯息不一样了,提示没有办法写入了,du -sk 查看果然到了极限了如果在宽限时间归零之前不做任何处理,那么到归零之后通过repquota -au进行查看时,就会发现grace的部分变成none啦,不继续倒数了有时候使用者不知道系统出了什么问题,最好寄一些警告信(email)给用户比较妥当,透过warnquota来处理即可warnquota :对超过限额者发出警告信这是根据/etc/warnquota.conf的设定,然后找出系统上面quota用量超过soft的账号,透过email的功能将警告信发送到用户的电子邮件信箱warnquota不会自动执行,我们需要手动执行,单纯执行warnquota之后,他会发送两封信出去,一封给root一封给这个使用者执行warnquota可能不会产生任何讯息以及信件,因为只有当使用者quota有超过soft,warnquota才会发送警告信信件内容中,包括标题、信息内容说明、签名文件等数据放在/etc/warnquota中,你也可以更改其中的内容不过这个发送信件的方式并不适用在/var/spool/mail也爆掉的quota控管中,因为这个系统的容量已经爆掉了,那么新的信件当然就收不下来的,我们需要让系统自动的执行warnquotavi /etc/cron.daily/warnquota 编辑每天的执行任务,让固定的时间去执行/usr/sbin/warnquota指令chmod 755 /etc/cron.daily/warnquotasetquota :直接于指令中设定 quota 限额如果你想要使用 script 的方法来建立大量的账号,并且所有的账号都在建立时就给予 quota可以有两个方法1 先建立一个原始quota 使用 edquota -p quota账号 -u new账号, 写入脚本中2 直接以 setquota 建立用户的 quota 设定值不同于edquota是呼叫vi来进行设定,setquota直接由指令输入所必须要的各项*值命令结构:setquota [-u-g] 名称 block(soft) block(hard) inode(soft) inode(hard)quota -uv myquota5setquota -u myquota5 100000 200000 0 0 /homequota -uv myquota5这样可以看到结果的改变不更改既有系统的 quota 实例例如设定邮件主机,原先没有规划将信箱所在的/var/spool/mail 目录独立成一个parition,那么可以通过让使用者的邮件信箱与家目录的总体磁盘使用量为固定,由于/home以及/var/spool/mail根本不在一个文件系统中1. 将 /var/spool/mail 这个目录完整的移懂到 /home 底下;2. 利用 ln -s /home/mail /var/spool/mail 来建立链接数据;3. 将 /home 进行 quota 限额设定

如何使用LVM将新磁盘添加到现有的Linux系统中

在虚拟机下添加新的磁盘空间

重启linux服务器

查看磁盘 #fdisk -l

创建物理卷 #pvcreate /dev/sdb

查看物理卷 #pvdisplay

将新的物理卷加入到已有逻辑卷中

#vgexteng /dev/VolGroup /dev/sdb

查看卷空间 #vgdisplay

查看分区 #lvdisplay

开始扩容 #lvextend -L +200G /dev/VolGroup/lv_root

使扩容生效

#resize2fs /dev/VolGroup/lv_root

查看是否生效 #df

什么是逻辑分区管理 LVM 如何在Ubuntu中使用

  1.逻辑分区管理(LVM)是每一个主流Linux发行版都含有的磁盘管理选项。无论是需要设置存储池,还是只想动态创建分区,那么LVM就是正在寻找的。

  2.在Ubuntu中使用:

  在使用LVM之前首先得考虑的一件事是要用的磁盘和分区。

  如果使用的是一台只有一块磁盘的Ubuntu笔记本电脑,并且不需要像实时快照这样的扩展功能,那么或许不需要LVM。如果想要轻松地扩展或者想要将多块磁盘组成一个存储池,那么LVM或许正是所寻找的。

  在Ubuntu中设置LVM:

  使用LVM首先要了解没有简单方法可以将已有的传统分区转换成逻辑卷。可以将数据移到一个使用LVM的新分区下,要使用LVM安装Ubuntu需要使用另外的安装CD。

  从安装盘启动你的电脑,并在磁盘选择界面选择整个磁盘并设置LVM。

  选择想用的主磁盘,最典型的是使用最大的磁盘,接着进入下一步。

  将改变写入磁盘所以确保此时选择的是正确的磁盘接着才写入设置。

  选择第一个逻辑卷的大小并继续。

  确认的磁盘分区并继续安装。

  最后一步将GRUB的bootloader写到磁盘中。重点注意的是GRUB不能作为一个LVM分区因为计算机BIOS不能直接从逻辑卷中读取数据。Ubuntu将自动创建一个255MB的ext2分区用于bootloder。

  安装完成之后。重启电脑并如往常一样进入Ubuntu。使用这种方式安装之后应该就感受不到LVM和传统磁盘管理之间的区别了。

  • 本文相关:
  • linux服务器磁盘扩容的方法(图)
  • linux系统扩容根目录磁盘空间的操作方法
  • linux 查看磁盘空间大小命令
  • linux下使用 du查看某个文件或目录占用磁盘空间的大小方法
  • linux磁盘格式化命令详解
  • 关于linux服务器磁盘空间占满问题的解决方法
  • linux用户磁盘配额设置方法
  • linux查看磁盘使用情况方法
  • 详解linux 虚拟机根分区磁盘扩充空间记录
  • linux系统如何访问ntfs磁盘
  • linux命令查看磁盘空间的方法
  • windows安装apache系统中无apache2服务解决方案
  • linux运维之如何使用ss命令代替netstat
  • centos7修改主机名hostname的三种方法
  • linux内核参数调整方法
  • linux禁止ping的实现实例
  • typecho程序伪静态规则大全(包括linux/windows)
  • linux中使用crontab定时监测维护tomcat应用程序的方法
  • linux下安装pyenv的方法
  • centos 7 安装vsftpd 服务器的具体操作步骤
  • linux在批量服务器管理中实用的ps1命令提示符格式实现方法
  • 如何使用LVM卷管理Linux系统中的磁盘
  • linux 关于 lvm 磁盘使用的问题?
  • linux怎么将新增磁盘作为lvm
  • 如何使用LVM将新磁盘添加到现有的Linux系统中
  • 什么是逻辑分区管理 LVM 如何在Ubuntu中使用
  • linux lvm 磁盘管理 partprobe和resize2fs这两个命...
  • 如何在LINUX下使用LVM
  • CentOS中如何查看分区是否是LVM
  • linux LVM用的多吗
  • linux 物理硬盘被用作LVM逻辑卷还能使用么 比如sdb...
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved