LINUX基础第六章:逻辑卷的使用、扩容和磁盘配额

2023-12-31 15:44:01

目录

一.逻辑卷的使用及扩容

1、概念优点及注意事项

2.使用命令及基本格式

二.LVM实验操作

建立磁盘

建立分区

设置物理卷

设置卷组

设置逻辑卷

挂载??

总结

扩展

三.扩容

扩容——vg

扩逻辑卷

同步文件系统

四.缩容

解挂载

?编辑检测文件系统完整性

缩减文件系统

?编辑缩减逻辑卷上下一致

再挂载回去

五.删除

解挂载

remove命令删除

六.磁盘配额

1.实现磁盘配额的条件

2.Linux磁盘限额的特点

七.根目录扩容


一.逻辑卷的使用及扩容

1、概念优点及注意事项

概念:Linux 下对硬盘分区的一种管理机制,适合于管理大存储设备,并允许用户动态调整文件系统的大小。

优点:相比较分区而言逻辑卷可以动态调整文件系统的大小。

  • PV(物理卷):设定那些硬盘和分区(做逻辑卷时分区必须是8e类型)可以做逻辑卷
  • VG(卷组):将物理卷告诉的硬盘,卷组将硬盘的大小打碎成PE,一个PE大概4M
  • LV(逻辑卷):从VG中取需要的PE来决定逻辑卷的大小。

注意事项:①/boot分区用于存放引导文件所以不能建立逻辑卷

? ? ? ? ? ? ? ? ? ②创建逻辑卷=完成磁盘使用的分区步骤,依然需要将逻辑卷格式化挂载才能使用

2.使用命令及基本格式

①pvcreate:创建物理卷 ??

基本格式:pvcreate 设备名1 设备名2... (如果是分区格式必须是8e,磁盘无要求)

②vgcreate:创建卷组

基本格式:vgcreate 卷组名 物理卷名1 物理卷2...

③lvcreate:创建逻辑卷

基本格式:lvcreate -L 容量大小10G等.. -n 逻辑卷名 卷组名,从卷组取PE

④vgextend:扩展卷组

基本格式:vgextend /要扩容的卷组 /dev/新建的物理卷

⑤lvextend:扩展逻辑卷

基本格式:lvextend ? ? -L[扩展大小选项] ? ? +20G(扩展具体大小)或者写扩展后的总容量,不写代表把此逻辑卷组变为20G, ? ? ?逻辑卷组名 ? ? ? ? ?-r(表示添加完毕直接刷新显示) 注意+号。

⑥pvscan:查看物理卷信息。 pvdisplay:查看详细的物理卷信息

? ?vgscan: ? ?查看卷组信息。 ? ?vgdisplay:查看卷组的具体信息

? ? lvscan:查看逻辑卷信息 ? ? ?lvdisplay:查看逻辑卷具体信息

二.LVM实验操作

建立磁盘

建立分区

[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]#fdisk /dev/sdb
fdisk: 打不开 /dev/sdb: 没有那个文件或目录
[root@localhost ~]#scan
[root@localhost ~]#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
 
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
 
Device does not contain a recognized partition table
使用磁盘标识符 0x54299b1c 创建新的 DOS 磁盘标签。
 
命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB
 
命令(输入 m 获取帮助):p
 
磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x54299b1c
 
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20973567    10485760   83  Linux
 
命令(输入 m 获取帮助):w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
正在同步磁盘。

设置物理卷

[root@localhost ~]#pvcreate /dev/sdb1 /dev/sdc
 
 
#设置物理卷
 
 
  Physical volume "/dev/sdb1" successfully created.
  Physical volume "/dev/sdc" successfully created.
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   10G  0 part 
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64

设置卷组

[root@localhost ~]#vgcreate zk /dev/sdb1  /dev/sdc
 
#设置卷组
 
 
  Volume group "zk" successfully created

设置逻辑卷

[root@localhost ~]#lvcreate -n mysql -L 10G ghd
  Logical volume "mysql" created.
 
#建立逻辑卷-n 指定逻辑卷名字mysql -L指定大小为10G(PE是ghd卷组中来的)
 
 
[root@localhost ~]#ll /dev/mapper/zk-mysql 
lrwxrwxrwx 1 root root 7 12月 28 15:02 /dev/mapper/ghd-mysql -> ../dm-2
[root@localhost ~]#ll dev/ghd/mysql
lrwxrwxrwx 1 root root 7 12月 28 15:02 /dev/ghd-mysql -> ../dm-2
 
#逻辑卷有两个名字
 
 

安装文件系统

[root@localhost ~]#mkfs.xfs /dev/zk/mysql 
meta-data=/dev/ghd/mysql         isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, 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@localhost ~]#mount /dev/zk/mysql   /mnt/
[root@localhost ~]#df 
文件系统                   1K-块    已用     可用 已用% 挂载点
/dev/mapper/centos-root 52403200 4763800 47639400   10% /
devtmpfs                  917604       0   917604    0% /dev
tmpfs                     933524       0   933524    0% /dev/shm
tmpfs                     933524    9308   924216    1% /run
tmpfs                     933524       0   933524    0% /sys/fs/cgroup
/dev/sda1                5232640  182368  5050272    4% /boot
tmpfs                     186708       4   186704    1% /run/user/42
tmpfs                     186708      28   186680    1% /run/user/0
/dev/sr0                 4414592 4414592        0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ghd-mysql   10475520   32944 10442576    1% /mnt
[root@localhost ~]#scan
[root@localhost ~]#df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  4.6G   46G   10% /
devtmpfs                 897M     0  897M    0% /dev
tmpfs                    912M     0  912M    0% /dev/shm
tmpfs                    912M  9.1M  903M    1% /run
tmpfs                    912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                5.0G  179M  4.9G    4% /boot
tmpfs                    183M  4.0K  183M    1% /run/user/42
tmpfs                    183M   28K  183M    1% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ghd-mysql     10G   33M   10G    1% /mnt

总结

  • fdisk
  • 首先建立分区
  • pvcreate ?/dev/sdb1 ?/dev/sdc
  • 建立物理卷?
  • vgcreate vg1 /dev/sdb1 /dev/sdc
  • 建立卷组 取名并将/dev/sdb1 ?/dev/sdc 加入卷组
  • lvcreate -n mysql -L 10G vg1
  • 建立逻辑卷 -n指定逻辑卷名字 -L 指定大小 PE是vg1卷组中来的

扩展

scan? display都可以查看当前物理卷或者卷组的详细信息

[root@localhost ~]#pvscan
  PV /dev/sdb1   VG ghd             lvm2 [<10.00 GiB / <10.00 GiB free]
  PV /dev/sdc    VG ghd             lvm2 [<20.00 GiB / <10.00 GiB free]
  PV /dev/sda2   VG centos          lvm2 [54.00 GiB / 4.00 MiB free]
  Total: 3 [<84.00 GiB] / in use: 3 [<84.00 GiB] / in no VG: 0 [0   ]
[root@localhost ~]#pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sda2  centos lvm2 a--   54.00g   4.00m
  /dev/sdb1  ghd    lvm2 a--  <10.00g <10.00g
  /dev/sdc   ghd    lvm2 a--  <20.00g <10.00g
[root@localhost ~]#pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               ghd
  PV Size               10.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              2559
  Free PE               2559
  Allocated PE          0
  PV UUID               XWgeNp-JDpF-VqB6-8gF9-23Wh-TOUS-gBSJlC
   
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               ghd
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               2559
  Allocated PE          2560
  PV UUID               897008-qwNC-HabQ-cPcY-BA3c-IWTK-hlcqDl
   
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               <54.01 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              13825
  Free PE               1
  Allocated PE          13824
  PV UUID               UjOeXH-jU4j-jhcP-JNEN-D0XC-nHtB-SURY2m

三.扩容

卷组空间不够,要使用扩容

扩容——vg

vgextend? 卷组名? 设备名

vgextend? vg1? /dev/sdd

[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0   10G  0 part 
sdc               8:32   0   20G  0 disk 
└─ghd-mysql     253:2    0   10G  0 lvm  /mnt
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]#fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
 
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
 
 
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p     
分区号 (2-4,默认 2):
起始 扇区 (20973568-41943039,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-41943039,默认为 41943039):+4G  
分区 2 已设置为 Linux 类型,大小设为 4 GiB
 
命令(输入 m 获取帮助):w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
└─sdb2            8:18   0    4G  0 part 
sdc               8:32   0   20G  0 disk 
└─ghd-mysql     253:2    0   10G  0 lvm  /mnt
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]#vgextend ghd /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
  Volume group "ghd" successfully extended
##扩容先扩卷组

扩逻辑卷

lvextend? -L? 指定大小? ?逻辑卷名字

lxextend? -L? +5G? ?/dev/ghd/mysql

(一定要+5G,不然是缩容,也就是指定该逻辑卷的大小为5G)

[root@localhost ~]#lvextend -L +5G  /dev/ghd/mysql 
  Size of logical volume ghd/mysql changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  Logical volume ghd/mysql successfully resized.
 
#扩展逻辑卷  指定扩展大小扩5G(一定要“+”)

同步文件系统

tips:lvextend -L? +5G? /dev/ghd/mysql? -r(-r代表立马同步文件系统)

[root@localhost ~]#xfs_growfs  /mnt
 
#同步文件系统
 
meta-data=/dev/mapper/ghd-mysql  isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, 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 2621440 to 3932160
[root@localhost ~]#df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  4.6G   46G   10% /
devtmpfs                 897M     0  897M    0% /dev
tmpfs                    912M     0  912M    0% /dev/shm
tmpfs                    912M  9.1M  903M    1% /run
tmpfs                    912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                5.0G  179M  4.9G    4% /boot
tmpfs                    183M  4.0K  183M    1% /run/user/42
tmpfs                    183M   28K  183M    1% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/ghd-mysql     15G   33M   15G    1% /mnt
[root@localhost ~]#

四.缩容

只有ext4可以缩减容量

解挂载

检测文件系统完整性

缩减文件系统

缩减逻辑卷上下一致

再挂载回去

五.删除

解挂载

remove命令删除

六.磁盘配额

1.实现磁盘配额的条件

  • 需要Linux内核支持
  • 安装xfsprogs与quota软件包

2.Linux磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:用户账号、组账号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制

七.根目录扩容

vgdisplay 查看根的卷组

vgextend centos /dev/sdc 先扩卷组

lvexten -L +10G /dev/centos/root -r 再扩根的逻辑卷

[root@localhost ~]#vgdisplay 
  --- Volume group ---
  VG Name               ghd
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               <33.99 GiB
  PE Size               4.00 MiB
  Total PE              8701
  Alloc PE / Size       3840 / 15.00 GiB
  Free  PE / Size       4861 / <18.99 GiB
  VG UUID               qRhIUi-zKfd-NS7S-9HZX-r8NT-GWhn-7AT8PD
   
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               54.00 GiB
  PE Size               4.00 MiB
  Total PE              13825
  Alloc PE / Size       13824 / 54.00 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               1D0yqi-om1I-c0gi-Xlhy-XEJ3-XF9S-dQvqNB
   
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
└─sdb2            8:18   0    4G  0 part 
sdc               8:32   0   20G  0 disk 
└─ghd-mysql     253:2    0   15G  0 lvm  
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]#scan
[root@localhost ~]#lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
└─sdb2            8:18   0    4G  0 part 
sdc               8:32   0   20G  0 disk 
└─ghd-mysql     253:2    0   15G  0 lvm  
sdd               8:48   0   20G  0 disk 
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]#vgextend centos /dev/sdd
  Physical volume "/dev/sdd" successfully created.
  Volume group "centos" successfully extended
 
#先扩卷组
 
 
 
[root@localhost ~]#lvextend -L +10G /dev/centos/root -r
 
 
 
#再扩根的逻辑卷
 
 
 
  Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 60.00 GiB (15360 extents).
  Logical volume centos/root successfully resized.
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 15728640
[root@localhost ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    5G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   60G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
└─sdb2            8:18   0    4G  0 part 
sdc               8:32   0   20G  0 disk 
└─ghd-mysql     253:2    0   15G  0 lvm  
sdd               8:48   0   20G  0 disk 
└─centos-root   253:0    0   60G  0 lvm  /
sr0              11:0    1  4.2G  0 rom  /run/media/root/CentOS 7 x86_64

文章来源:https://blog.csdn.net/zk584715834/article/details/135273063
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。