C02S08-Linux磁盘管理之LVM逻辑卷管理

一、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命令,可以用于查看读写是否正常。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/461681.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重塑重工起重行业未来:网关与云平台携手共创价值新篇章

在重工起重这一传统而关键的工业领域中&#xff0c;技术的每一次革新都意味着生产效率与安全标准的飞跃。随着物联网、大数据、云计算等先进技术的不断渗透&#xff0c;重工起重行业正迎来一场前所未有的智能化变革。其中&#xff0c;网关与云平台的深度融合&#xff0c;正成为…

NPOI 操作详解(操作Excel)

目录 1. 安装 NPOI 2. 使用 NPOI 创建新 Excel 文件 3. 设置列宽和行高 1. 设置列宽 2. 设置行高 3. 同时设置列宽和行高 4. 设置统一的行高 5. 设置统一的列宽 6. 应用统一的行高和列宽 4. 合并单元格 5. 设置单元格样式&#xff08;字体、边框、背景色等&#xf…

CMS getshell

进入前台 漏洞为前台任意用户密码修改和前台用户文件上传然后getshell 1. 弱口令进入前台用户admin123/admin123 2. 进入会员用户后点击内容中心 点击发布文章 存在文件上传&#xff0c;发现后缀和MIME类型都是白名单 但是在原文件的基础上继续添加随意后缀&#xff0c;发现成功…

教你用python实现自动化文本识别

目录 步骤1&#xff1a;安装依赖 安装Tesseract 安装pytesseract和Pillow&#xff08;用于图像处理&#xff09; 扩展功能 实现自动化文本识别&#xff08;Optical Character Recognition, OCR&#xff09;通常使用Python的OCR库&#xff0c;例如Tesseract。Tesseract是一个…

逻辑磁盘管理 附实验:逻辑卷的组成与划分

分区类型&#xff1a; 1、系统引导分区 就是存放系统的引导文件和Linux的内核文件 2、swap分区 交换分区&#xff0c;系统的物理内存不足时&#xff0c;从一些长时间未运行的程序当中释放一部分内存释放出来的保存到swap分区&#xff0c;这些未运行的程序一旦运行还要从swap空…

讲讲 kafka 维护消费状态跟踪的方法?

大家好&#xff0c;我是锋哥。今天分享关于【讲讲 kafka 维护消费状态跟踪的方法&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; 讲讲 kafka 维护消费状态跟踪的方法&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中&#x…

Flutter-Engine 的定制实践:Text 绘制流程浅析及自定义underline的间距

前言 最近工作中处理的文本相关的内容较多&#xff0c;不论是刁钻的需求还是复杂的问题&#xff0c;最终都会引向一点“Flutter中的文本是如何绘制的&#xff1f;”。 这里我将以“调整下划线与文字的间距”为切入点并结合自定义Engine&#xff0c;记录一下我的个人分析和实践…

[A-14]ARMv8/ARMv9-Memory-内存模型的类型(Device Normal)

ver0.1 [看前序文章有惊喜。] 前言 前面花了很大的精力把ARM构建的VMSA中的几个核心的议题给大家做了介绍,相信大家已经能够理解并掌握ARM的内存子系统的工作原理大致框架。接下来我们会规划一些文章,对ARM内存子系统的一些细节做一下介绍,使ARM的内存子系统更加的丰满。本…

可编辑31页PPT | 智慧业务中台规划建设与应用总体方案

荐言分享&#xff1a;随着数字化转型的深入&#xff0c;企业面临着前所未有的挑战与机遇。为了高效整合内外部资源&#xff0c;快速响应市场变化&#xff0c;提升业务创新能力&#xff0c;智慧业务中台应运而生。智慧业务中台作为企业数字化转型的核心基础设施&#xff0c;旨在…

深入理解Docker,从入门到精通-Part1(基础使用)

一、Docker基本概念 Docker架构 基本组件的介绍 Docker Client 是用户界面&#xff0c;它支持用户与Docker Daemon之间通信 Docker Daemon Docker最核心的后台进程&#xff0c;运行于主机上&#xff0c;处理服务请求 Docker registry是中央registry&#xff0c;支持拥有公有与…

在macOS的多任务处理环境中,如何平衡应用的性能与用户体验?这是否是一个复杂的优化问题?如何优化用户体验|多任务处理|用户体验|应用设计

目录 一 多任务处理与应用性能 1. macOS中的多任务处理机制 2. 性能优化的基本策略 二 用户体验的关键要素 1. 响应速度 2. 界面友好性 3. 功能的直观性 三 平衡性能与用户体验的策略 1. 资源管理 2. 优化数据加载 3. 使用合适的线程模型 4. 实时监测和调整 四 使…

lvm逻辑卷管理

分区类型&#xff1a; 主分区扩展分区逻辑分区系统引导分区&#xff1a;存放系统的引导文件和linux的内核文件swap分区&#xff1a;交换分区&#xff0c;系统的物理内存不足时&#xff0c;从一些长时间未运行的程序当中释放一部分内存&#xff0c;释放出来的内存保存到swap分区…

openai api 文件分析/联网/画图代码示例

目的 使用https://4o.zhangsan.shop的API进行文件分析等功能。 完整代码 # pip install openai0.28 # 注意下方代码必须使用该版本 import openaidef query_gpt4(question):openai.api_key "sk-aQR1wbTsLpySgJDq3fFb026c225a44C8924750C1B67bCeD5"openai.api_ba…

Android编译环境构建(二)(可用于物理机、虚拟机、容器化Jenkins环境)

文章目录 需求环境要求文件下载Gradle Version:7.5cmdline-tools至此普通物理环境的Android编译环境已部署完毕 部署maven(可选)Jenkins配置Android构建环境 说明&#xff1a; 物理环境&#xff1a;物理机、虚拟机等 容器化环境&#xff1a;docker等 需求 Gradle Version:7.5 …

WPF+MVVM案例实战(十)- 水波纹按钮实现与控件封装

文章目录 1、运行效果1、封装用户控件1、创建文件2、依赖属性实现2、使用封装的按钮控件1.主界面引用2.按钮属性设置3 总结1、运行效果 1、封装用户控件 1、创建文件 打开 Wpf_Examples 项目,在 UserControlLib 用户控件库中创建按钮文件 WaterRipplesButton.xaml ,修改 Us…

Spring Boot解决 406 错误之返回对象缺少Getter/Setter方法引发的问题

目录 前言1. 问题背景2. 问题分析2.1 检查返回对象 3. 解决方案3.1 确保Controller返回Result类型3.2 测试接口响应 4. 原理探讨5. 常见问题排查与优化建议结语 前言 在Spring Boot开发中&#xff0c;接口请求返回数据是系统交互的重要环节&#xff0c;尤其在开发RESTful风格的…

FineReport 单元格的特殊应用场景

1、实现鼠标点击的行变色 创建报表 1.1、鼠标点击某行时该行高亮显示 JavaScript 代码如下&#xff1a; _g().addEffect(highlightRow, {color: red,trigger: mousedown, });结果 1.2、鼠标悬浮某行时该行变色&#xff0c;离开时恢复 其他一样&#xff0c;就改代码 JavaScr…

MacOS的powermetrics命令查看macbook笔记本的耗能情况,附带查看ANE的工作情况

什么是 powermetrics&#xff1f; powermetrics 是 macOS 系统自带的一个命令行工具&#xff0c;用于收集和分析系统能源消耗数据。通过它&#xff0c;我们可以深入了解 Mac 的硬件性能、软件行为以及能源使用情况&#xff0c;从而优化系统配置&#xff0c;提高电池续航时间。…

系统架构师-一文搞定架构风格

架构风格分类 五大架构风格简介子风格数据流风格面向数据流&#xff0c;按照一定的顺序从前向后执行程序批处理、管道-过滤器调用/返回风格构件与构件之间存在相互调用的关系&#xff0c;一般是显示的调用主程序/子程序、面向对象、层次结构&#xff08;层次型架构风格&#x…

第13课 数据处理

数轴是一维的&#xff0c;平面直角坐标系是二维的。单个学生的成绩是一维的&#xff0c;全班同学的成绩是二维的。 Python是强大的数据处理工具&#xff0c;可以处理多种数据文件。最基础的数据文件包括一维数据、二维数据、CSV格式数据文件。 这节课重点学习一维数据、二维数据…