Linux RAID 存储技术

一、RAID 存储

1. RAID 概念

RAID,即廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks)。

大容量磁盘价格高昂,RAID的核心思路是将多块容量小、成本低的磁盘组合成大容量、高性能可靠性的大容量磁盘。

随着磁盘成本大幅下降,“廉价”概念失去意义,RAID咨询委员会(RAID Advisory Board, RAB)将“廉价(Inexpensive)”替换为“独立(Independent)”,RAID自此定义为独立磁盘冗余阵列(Redundant Array of Independent Disks)。

2. RAID 实现方式

从技术实现维度,RAID主要分为三类,核心差异在于是否依赖专用硬件芯片:

  • 软 RAID:无独立的RAID控制/处理芯片和I/O处理芯片,所有RAID功能由操作系统和CPU完成,实现成本低但效率最差。

  • 硬 RAID:配备专用RAID控制/处理芯片、I/O处理芯片及阵列缓冲,不占用主机CPU资源,性能优异但硬件成本高。

  • 软硬混合 RAID:具备RAID控制/处理芯片,但无独立I/O处理芯片,需CPU和驱动程序辅助完成功能,性能与成本介于软RAID和硬RAID之间。

    操作系统识别到的设备是raid卡提供的设备,而不是直接管理底层硬盘。

3. RAID 级别

RAID通过数据条带、镜像、数据校验三类核心技术实现高性能、高可靠性、容错能力和扩展性。不同技术的组合策略形成不同RAID级别,以适配不同数据应用场景。

D. A. Patterson等的论文最初定义了RAID1RAID5,1988年后扩展出RAID0和RAID6;后续厂商推出的RAID7、RAID10/01、RAID50等无统一标准,业界公认的核心级别为RAID0RAID5,实际应用中以RAID0、RAID1、RAID4、RAID5、RAID6、RAID10为主。

各RAID级别无高低之分,需结合业务对可用性、性能、成本的需求选择适配的级别和实现方式。

4. RAID 实践

实验环境需在虚拟机中添加6块20G硬盘,设备名分别为sdb、sdc、sdd、sde、sdf、sdg,用于后续各类RAID阵列的创建与测试。

Linux系统中通过mdadm工具实现软RAID的创建、配置、监控与维护,以下为核心RAID级别的实操流程。

4.1 管理 RAID 0

# 安装mdadm工具(CentOS系统)
[root@centos7 ~ 10:04:21]# yum install -y mdadm

# 创建RAID 0阵列:设备名/dev/md0,级别0,成员盘2块(sdb、sdc)
[root@centos7 ~ 10:26:08]# mdadm --create /dev/md0 --level=0 --raid-devices 2 /dev/sd{b,c}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

注释:–level指定RAID级别,–raid-devices指定成员盘数量,/dev/sd{b,c}为sdb和sdc的简写

4.1.1 查看 RAID 0 状态
# 查看RAID概要信息(内核态RAID状态)
[root@centos7 ~ 10:26:50]# cat /proc/mdstat 
Personalities : [raid0] 
md0 : active raid0 sdc[1] sdb[0]
      41908224 blocks super 1.2 512k chunks
      
unused devices: <none>

# 查看RAID设备详细信息
[root@centos7 ~ 10:27:03]# mdadm --detail /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Thu Apr  9 10:26:50 2026
        Raid Level : raid0
        Array Size : 41908224 (39.97 GiB 42.91 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Apr  9 10:26:50 2026
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : centos7.jqz.cloud:0  (local to host centos7.jqz.cloud)
              UUID : 6b282967:7e853b8a:5c7353b4:6c25d99c
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

注释:核心关注Raid Level(级别)、State(状态,clean为正常)、Chunk Size(条带块大小)、成员盘状态。

# 查看RAID设备与物理盘的映射关系
[root@centos7 ~ 10:27:20]# lsblk /dev/md0 
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md0    9:0    0  40G  0 raid0 
[root@centos7 ~ 10:27:39]# lsblk /dev/sdb /dev/sdc
NAME  MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sdb     8:16   0  20G  0 disk  
└─md0   9:0    0  40G  0 raid0 
sdc     8:32   0  20G  0 disk  
└─md0   9:0    0  40G  0 raid0 
4.1.2 格式化与挂载 RAID 0
# 1.格式化RAID设备为XFS文件系统
[root@centos7 ~ 10:28:07]# mkfs.xfs /dev/md0 
meta-data=/dev/md0               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

# 2.创建挂载点
[root@centos7 ~ 10:28:22]# mkdir -p /raid/raid0

# 3.挂载RAID设备到挂载点
[root@centos7 ~ 10:28:40]# mount /dev/md0 /raid/raid0

# 4.验证挂载结果
[root@centos7 ~ 10:29:05]# df -h /raid/raid0
Filesystem      Size  Used Avail Use% Mounted on
/dev/md0         40G   33M   40G   1% /raid/raid0

# 5.测试数据写入
[root@centos7 ~ 10:29:30]# cp /etc/ho* /raid/raid0
[root@centos7 ~ 10:29:43]# ls /raid/raid0
host.conf  hostname  hosts  hosts.allow  hosts.deny
4.1.3 删除 RAID 0
# 1.卸载挂载点
[root@centos7 ~ 10:30:12]# umount /dev/md0

# 2.停止RAID阵列(销毁阵列)
[root@centos7 ~ 10:31:07]# mdadm --stop /dev/md0 
mdadm: stopped /dev/md0

# 3.清除物理盘上的RAID超级块(恢复为普通磁盘)
[root@centos7 ~ 10:31:22]# mdadm --zero-superblock /dev/sd{b,c}

4.1.4 补充说明
  • RAID 0不支持新增成员盘扩展容量:
    bash [root@centos7 ~]# mdadm --add /dev/md0 /dev/sdd mdadm: add new device failed for /dev/sdd as 2: Invalid argument

  • RAID 0不支持标记单盘故障(无冗余,单盘故障即阵列失效)
    bash [root@centos7 ~]# mdadm --fail /dev/md0 /dev/sdc mdadm: Cannot remove /dev/sdc from /dev/md0, array will be failed.

4.2 管理 RAID 1

4.2.1 创建 RAID 1
[root@centos7 ~ 10:56:18]# mdadm --detail /dev/md1 
/dev/md1:
           Version : 1.2
     Creation Time : Thu Apr  9 10:56:18 2026
        Raid Level : raid1
        Array Size : 20954112 (19.98 GiB 21.46 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Thu Apr  9 10:56:37 2026
             State : clean, resyncing 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

     Resync Status : 19% complete

              Name : centos7.jqz.cloud:1  (local to host centos7.jqz.cloud)
              UUID : 6c3d9d09:a5af857e:d0eca9e5:6f92b867
            Events : 3

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

注释:resyncing表示镜像数据正在同步,需等待同步完成(100%)后再进行格式化操作。

# 查看RAID与物理盘映射
[root@centos7 ~ 10:56:37]# lsblk /dev/md1 
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md1    9:1    0  20G  0 raid1 

[root@centos7 ~ 10:56:51]# lsblk /dev/sdb /dev/sdc
NAME  MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sdb     8:16   0  20G  0 disk  
└─md1   9:1    0  20G  0 raid1 
sdc     8:32   0  20G  0 disk  
└─md1   9:1    0  20G  0 raid1 

4.2.2 格式化与挂载 RAID 1
# 1.等待同步完成后,格式化RAID设备
[root@centos7 ~ 10:57:05]# mkfs.xfs /dev/md1 
mkfs.xfs: /dev/md1 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.

# 2.创建挂载点
[root@centos7 ~ 10:57:22]# mkdir /raid/raid1

# 3.挂载设备
[root@centos7 ~ 10:57:54]# mount /dev/md1 /raid/raid1

# 4.验[root@centos7 ~ 11:00:46]# df -h /raid/raid1
Filesystem      Size  Used Avail Use% Mounted on
/dev/md1         20G   45M   19G   1% /raid/raid1证挂载

# 5.测试数据写入
[root@centos7 ~ 11:01:00]# cp /etc/ho* /raid/raid1
[root@centos7 ~ 11:02:19]# ls /raid/raid1/
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found
4.2.3 增加热备盘
# 为RAID 1添加热备盘sdd
[root@centos7 ~ 11:03:03]# mdadm --add /dev/md1 /dev/sdd
mdadm: added /dev/sdd

# 查看热备盘状态(spare为备用)
[root@centos7 ~ 11:03:35]# mdadm --detail /dev/md1 |tail -5
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

       2       8       48        -      spare   /dev/sdd
4.2.4 模拟磁盘故障
# 1.手动标记sdc为故障盘
[root@centos7 ~ 11:03:52]# mdadm --fail /dev/md1 /dev/sdc 
mdadm: set /dev/sdc faulty in /dev/md1

# 2.查看故障后状态(sdd自动顶替并同步)
[root@centos7 ~ 11:05:42]# mdadm --detail /dev/md1 |tail -5
	Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       2       8       48        1      spare rebuilding   /dev/sdd

       1       8       32        -      faulty   /dev/sdc
       
# 3.验证数据可正常访问
[root@centos7 ~ 11:08:00]# ls /raid/raid1
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found  test.txt

4.2.5 删除故障磁盘
# 手动标记sdc为故障盘
[root@centos7 ~]# mdadm --fail /dev/md1 /dev/sdc
mdadm: set /dev/sdc faulty in /dev/md1

# 查看故障后状态(sdd自动顶替并同步)
[root@centos7 ~]# mdadm --detail /dev/md1 |tail -5
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       2       8       48        1      spare rebuilding   /dev/sdd

       1       8       32        -      faulty   /dev/sdc

# 验证数据可正常访问
[root@centos7 ~]# ls /raid/raid1/
host.conf  hostname  hosts  hosts.allow  hosts.deny
[root@centos7 ~]# cat /raid/raid1/hostname 
centos7.laoma.cloud
4.2.6 删除故障磁盘
[root@centos7 ~ 11:07:38]# umount /raid/raid1 
[root@centos7 ~ 11:07:45]# mount /dev/md1 /raid/raid1
[root@centos7 ~ 11:08:00]# ls /r
raid/ root/ run/  
[root@centos7 ~ 11:08:00]# ls /raid/raid1
host.conf  hostname  hosts  hosts.allow  hosts.deny  lost+found  test.txt

总结:raid1阵列中任一成员故障,不影响数据的完整性。

4.2.7 删除 RAID 1
# 卸载挂载点
[root@centos7 ~ 11:08:09]# umount /dev/md1

# 停止RAID阵列
[root@centos7 ~ 11:08:27]# mdadm --stop /dev/md1
mdadm: stopped /dev/md1

# 清除物理盘超级块
[root@centos7 ~ 11:08:37]# mdadm --zero-superblock /dev/sd{b..d}
4.2.8 使用dd工具填充更彻底。
[root@centos7 ~ 11:34:17]# dd if=/dev/zero of=/dev/sdb bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 5.35868 s, 200 MB/s

作用:使用0填充/dev/sdb硬盘。

  • if:Input File,/dev/zero 全为0
  • of:Output File
  • bs:Block Size,每次添加多大数据流
  • count:一共填充多少个Block
4.2.9 补充说明

RAID 1核心价值是数据冗余,而非扩容:即使新增磁盘,阵列总容量仍等于单盘容量(镜像机制),无法通过加盘提升可用空间。

4.3 管理 RAID 5

4.3.1 创建 RAID 5
[root@centos7 ~ 11:34:29]# mdadm --create /dev/md5 --level 5 --raid-devices 4 /dev/sd{b..e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.

注释:RAID 5最少需3块盘,此处用4块盘(1块用于分布式校验)。

4.3.2 查看 RAID 5 状态
[root@centos7 ~ 11:35:53]# mdadm --detail /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu Apr  9 11:35:53 2026
        Raid Level : raid5
        Array Size : 62862336 (59.95 GiB 64.37 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 4
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Thu Apr  9 11:36:06 2026
             State : clean, degraded, recovering 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 12% complete

              Name : centos7.jqz.cloud:5  (local to host centos7.jqz.cloud)
              UUID : 920ee884:95b2483a:0392e011:d569106e
            Events : 3

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      spare rebuilding   /dev/sde

注释:recovering表示阵列正在构建/同步,需等待同步完成后再格式化。

# 查看RAID与物理盘映射
[root@centos7 ~ 11:36:06]# lsblk /dev/md5
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md5    9:5    0  60G  0 raid5 

[root@centos7 ~ 11:36:28]# lsblk /dev/sd{b..e}
NAME  MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
sdb     8:16   0  20G  0 disk  
└─md5   9:5    0  60G  0 raid5 
sdc     8:32   0  20G  0 disk  
└─md5   9:5    0  60G  0 raid5 
sdd     8:48   0  20G  0 disk  
└─md5   9:5    0  60G  0 raid5 
sde     8:64   0  20G  0 disk  
└─md5   9:5    0  60G  0 raid5
4.3.3 格式化与挂载 RAID 5
# 1.等待阵列同步完成后,格式化设备
[root@centos7 ~ 11:36:40]# mkfs.xfs /dev/md5 
meta-data=/dev/md5               isize=512    agcount=16, agsize=982144 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=15714304, imaxpct=25
         =                       sunit=128    swidth=384 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=7680, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# 2.创建挂载点
[root@centos7 ~ 11:36:54]# mkdir /raid/raid5
# 3.挂载设备
[root@centos7 ~ 11:37:07]# mount /dev/md5 /raid/raid5
# 4.验证挂载
[root@centos7 ~ 11:37:23]# df -h /raid/raid5
Filesystem      Size  Used Avail Use% Mounted on
/dev/md5         60G   33M   60G   1% /raid/raid5

# 5.测试数据写入
[root@centos7 ~ 11:37:30]# cp /etc/ho* /raid/raid5
[root@centos7 ~ 11:37:46]# ls /raid/raid5/
host.conf  hostname  hosts  hosts.allow  hosts.deny
4.3.4 增加热备盘
# 1.为RAID 5添加热备盘sdf
[root@centos7 ~ 11:39:31]# mdadm --add /dev/md5 /dev/sdf
mdadm: added /dev/sdf

# 2.查看热备盘状态
[root@centos7 ~ 11:39:48]# mdadm --detail /dev/md5 |tail -7
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde

       5       8       80        -      spare   /dev/sdf
4.3.5 模拟磁盘故障
# 标记sdb为故障盘
[root@centos7 ~ 11:39:51]# mdadm --fail /dev/md5 /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md5

# 查看故障后状态(sdf自动顶替并同步)
[root@centos7 ~ 11:40:15]# mdadm --detail /dev/md5 |tail -7
    Number   Major   Minor   RaidDevice State
       5       8       80        0      spare rebuilding   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde

       0       8       16        -      faulty   /dev/sdb
       
# 验证数据可正常访问
[root@centos7 ~ 11:40:35]# ls /raid/raid5/
host.conf  hostname  hosts  hosts.allow  hosts.deny
[root@centos7 ~ 11:40:49]# cat /raid/raid5/hostname 
centos7.jqz.cloud
4.3.6 删除故障磁盘
# 移除故障盘sdb
[root@centos7 ~ 11:41:00]# mdadm --remove /dev/md5 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md5

# 验证移除结果
[root@centos7 ~ 11:41:24]# mdadm --detail /dev/md5 |tail -5
    Number   Major   Minor   RaidDevice State
       5       8       80        0      spare rebuilding   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
4.3.7 扩容 RAID 5

注释:RAID 5仅支持扩容(增加成员盘),不支持减容;扩容仅在阵列“clean”正常状态下可执行,降级/重构时禁止。

# 新增2块盘(sdb、sdg)到RAID 5
[root@centos7 ~ 11:41:41]# mdadm --add /dev/md5 /dev/sdb /dev/sdg
mdadm: added /dev/sdb
mdadm: added /dev/sdg

# 查看新增盘状态(spare为备用)
[root@centos7 ~ 11:42:46]# mdadm --detail  /dev/md5 |tail -8
    Number   Major   Minor   RaidDevice State
       5       8       80        0      active sync   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde

       6       8       16        -      spare   /dev/sdb
       7       8       96        -      spare   /dev/sdg
# 扩展阵列成员数为5(--grow为扩容参数)
[root@centos7 ~ 11:43:05]# mdadm --grow /dev/md5 --raid-devices 5

# 等待阵列重构完成(查看进度)
[root@centos7 ~ 11:46:13]# mdadm --detail /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Thu Apr  9 11:35:53 2026
        Raid Level : raid5
        Array Size : 83816448 (79.93 GiB 85.83 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 5
     Total Devices : 6
       Persistence : Superblock is persistent

       Update Time : Thu Apr  9 11:45:54 2026
             State : clean 
    Active Devices : 5
   Working Devices : 6
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : centos7.jqz.cloud:5  (local to host centos7.jqz.cloud)
              UUID : 920ee884:95b2483a:0392e011:d569106e
            Events : 91

    Number   Major   Minor   RaidDevice State
       5       8       80        0      active sync   /dev/sdf
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
       7       8       96        4      active sync   /dev/sdg

       6       8       16        -      spare   /dev/sdb
       
# 验证RAID容量(从60G扩容至80G)
[root@centos7 ~ 11:46:28]# lsblk /dev/md5
NAME MAJ:MIN RM SIZE RO TYPE  MOUNTPOINT
md5    9:5    0  80G  0 raid5 /raid/raid5

# 扩展文件系统(XFS文件系统用xfs_growfs)
[root@centos7 ~ 11:44:08]# xfs_growfs /raid/raid5
meta-data=/dev/md5               isize=512    agcount=16, agsize=982144 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=15714304, imaxpct=25
         =                       sunit=128    swidth=384 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=7680, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 15714304 to 15715584

4.3.8 再次模拟磁盘故障
[root@centos7 ~ 13:35:42]# mdadm --remove /dev/md5 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md5
[root@centos7 ~ 13:44:21]# mdadm --fail /dev/md5 /dev/sdg

[root@centos7 ~ 13:47:58]# mdadm -D /dev/md5 |tail -5
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      active sync   /dev/sde
       -       0        0        4      removed

       7       8       96        -      faulty   /dev/sdg
       
[root@centos7 ~ 13:50:50]# ls /raid/raid5
host.conf  hostname  hosts  hosts.allow  hosts.deny
[root@centos7 ~ 13:51:03]# echo hello raid5 > /raid/raid5/test.txt
[root@centos7 ~ 13:52:33]# umount /raid/raid5
[root@centos7 ~ 13:52:51]# mount /dev/md5 /raid/raid5
[root@centos7 ~ 13:53:20]# ls /raid/raid5
host.conf  hostname  hosts  hosts.allow  hosts.deny  test.txt
4.3.9 删除 RAID 5
# 卸载挂载点
[root@centos7 ~ 13:53:31]# umount /dev/md5

# 停止RAID阵列
[root@centos7 ~ 13:53:44]# mdadm --stop /dev/md5 
mdadm: stopped /dev/md5

# 清除物理盘超级块
[root@centos7 ~ 13:53:54]# mdadm --zero-superblock /dev/sd{b..g}

也可以使用dd彻底擦除:
for device in /dev/sd{b..g}
do
  dd if=/dev/zero of=$device bs=1M count=1024
done

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐