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

news/2025/3/21 4:09:51/

目录

一.逻辑卷的使用及扩容

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 ghdLogical 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 ~]#pvscanPV /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 ~]#pvsPV         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/sdb1VG Name               ghdPV Size               10.00 GiB / not usable 4.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              2559Free PE               2559Allocated PE          0PV UUID               XWgeNp-JDpF-VqB6-8gF9-23Wh-TOUS-gBSJlC--- Physical volume ---PV Name               /dev/sdcVG Name               ghdPV Size               20.00 GiB / not usable 4.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              5119Free PE               2559Allocated PE          2560PV UUID               897008-qwNC-HabQ-cPcY-BA3c-IWTK-hlcqDl--- Physical volume ---PV Name               /dev/sda2VG Name               centosPV Size               <54.01 GiB / not usable 4.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              13825Free PE               1Allocated PE          13824PV 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/sdb2Physical 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               ghdSystem ID             Format                lvm2Metadata Areas        3Metadata Sequence No  4VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                1Open LV               0Max PV                0Cur PV                3Act PV                3VG Size               <33.99 GiBPE Size               4.00 MiBTotal PE              8701Alloc PE / Size       3840 / 15.00 GiBFree  PE / Size       4861 / <18.99 GiBVG UUID               qRhIUi-zKfd-NS7S-9HZX-r8NT-GWhn-7AT8PD--- Volume group ---VG Name               centosSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  3VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                1Act PV                1VG Size               54.00 GiBPE Size               4.00 MiBTotal PE              13825Alloc PE / Size       13824 / 54.00 GiBFree  PE / Size       1 / 4.00 MiBVG 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/sddPhysical 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


http://www.ppmy.cn/news/1289225.html

相关文章

工程(十六)——自己数据集跑Fast_livo

一、基础环境 Ubuntu20.04 ROS noetic PCL 1.8 Eigen 3.3.4 Sophus git clone https://github.com/strasdat/Sophus.git cd Sophus git checkout a621ff mkdir build && cd build && cmake .. make sudo make install 下面两个直接把包下载下来一起编译…

PowerShell——多任务后台作业

PowerShell——多任务后台作业 实验环境&#xff1a;操作系统为Windows8(或之后)或者Windows Server2012&#xff08;或之后&#xff09;运行PowerShell v3或更新版本的计算机 任务: 创建一个后台作业获取计算机上系统事件日志中最近的26条错误记录&#xff0c;之后将记录导出…

Factory Method工厂模式(对象创建)

Factory Method&#xff08;对象创建&#xff09; 链接&#xff1a;工厂模式实例代码 解析 目的 在软件系统中&#xff0c;经常面临着创建对象的工作&#xff1b;由于需求的变化&#xff0c;需要创建的对象的具体类型经常变化。 如何应对这种变化&#xff1f;如何绕过常规的…

TCP_可靠数据传输原理

引言 在网络通信中&#xff0c;TCP是确保数据可靠传输的关键协议。但在我们深入研究TCP拥塞控制技术之前&#xff0c;让我们先探索可靠数据传输的原理&#xff0c;特别是TCP头部中一些重要字段的作用。 网络层提供了点对点的通信服务&#xff0c;努力交付数据报&#xff0c;但…

【Matlab】ELM极限学习机时序预测算法(附代码)

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88681649 一&#xff0c;概述 ELM&#xff08;Extreme Learning Machine&#xff09;是一种单层前馈神经网络结构&#xff0c;与传统神经网络不同的是&#xff0c;ELM的隐层神经元权重以及偏置都是随机产生的…

Python爬虫---selenium基本使用(支持无界面浏览器PhantomJS和Chrome handless)

为什么使用selenium&#xff1f; 使用urllib.request.urlopen()模拟浏览器有时候获取不到数据,所以使用selenium (1) selenium是一个用于web应用程序测试的工具 (2) selenium 测试直接运行在浏览器中&#xff0c;就像真正的用户在操作一样 (3) 支持通过各种driver (FirfoxDri…

MySQL线上慢SQL问题分析处理小记

相同数据量表结构&#xff0c;线上执行12s 本地执行0.1s过程分析 1. 慢SQL信息 SELECT t1.id,t2.idFROM t_platform_target_standard_target_index t1LEFT JOIN t_platform_target_standard t2 ON t1.target_number t2.target_numberWHERE t1.delete_flag 0 AND t2.user_num …

TypeScript 的基础语法

书接上上文&#xff1a;关于vue3的知识点 和 上文 &#xff1a;TypeScript的安装与报错 我们来接着看TypeScript 的基础语法 TypeScript 语法 1. 类型注解 类型注解是 变量后面约定类型的语法&#xff0c;用来约定类型&#xff0c;明确提示 // 约定变量 age 的类型为 numbe…