8.高级文件系统管理

高级文件系统管理

一.磁盘配额

1.磁盘配额条件

  • 内核必须支持磁盘配额

    [root@localhost ~]# grep CONFOG_QUOTA /boot/config-2.6.32-573.el6.x86_64 
    
    [root@localhost ~]# grep CONFOG_QUOTA /boot/config-3.10.0-957.el7.x86_64 
    
  • 系统中必须安装quota工具,我们Linux默认安装了quota工具,查看命令如下

    [root@localhost ~]# rpm -qa | grep quota
    quota-nls-4.01-19.el7.noarch
    quota-4.01-19.el7.x86_64
    

2.概念

1)用户配额和组配额
2)磁盘容量限制和文件个数限制
3)软限制和硬限制
4)宽限时间
如果用户的空间占用数处于软限制和硬限制之间,统会在用户登陆时警告用户磁盘将满,,这个时间就是宽限时间,默认是7天。如果达到了宽限时间,用户的磁盘占用量还超过软限制,那么软限制就会升级为硬限制。

3.磁盘配额实验

  • 分配一个5GB的/dev/sdb1分区,把他挂载到/disk目录中

  • 创新需要配额的用户及用户组,假设用户为user1、user2、user3和且这三个用户同属于用户组test。

  • test组磁盘容量硬限制为500MB,软限制450MB,文件个数不做限制;

    user1用户为了便于测试,磁盘容量硬限制为50MB,软限制为40MB,文件个数硬限制限制为10个,软限制为8个

    user2和user3用户磁盘容量硬限制为250MB,软限制为200MB,文件个数不做限制

    大家发现user1、user2和user3用户加起来的磁盘容量限制为550MB,超过了test组的磁盘容量限制500MB。这样的话,某个用户可能达不到自己的用户限制,而达到组限制时就不能再写入数据了。

    **也就是说,如果用户限制和组限制同时存在,那么哪个限制更小,哪个限制优先生效。**所以实验不进行限制组的实验只作用户限制

  • 系统宽限时间我们改为8天。

4.实验步骤

1)分配一个5GB的/dev/sdb1分区,把他挂载到/disk目录中

2)建立需要做限制的用户

[root@localhost /]# useradd -G test user1
[root@localhost /]# useradd -G test user2
[root@localhost /]# useradd -G test user3
[root@localhost /]# passwd user1
[root@localhost /]# passwd user2
[root@localhost /]# passwd user3

3)在分区上开启磁盘配额

临时生效

[root@localhost /]# mount -o remount,usrquota,grpquota /disk
#查看
[root@localhost /]# mount 
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb5 on /disk type ext4 (rw,usrquota,grpquota)

永久生效,修改/etc/fstab

[root@localhost /]# vim /etc/fstab
/dev/sdb5               /disk                   ext4    defaults,usrquota,grpquota  0 0 
#修改配置之后如果要生效需要重启服务器,或者重新挂载分区

4)建立磁盘配额的配置文件

[root@localhost ~]# quotacheck [选项] [分区]
#选项:
-a:扫描/etc/mtab文件中所有启用磁盘配额功能的分区。如果加入此参数,命令后面
就不需要加入分区名了
-c:不管原有的配置文件,重新扫描并建立新的配置文件
-u:建立用户配额的配置文件,也就是生成aquota.user文件
-g:建立组配额的配置文件,会生成aquota.group文件
-v:显示扫描过程
-m:强制以读写的方式扫描文件系统,和-M类似。一般扫描根分区时使用。
-f:强制扫描文件系统,并写入新的配置文件。一般扫描新添加的硬盘分区时使用
#前提 关闭selinux
#临时生效命令
[root@localhost ~]# setenforce 0
#执行
[root@localhost ~]# quotacheck -avu
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdb5 [/disk] done    #代表以开启
quotacheck: Cannot stat old user quota file /disk/aquota.user: 没有那个文件或目录. Usage will not be substracted.
quotacheck: Cannot stat old group quota file /disk/aquota.group: 没有那个文件或目录. Usage will not be substracted.
quotacheck: Checked 2 directories and 0 files
quotacheck: Cannot create new quotafile /disk/aquota.user.new: 权限不够
quotacheck: Cannot initialize IO on new quotafile: 权限不够
#验证
[root@localhost ~]# ll /disk
总用量 24
-rw-------. 1 root root  6144 9月  22 11:24 aquota.user
drwx------. 2 root root 16384 9月  22 07:21 lost+found
#/disk目录中两个配额文件已经建立

如果要给根分区开启配额功能,需要

[root@localhost~]#vi /etc /fstab
UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults,usrquota,grpquota 1 1
#开启/分区的配额功能
[root@localhost~]#mount -o remount/
#重新挂载/分区
[root@localhost~]#quotacheck - avugm
#如果我们自动扫描/分区建立配额配置文件时,因为/分区已经挂载成读写系统,而quotacheck需要把分区先挂载成只读分区,然后建立配置文件,最后再挂载回来,所以不能直接在/分区建立配置文件。这时就需要使用-m强制以读写方式扫描文件系统了

5) 设置用户配额

[root@localhost~]# edquota [选项] [用户名或组名]
选项:
-u 用户名:设定用户配额
-g 组名:设定组配额
-t :设定宽限时间
-p :复制配额限制。如果已经设定好某个用户的配额限制,其他用户的配额限
制如果和这个用户相同,那么可以直接复制配额限制,而不用都手工指定

我们给user1用户设定的配额限制是:磁盘空间软限制是40MB,硬限制是50MB;文件个数的软限制是8个,硬限制是10个(稍微小一点,一会测试时方便测试)。命令如下:

[root@localhost ~]# edquota -u user1
#edquota命令进入之后,就是标准的vi操作方法
#磁盘配额是设定用户user1(UID是500)
Disk quotas for user user1 (uid 500):
  Filesystem                blocks       soft       hard     inodes     soft     hard
  /dev/sdb5                     0        40000      50000       0         8        11
# 分区名                    已占用容量      软限制      硬限制   已占用文件数软  软限制   硬限制

6)启动和关闭配额

启动和关闭配额配额的配置完成,接下来只需要启动配额就大功告成了,启动命令如下:

[root@localhost~]# quotaon [选项] [分区名]
选项:
-a:依据/etc/mtab文件启动所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:启动用户配额
-g:启动组配额
-V:显示启动过程的信息
[root@localhost ~]# quotaon -vu /disk
/dev/sdb5 [/disk]: user quotas turned on
#启动/disk分区的配额
[root@localhost~]#quotaon -avug

关闭配额命令如下

[root@localhost~]# quotaoff [选项] [分区名]
选项
-a:依据/etc/mtab文件关闭所有的配额分区。如果不加-a,后面就一定要指定分区名
-u:关闭用户配额
-g:关闭组配额
[root@localhost~] #quotaoff -a
#依据/etc/mtab文件关闭配额分区

7)磁盘配额查询

#quota查询用户或用户组配额:
[root@localhost~]# quota [选项] [用户名或组名]
选项:
-u 用户名:查询用户配额
-g 组名:查询组配额
-v:显示详细信息
-s:以习惯单位显示容量大小,如M,G
[root@localhost ~]# quota -uvs user1
Disk quotas for user user1 (uid 500): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb5       0   40000   50000               0       8      11 
#repquota查询文件系统配额
[root@localhost~]#repquota [选项] [分区名]
选项:
-a:依据/etc/mtab文件查询配额。如果不加-a选项,就一定要加分区名
-u:查询用户配额
-g:查询组配额
-v:显示详细信息
-s:以习惯单位显示容量大小
#查询所有文件系统配额信息
[root@localhost ~]# repquota -avus
*** Report for user quotas on device /dev/sdb5
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0       
user1     --       0   40000   50000              0     8    11       

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2.000000

8)测试

修改/disk所有者权限(有写权限)

[root@localhost disk]# chown user1 /disk

登录user1用户

磁盘容量配额测试

#测试(利用磁盘对拷命令)
[user1@localhost ~]$ dd if=/dev/zero of=/disk/test bs=1M count=60
sdb5: warning, user block quota exceeded.
sdb5: write failed, user block limit reached.
dd: 正在写入"/disk/test": 超出磁盘限额
记录了49+0 的读入
记录了48+0 的写出
51200000字节(51 MB)已复制,0.0630509 秒,812 MB/秒
#检查,设置50M磁盘配额,写入为60M,实际写进去50M说明磁盘配额生效 
[user1@localhost ~]$ ll -h /disk/
总用量 49M
-rw-------. 1 root  root  7.0K 9月  22 11:30 aquota.user
drwx------. 2 root  root   16K 9月  22 07:21 lost+found
-rw-rw-r--. 1 user1 user1  49M 9月  22 11:52 test

磁盘个数配额测试

touch 文件进行测试,说明文件个数配额生效
[user1@localhost disk]$ touch {1..8}.txt
sdb5: warning, user file quota exceeded.
[user1@localhost disk]$ touch 11.txt
sdb5: write failed, user file limit reached.
touch: 无法创建"11.txt": 超出磁盘限额

5.配额其他命令

1)配额复制

user2用户的配额值和user1用户完全一样,我们就可以使用user1用户作为模板进行复制。这样我们如果需要建立大量的配额值一致的用户时,就会非常方便,不用一个个手工建立了。复制命令如下:

[root@localhost disk]# edquota -p user1 -u user2
#命令  -p  源用户 -u  目标用户

2)非交互设定用户磁盘配额

这个命令在写脚本批量设置时更加方便。当然写脚本时也可以先建立一个模板的用户,设定好磁盘配额,再进行配额复制,也是可以的

[root@localhost~]# setquota -u user3 40000 50000 8 10 /disk
[root@localhost~]# setquota -u 用户名 容量软限制 容量硬限制 个数软限制 个数硬限制 分区名
#查询
[root@localhost disk]# quota -vus user3
Disk quotas for user user3 (uid 502): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb5       0   40000   50000               0       8      10  

3)设置宽限时间

[root@localhost disk]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sdb5                     8days                  8days
#  分区名                      容量的宽限时间           个数的宽限时间

二.LVM逻辑卷管理

1.简介

LVM是logical Volume Manager的简称,中午就是逻辑卷整理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PE0L1Tlg-1601731675811)(高级文件系统管理.assets/image-20201003164041650.png)]

  • 物理卷(PV,PhysicalVolume):就是真正的物理硬盘或分区。
  • 卷组(VG,VolumeGroup):将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。
  • 逻辑卷(LV,LogicalVolume):卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成为分区。
  • 物理扩展(PE,PhysicalExtend):PE是用来保存数据的最小单元,我们的数据实际上都是写入PE当中,PE的大小是可以配置的,默认是4MB。

2.建立LVM的步骤:

  • 首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
  • 然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
  • 接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除(不建议进行删除)。
  • 最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻辑卷可以想象成为分区,所以也需要格式化和挂载。3.

3.图形界面演示LVM分区

boot分区只能分到标准分区中,不能分到LVM,

图形界面进行分配如图,先创建boot标准分区及LVM物理卷,将物理卷整合为卷组,卷组内进行逻辑卷划分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UsHcKMtR-1601731675814)(高级文件系统管理.assets/image-20201003170037245.png)]

4.物理卷管理(pv)

1)硬盘分区

创建方式就是使用fdisk交互命令,不过需要注意的是分区的系统ID不再是Linux默认的分区ID号83了,而要改成LVM的ID号8e。

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Partition number (1-4): 1
First cylinder (1-2610, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +1360

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (1-1361, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-1361, default 1361): 380

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (381-1361, default 381): 
Using default value 381
Last cylinder, +cylinders or +size{K,M,G} (381-1361, default 1361): +380

Command (m for help): n       
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (762-1361, default 762): 
Using default value 762
Last cylinder, +cylinders or +size{K,M,G} (762-1361, default 1361): 
Using default value 1361

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xce16ffbb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1361    10932201    5  Extended
/dev/sdb5               1         380     3052287   83  Linux
/dev/sdb6             381         761     3060351   83  Linux
/dev/sdb7             762        1361     4819468+  83  Linux

Command (m for help): t
Partition number (1-7): 5
Hex code (type L to list codes): 8e
Changed system type of partition 5 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-7): 6
Hex code (type L to list codes): 8e
Changed system type of partition 6 to 8e (Linux LVM)

Command (m for help): t
Partition number (1-7): 7
Hex code (type L to list codes): 8e
Changed system type of partition 7 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xce16ffbb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1361    10932201    5  Extended
/dev/sdb5               1         380     3052287   8e  Linux LVM
/dev/sdb6             381         761     3060351   8e  Linux LVM
/dev/sdb7             762        1361     4819468+  8e  Linux LVM

Command (m for help): w

2)建立物理卷

[root@localhost ~]# pvcreate [设备文件名]

建立物理卷时,我们说即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。如果要把整块硬盘都建立成物理卷,命令如下

[root@localhost~]# pvcreate /dev/sdb

在我们的使用中,是要把分区建立成为物理卷,所以执行以下命令:

[root@localhost~]# pvcreate /dev/sdb5

3)查看物理卷

命令一:pvscan

[root@localhost ~]# pvscan 
  PV /dev/sda2   VG VolGroup   lvm2 [19.51 GiB / 0    free]
  PV /dev/sdb5                 lvm2 [2.91 GiB]
  PV /dev/sdb6                 lvm2 [2.92 GiB]
  PV /dev/sdb7                 lvm2 [4.60 GiB]
  Total: 4 [29.93 GiB] / in use: 1 [19.51 GiB] / in no VG: 3 [10.43 GiB]

我们可以看到在我的系统中,/dev/sdb5-7这三个分区是物理卷。最后一行的意思是:总共4个物理卷[大小]/使用了1个卷[大小]/空闲3个卷[大小]。

命令二:pvdisplay

它可以查看到更详细的物理卷状态,命令如下:

[root@localhost ~]# pvdisplay 
  "/dev/sdb5" is a new physical volume of "2.91 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb5       #PV名
  VG Name                               #属于的VG名,还没有分配,所以空白
  PV Size               2.91 GiB        #PV的大小
  Allocatable           NO              #是否已经分配
  PE Size               0               #PE大小,因为还没有分配,所以PE大小也没有指定
  Total PE              0               #PE总数
  Free PE               0               #空闲PE数
  Allocated PE          0               #可分配的PE数
  PV UUID               vAJNB4-hvyW-N2CU-0dTZ-LIlX-r9wC-k56dpd     #PV的UUID

4)删除物理卷(知道即可)

[root@localhost~]# pvremove /dev/sdb7

5.卷组管理(vg)

1)建立卷组

[root@localhost~]#vgcreate [选项] 卷组名 物理卷名  #选项可忽略
#选项:
#-s PE大小:指定PE的大小,单位可以是MB,GB,TB等。如果不写默认PE大小事4MB

将/dev/sdb5和/dev/sdb6加入卷组test,留着/dev/sdb7一会实验调整卷组大小,命令如下:

[root@localhost ~]# vgcreate test /dev/sdb5 /dev/sdb6
  Volume group "test" successfully created

2)查看卷组

查看卷组的命令同样是两个,vgscan主要是查看系统中是否有卷组,而vgdisplay则是查看卷组的详细状态的。命令如下:

[root@localhost ~]# vgscan 
  Reading all physical volumes.  This may take a while...
  Found volume group "test" using metadata type lvm2
  Found volume group "VolGroup" using metadata type lvm2
  #test的卷组确实存在

查看卷组命令vgdisplay

[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               test                 #卷组名
  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               5.82 GiB             #卷组大小
  PE Size               4.00 MiB             #PE大小
  Total PE              1490                 #PE总数
  Alloc PE / Size       0 / 0                #已用PE数量/大小
  Free  PE / Size       1490 / 5.82 GiB      #空闲PE数量/大小
  VG UUID               dbghf8-BTNr-w6n2-gEBv-BwAp-pkxB-C1k9Zb     #VG的uuid

3)增加卷组容量

[root@localhost ~]# vgextend test /dev/sdb7
  Volume group "test" successfully extended
[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               test
  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               5.82 GiB
  PE Size               4.00 MiB
  Total PE              1490
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1490 / 5.82 GiB
  VG UUID               dbghf8-BTNr-w6n2-gEBv-BwAp-pkxB-C1k9Zb

4)缩减卷组容量(不要进行缩减操作)

[root@localhost ~]# vgreduce test /dev/sdb7
  Failed to find physical volume "/dev/sdb7".
#在卷组test中删除/dev/sdb7物理卷

5)删除卷组容量(知道就好)

[root@localhost~]#vgremove test
Volumegroup"test"successfullyremoved

6.逻辑卷管理(lv)

1)建立逻辑卷

[root@localhost~]#lvcreate [选项] [-n逻辑卷名] 卷组名
选项:
-L容量:指定逻辑卷大小,单位MB,GB,TB等
-l个数:按照PE个数指定逻辑卷大小,这个参数需要换算容量,太麻烦
-n逻辑卷名:指定逻辑卷名

我们建立一个2GB的testlv逻辑卷命令如下

[root@localhost ~]# lvcreate -L 2GB -n testlv test
  Logical volume "testlv" created.
 #在test卷组中建立2GB的testlv逻辑卷 

建立完逻辑卷之后,还要格式化和挂载之后逻辑卷才能正常使用。格式化和挂载命令和操作普通分区时是一样的,不过需要注意的是逻辑卷的设备文件名是/dev/卷组名/逻辑卷名,如我们的testlv的设备文件名就是“/dev/test/testlv”,具体命令如下:

#格式化
[root@localhost ~]# mkfs -t ext4 /dev/test/testlv 
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912

正在写入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
#建立挂载点,并挂载
[root@localhost ~]# mkdir test
[root@localhost ~]# mount /dev/test/testlv test
#验证
[root@localhost ~]# mount 
...省略
/dev/mapper/test-testlv on /root/test type ext4 (rw)
#已经挂载了
#如果需要开机自动挂载,也要修改/etc/fstab文件

2)查看逻辑卷

同样的查看命令是两个,第一个命令lvscan只能看到系统中是否拥有逻辑卷,命令如下:

[root@localhost ~]# lvscan 
  ACTIVE            '/dev/test/testlv' [2.00 GiB] inherit           
#能够看到激活的逻辑卷,大小是2GB

第二个命令是lvdisplay可以看到逻辑卷的详细信息,命令如下:

[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/test/testlv                           #逻辑卷设备文件名
  LV Name                testlv                                     #逻辑卷名
  VG Name                test                                       #所属的卷组名
  LV UUID                6P7MO8-ZINU-rAym-hbV6-XuiV-XRd4-8eFXMQ     #uuid
  LV Write Access        read/write                                 #lv访问状态
  LV Creation host, time localhost.localdomain, 2020-09-24 06:37:26 +0800
  LV Status              available
  # open                 1
  LV Size                2.00 GiB                                   #逻辑卷大小
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

3)增加逻辑卷容量(直接将物理卷完整容量加入到逻辑卷容量中)

[root@localhost 20201003]# lvextend /dev/test/testlv /dev/sdb7
  Logical volume 20201003/20201003lv successfully resized.

4)调整逻辑卷大小

[root@localhost~]#lvresize [选项] 逻辑卷 设备文件名
选项:
-L容量:安装容量调整大小,单位KB,GB,TB等。使用+代表增加空间,-号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。
-l个数:按照PE个数调整逻辑卷大小

我们刚刚的testlv的大小是2GB,我们的test中还有3GB的空闲空间,那么增加我们的userlv逻辑卷的大小到3GB吧

[root@localhost test]# lvresize -L 3GB /dev/test/testlv 
  Size of logical volume test/testlv changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents).
  Logical volume testlv successfully resized
#增加userlv逻辑卷的大小到3GB
#当然命令也可以这样写
[root@localhost test]# lvresize -L +1GB /dev/test/testlv 
#查看
[root@localhost test]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/test/testlv
  LV Name                testlv
  VG Name                test
  LV UUID                6P7MO8-ZINU-rAym-hbV6-XuiV-XRd4-8eFXMQ
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2020-09-24 06:37:26 +0800
  LV Status              available
  # open                 1
  LV Size                3.00 GiB                   #容量增加到了3GB
  Current LE             768
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

发现一个问题df-h查看挂载还是2GB

[root@localhost test]# df -h
Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/test-testlv 
                      2.0G  3.1M  1.9G   1% /root/test            #大小仍为2G

5)增加到实际容量中

我们还要使用resize2fs命令来调整分区的大小。不过这里就体现了LVM的优势,我们不需要卸载分区,直接就能调整分区的大小。

resize2fs命令如下:

[root@localhost~]#resize2fs [选项][设备文件名][调整的大小]
选项:
-f:强制调整
设备文件名:指定调整哪个分区的大小
调整的大小:指定把分区调整到多大,要加M,G等单位。如果不加大小,会使用整个
分区
[root@localhost ~]# resize2fs -f /dev/test/testlv 3G
那么我们已经把逻辑卷调整到了3GB,这时我们就需要把整个逻辑卷都加入/test分区,命令如下:
[root@localhost ~]# resize2fs /dev/test/testlv
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 786432 blocks long.  Nothing to do!
#已经调整了分区大小
[root@localhost ~]# df -h
/dev/mapper/test-testlv
                      2.9G  3.1M  2.8G   1% /root/test
#分区大小已经是3G了。
#文件也没有丢失
[root@localhost ~]# cd test/
[root@localhost test]# ls
lost+found  test  test.txt

6)删除逻辑卷

[root@localhost~]# lvremove 逻辑卷设备文件名
我们删除testlv这个逻辑卷,记得删除时要先卸载。命令如下:
[root@localhost~]# umount /dev/test/testlv
[root@localhost~]# lvremove /dev/test/testlv

size2fs [选项][设备文件名][调整的大小]
选项:
-f:强制调整
设备文件名:指定调整哪个分区的大小
调整的大小:指定把分区调整到多大,要加M,G等单位。如果不加大小,会使用整个
分区
[root@localhost ~]# resize2fs -f /dev/test/testlv 3G
那么我们已经把逻辑卷调整到了3GB,这时我们就需要把整个逻辑卷都加入/test分区,命令如下:
[root@localhost ~]# resize2fs /dev/test/testlv
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 786432 blocks long.  Nothing to do!
#已经调整了分区大小
[root@localhost ~]# df -h
/dev/mapper/test-testlv
                      2.9G  3.1M  2.8G   1% /root/test
#分区大小已经是3G了。
#文件也没有丢失
[root@localhost ~]# cd test/
[root@localhost test]# ls
lost+found  test  test.txt

6)删除逻辑卷

[root@localhost~]# lvremove 逻辑卷设备文件名
我们删除testlv这个逻辑卷,记得删除时要先卸载。命令如下:
[root@localhost~]# umount /dev/test/testlv
[root@localhost~]# lvremove /dev/test/testlv
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值