您的位置:首页 > 科技 > 能源 > 计算机专业是干什么的_深圳数据中心建设公司_谷歌商店paypal官网_营销运营主要做什么

计算机专业是干什么的_深圳数据中心建设公司_谷歌商店paypal官网_营销运营主要做什么

2025/2/24 22:25:08 来源:https://blog.csdn.net/Lin_Nong/article/details/143434918  浏览:    关键词:计算机专业是干什么的_深圳数据中心建设公司_谷歌商店paypal官网_营销运营主要做什么
计算机专业是干什么的_深圳数据中心建设公司_谷歌商店paypal官网_营销运营主要做什么

一、LVM

1. LVM概述

LVM(Logical Volume Manager,逻辑卷管理器)是一种存储管理技术,允许用户将多个物理硬盘组合成一个或多个逻辑卷,从而提供更灵活的磁盘空间管理。在LVM中,逻辑卷是用户实际使用的存储空间,它是由物理卷组成的,物理卷是实际的硬盘或硬盘分区。

下面是LVM中的主要组件:

  1. 物理卷(Physical Volume,PV)
    • 物理卷是LVM中的最基本存储单元,通常是一个硬盘分区或整个硬盘。
    • 物理卷被初始化后,可以被加入到卷组中使用。
  2. 卷组(Volume Group,VG)
    • 卷组是由一个或多个物理卷组成的集合,它作为逻辑卷创建的存储池。
    • 卷组提供了一个逻辑上连续的存储空间,尽管物理卷可能分布在不同的物理硬盘上。
  3. 逻辑卷(Logical Volume,LV)
    • 逻辑卷是用户实际使用的存储空间,它是建立在卷组之上的。
    • 逻辑卷可以被格式化为文件系统,并被挂载到系统中使用,就像普通的硬盘分区一样。
    • 逻辑卷的大小可以动态调整,只要不超过卷组的总容量。
  4. 物理扩展(Physical Extent,PE)
    • 物理扩展是LVM中的最小存储单位,大小为4MB。
    • 每个物理扩展是卷组中连续的一段空间,大小是固定的,并且在整个LVM系统中保持一致。
    • 物理扩展的大小在创建卷组时确定,并且一旦设置,在同一卷组中所有物理卷的物理扩展大小都是相同的。
  5. 逻辑扩展(Logical Extent,LE)
    • 逻辑扩展是逻辑卷中分配给数据的一段空间,它对应于物理扩展。
    • 逻辑扩展的大小与物理扩展相同,但是它们在逻辑卷中可以非连续地分布。

虚拟:在计算机当中,虚拟是依托于真实的物理硬件来实现的。

2. 使用LVM的原因

  • 可以整合多个物理硬盘,有效利用硬盘空间。
  • 可以根据业务需求进行扩展空间或缩小空间。

3. LVM常用命令

功能物理卷管理卷组管理逻辑卷管理
扫描
scan
pvscanvgscanlvscan
建立
create
pvcreatevgcreatelvcrete
显示
display
pvdisplayvgdisplaylvdisplay
删除
remove
pvremovevgremovelvremove
扩展
extend
vgextendlvextend
缩小
reduce
vgreducelvreduce
  • Ubuntu系统不自带这些命令,需要下载。

    apt -y install lvm2
    

4. LVM常见使用

4.1 LVM的创建

  1. 准备物理卷:硬盘分区,初始化物理卷。
  2. 创建卷组:将一个或多个物理卷组合成一个卷组。
  3. 创建逻辑卷:基于卷组创建逻辑卷。
  4. 格式化逻辑卷:格式化逻辑卷的文件系统。
  5. 挂载逻辑卷:临时挂载逻辑卷或自动挂载。

4.2 LVM的扩容

卷组扩容:

  1. 创建新物理卷。
  2. 将新物理卷加入卷组。

逻辑卷扩容:

  1. 扩展逻辑卷。
  2. 调整文件系统大小。

4.3 LVM的缩容

卷组缩容:

卷组只能缩容未分配的空间,而且物理卷上不能有逻辑卷。卷组缩容的实质也就是移除物理卷。

  1. 移除卷组中的物理卷。

逻辑卷缩容:

  1. 取消挂载
  2. 检查文件系统。
  3. 缩小文件系统。
  4. 缩小逻辑卷。
  5. 重新挂载。

二、LVM具体操作

1. LVM的创建

1.1 准备物理卷

  1. 准备分区或是新硬盘。

    sdb      8:16   0    20G  0 disk
    └─sdb1   8:17   0     5G  0 part
    sdc      8:32   0    20G  0 disk
    └─sdc1   8:33   0     5G  0 part
    sdd      8:48   0    20G  0 disk
    └─sdd1   8:49   0     5G  0 part
    

    具体步骤略过不写,下面用三个分区进行LVM的操作演示。

  2. 创建物理卷,这步可省略。

    # pvcreate 分区或硬盘
    pvcreate /dev/sd{b,c,d}1 # 这里采用通配符写法Physical volume "/dev/sdb1" successfully created.
    Physical volume "/dev/sdc1" successfully created.
    Physical volume "/dev/sdd1" successfully created.
    

1.2 创建卷组

  1. 合并3个物理卷为卷组vg01。

    # vgcreate 卷组名 物理卷
    vgcreate vg01 /dev/sd{b,c,d}1Volume group "vg01" successfully created
    
  2. 查看卷组vg01的信息。

    # vgdisplay 卷组
    vgdisplay vg01--- Volume group ---
    VG Name               vg01
    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               <14.99 GiB
    PE Size               4.00 MiB
    Total PE              3837
    Alloc PE / Size       0 / 0
    Free  PE / Size       3837 / <14.99 GiB
    VG UUID               q7mWCT-shT1-e2D0-y8B1-eFre-iyDQ-Eh0YzY
    

1.3 创建逻辑卷

  1. 基于卷组vg01划分出空间大小为8G的逻辑卷lv01。

    # lvcreate -n 逻辑卷名 -L 逻辑卷容量 卷组
    lvcreate -n lv01 -L +8G vg01Logical volume "lv01" created.
    
  2. 查看逻辑卷lv01的信息。

    # lvdisplay 逻辑卷
    lvdisplay /dev/vg01/lv01--- Logical volume ---
    LV Path                /dev/vg01/lv01
    LV Name                lv01
    VG Name                vg01
    LV UUID                g8cO2d-lOVS-ruiT-9DQd-txi5-pp1g-WfJbU5
    LV Write Access        read/write
    LV Creation host, time Ubuntu-Study, 2024-11-01 11:36:18 +0800
    LV Status              available
    # open                 0
    LV Size                8.00 GiB
    Current LE             2048
    Segments               2
    Allocation             inherit
    Read ahead sectors     auto
    - currently set to     256
    Block device           252:0
    

1.4 格式化逻辑卷

  1. 格式化逻辑卷lv01的文件系统。

    mkfs.ext4 /dev/vg01/lv01mke2fs 1.46.5 (30-Dec-2021)
    创建含有 2097152 个块(每块 4k)和 524288 个 inode 的文件系统
    文件系统 UUID:73b37151-3538-4262-bd63-96fe45b1b786
    超级块的备份存储于下列块:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632正在分配组表: 完成
    正在写入 inode表: 完成
    创建日志(16384 个块): 完成
    写入超级块和文件系统账户统计信息: 已完成
    

1.5 挂载逻辑卷

  1. 将逻辑卷挂载到指定目录。

    # 创建挂载目录
    mkdir /mnt/lv01# 临时挂载
    mount /dev/vg01/lv01 /mnt/lv01# 自动挂载,在/etc/fstab写入配置
    echo "/dev/vg01/lv01 /mnt/lv01 ext4 defaults 0 0" >> /etc/fstab
    mount -a
    
  2. 查看挂载状态。

    df -h文件系统               大小  已用  可用 已用% 挂载点
    ……
    /dev/mapper/vg01-lv01  7.8G   24K  7.4G    1% /mnt/lv01
    

2. LVM的扩容

2.1 卷组扩容

  1. 新增一个物理卷sdb2。

    sdb             8:16   0    20G  0 disk
    ├─sdb1          8:17   0     5G  0 part
    │ └─vg01-lv01 252:0    0     8G  0 lvm  /mnt/lv01
    └─sdb2          8:18   0    15G  0 part
    sdc             8:32   0    20G  0 disk
    └─sdc1          8:33   0     5G  0 part└─vg01-lv01 252:0    0     8G  0 lvm  /mnt/lv01
    sdd             8:48   0    20G  0 disk
    └─sdd1          8:49   0     5G  0 part
    
  2. 将物理卷sdb2加入卷组vg01。

    # vgextend 卷组 物理卷
    vgextend vg01 /dev/sdb2Physical volume "/dev/sdb2" successfully created.
    Volume group "vg01" successfully extended
    
  3. 查看卷组vg01信息,可以看到VG Size的数值变大。

    vgdisplay vg01--- Volume group ---
    VG Name               vg01
    System ID
    Format                lvm2
    Metadata Areas        4
    Metadata Sequence No  3
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                1
    Open LV               1
    Max PV                0
    Cur PV                4
    Act PV                4
    VG Size               29.98 GiB
    PE Size               4.00 MiB
    Total PE              7676
    Alloc PE / Size       2048 / 8.00 GiB
    Free  PE / Size       5628 / 21.98 GiB
    VG UUID               XvqE8T-3Bjw-uYtE-zBX7-6ucT-n5Yb-LkCxMw
    

2.2 逻辑卷扩容

逻辑卷能否扩容取决于卷组是否还有剩余空间,并不是必须进行卷组扩容,然后才能逻辑卷扩容

  1. 扩展逻辑卷lv01。

    # lvextend -L 容量大小 逻辑卷
    lvextend -L +5G /dev/vg01/lv01Size of logical volume vg01/lv01 changed from 8.00 GiB (2048 extents) to 13.00 GiB (3328 extents).
    Logical volume vg01/lv01 successfully resized.
    
  2. 调整文件系统大小,将扩展的空间添加到文件系统中。

    # resize2fs 逻辑卷,resize2fs适用于ext4文件系统
    # 若是xfs文件系统,使用xfs_growfs命令
    resize2fs /dev/vg01/lv01
    
  3. 查看逻辑卷lv01信息,可以看到LV Size数值大小已经增大。

    lvdisplay--- Logical volume ---
    LV Path                /dev/vg01/lv01
    LV Name                lv01
    VG Name                vg01
    LV UUID                wp2wrV-79oI-vjMT-Q1uw-IHzC-w0qi-0Fxamh
    LV Write Access        read/write
    LV Creation host, time Ubuntu-Study, 2024-11-01 13:02:50 +0800
    LV Status              available
    # open                 1
    LV Size                13.00 GiB
    Current LE             3328
    Segments               3
    Allocation             inherit
    Read ahead sectors     auto
    - currently set to     256
    Block device           252:0
    

3. LVM的缩容

3.1 逻辑卷缩容

  1. 取消逻辑卷的挂载。

    umount /dev/vg01/lv01
    
  2. 检查文件系统。

    e2fsck -f /dev/vg01/lv01e2fsck 1.46.5 (30-Dec-2021)1 遍:检查 inode、块,和大小
    第 2 遍:检查目录结构
    第 3 遍:检查目录连接性
    第 4 遍:检查引用计数
    第 5 遍:检查组概要信息
    /dev/vg01/lv01:11/851968 文件(0.0% 为非连续的),80096/3407872 块
    
  3. 缩小文件系统的大小。

    # resize2fs 逻辑卷 容量大小
    resize2fs /dev/vg01/lv01 5Gresize2fs 1.46.5 (30-Dec-2021)
    将 /dev/vg01/lv01 上的文件系统调整为 1310720 个块(每块 4k)。
    /dev/vg01/lv01 上的文件系统大小已经调整为 1310720 个块(每块 4k)。
    
  4. 缩小逻辑卷的大小。

    # lvreduce -L 容量大小 逻辑卷
    lvreduce -L -5G /dev/vg01/lv01WARNING: Reducing active logical volume to 8.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce vg01/lv01? [y/n]: ySize of logical volume vg01/lv01 changed from 13.00 GiB (3328 extents) to 8.00 GiB (2048 extents).Logical volume vg01/lv01 successfully resized.
    
  5. 重新挂载。

    mount /dev/vg01/lv01 /mnt/lv01
    

3.2 卷组缩容

  1. 将物理卷sdb2从卷组vg01中移除。

    vgreduce vg01 /dev/sdb2
    

三、磁盘配额管理

1. 配额管理概念

配额管理是一种用于控制和限制用户或用户组在文件系统中使用的磁盘空间量的机制。它允许超级用户可以指定普通用户或所属组使用磁盘设备挂载点的额度,以防用户使用过多资源从而影响其他用户的使用,额度也就是指磁盘空间大小、文件数量等。

2. 配额管理命令

xfs_quota命令是一个针对xfs文件系统的磁盘容量配额管理命令。

xfs_quota 选项 配额管理命令 挂载点

常见的选项:

选项功能
-x专家模式,允许使用复杂的配额管理命令
-c指定配额管理命令

常见的配额管理命令:

limit -u bsoft|bhard|isoft|ihard 用户名
  • -u:设置用户的限制配额。
  • bsoft|bhard|isoft|ihard:
    • bsoft:磁盘空间的软限制。
    • bhard:磁盘空间的硬限制。
    • isoft:inode数量的软限制,也就是文件数量的软限制。
    • ihard:inode数量的硬限制,也就是文件数量的硬限制。
  • 用户名:指定要限额的用户

3. 配额管理流程

  1. 准备xfs文件系统。
  2. 创建用户。
  3. 配置用户的限额。
  4. 验证限额是否成功。

4. 配额管理具体操作

4.1 准备xfs系统

  1. 创建分区sdc2。

    fdisk /dev/sdc命令(输入 m 获取帮助): n
    分区类型p   主分区 (1 primary, 0 extended, 3 free)e   扩展分区 (逻辑分区容器)
    选择 (默认 p):将使用默认回应 p。
    分区号 (2-4, 默认  2):
    第一个扇区 (10487808-41943039, 默认 10487808):
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-41943039, 默认 41943039): +5G创建了一个新分区 2,类型为“Linux”,大小为 5 GiB。命令(输入 m 获取帮助): w
    分区表已调整。
    正在同步磁盘。
  2. 格式化分区的文件系统。

    mkfs.xfs /dev/sdc2meta-data=/dev/sdc2              isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1    bigtime=0 inobtcount=0
    data     =                       bsize=4096   blocks=1310720, 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 =extsz=4096   blocks=0, rtextents=0
    
  3. 挂载文件系统。

    # 创建挂载目录
    mkdir /mnt/sdc2
    # 设置目录权限
    chmod 777 /mnt/sdc2# 临时挂载文件系统,并启动配额管理功能
    mount -o usrquota,grpquota /dev/sdc2 /mnt/sdc2/# 自动挂载文件系统
    echo "/dev/sdc2 /mnt/sdc2/ xfs defaults,usrquota,grpquota 0 0" >> /etc/fstab
    mount -a
    

4.2 创建用户

  1. 创建一个普通用户。

    useradd -m -s /bin/bash testpasswd test
    

4.3 配置用户限额

  1. 使用xfs_quota命令配置用户test的限额。

    xfs_quota -x -c 'limit -u bsoft=90M bhard=100M test' /mnt/sdc2/
    

4.4 测试配额是否成功

  1. 切换为普通用户test。

    su - test
    
  2. 执行下面的命令,模拟创建文件,查看是否有配额超限提示。

    dd if=/dev/zero of=/mnt/sdc2/test.txt bs=10M count=12dd: 写入 '/mnt/sdc2/test.txt' 时出错: 超出磁盘配额
    记录了11+0 的读入
    记录了10+0 的写出
    104857600字节(105 MB,100 MiB)已复制,0.046097 s,2.3 GB/s
    
    • /dev/zero是一个有着无限空字符的文件,可以根据需求生成指定大小文件用于测试。
    • 除此之外,还有iostat命令,可以用于查看读写是否正常。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com