Ceph RBD 部署与管理

RBD 介绍

RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中,通常的挂载方式有两种:

  • Kernel模块(KRBD)
  • 利用QEMU模拟器通过LIBRBD方式

块是一个有序字节,普通的一个块大小为512字节。基于块存储是最常见的方式,常见的硬盘、软盘和CD光驱等都是存储数据最简单快捷的设备。

在物理机上提供块设备时,使用的是Kernel的RBD模块,基于内核模块驱动时,可以使用Linux自带的页缓存(Page Caching)来提高性能。
当在虚拟机(比如QUEM/KVM)提供块设备时,通常是使用LIBVIRT调用librbd库的方式提供块设备。

部署RBD

在部署之前,需要检查内核版本,看是否支持RBD,建议升级到4.5以上版本内核

[[email protected] ~]# uname -r
4.4.174-1.el7.elrepo.x86_64
[[email protected] ~]# modprobe rbd

一. 初始化集群

  1. 在部署RBD之前,需要先部署一个Ceph 集群,集群状态如下:
[[email protected] ~]# ceph -s
  cluster:
    id:     7bd25f8d-b76f-4ff9-89ec-186287bbeaa5
    health: HEALTH_OK

  services:
    mon: 2 daemons, quorum local-node-2,local-node-3
    mgr: ceph-mgr(active)
    osd: 9 osds: 9 up, 9 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   9.2 GiB used, 81 GiB / 90 GiB avail
    pgs:  

[[email protected] ~]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF
-1       0.08817 root default
-3       0.02939     host local-node-1
 0   hdd 0.00980         osd.0             up  1.00000 1.00000
 1   hdd 0.00980         osd.1             up  1.00000 1.00000
 2   hdd 0.00980         osd.2             up  1.00000 1.00000
-5       0.02939     host local-node-2
 3   hdd 0.00980         osd.3             up  1.00000 1.00000
 4   hdd 0.00980         osd.4             up  1.00000 1.00000
 5   hdd 0.00980         osd.5             up  1.00000 1.00000
-7       0.02939     host local-node-3
 6   hdd 0.00980         osd.6             up  1.00000 1.00000
 7   hdd 0.00980         osd.7             up  1.00000 1.00000
 8   hdd 0.00980         osd.8             up  1.00000 1.00000 
  1. 初始pool
ceph osd pool create ceph_rbd 128
rbd pool init ceph_rbd
  1. 创建一个块存储的用户:
ceph auth get-or-create client.{ID} mon ‘profile rbd‘ osd ‘profile {profile name} [pool={pool-name}][, profile ...]‘

EG:
# ceph auth get-or-create client.docker mon ‘profile rbd‘ osd ‘profile rbd pool=ceph_rbd, profile rbd-read-only pool=images‘
[client.docker]
    key = AQDQkK1cpNAKJRAAnaw2ZYeFHsXrsTWX3QonkQ==
  1. 添加此用户文件到配置目录
[[email protected] ~]# cat /etc/ceph/ceph.client.docker.keyring
[client.docker]
    key = AQDQkK1cpNAKJRAAnaw2ZYeFHsXrsTWX3QonkQ==

二. 创建块设备镜像

  1. 创建一个指定大小的块设备镜像,这里的size单位为M。 ==在下面的所有命令中,如果不指定pool默认操作名为rbd的pool==
rbd create --size {megabytes} {pool-name}/{image-name}
eg:
[[email protected] ~]# rbd create --size 1024 ceph_rbd/docker_image
  1. 查看创建的镜像
[[email protected] ~]# rbd ls ceph_rbd
docker_image
  1. 列出rbd池中将要延迟删除块设备
[[email protected] ~]# rbd trash ls ceph_rbd
  1. 检索镜像的信息:
[[email protected] ~]# rbd info ceph_rbd/docker_image
rbd image ‘docker_image‘:
    size 1 GiB in 256 objects
    order 22 (4 MiB objects)
    id: 1bedc6b8b4567
    block_name_prefix: rbd_data.1bedc6b8b4567
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    op_features:
    flags:
    create_timestamp: Wed Apr 10 14:52:48 2019
  1. 如果有需要,可以给镜像扩容或者缩容
# 扩容
[[email protected] ~]# rbd resize --size 2048 ceph_rbd/docker_image
Resizing image: 100% complete...done.

# 缩容
[[email protected] ~]# rbd resize --size 1024 ceph_rbd/docker_image --allow-shrink
Resizing image: 100% complete...done.

Ceph的块镜像设备是精简配置,在创建他们并指定大小时并不会使用物理存储空间,直到存储数据。但是它们可以通过--size指定最大容量的限制。

  1. 删除块设备镜像
 rbd rm ceph_rbd/docker_image
  1. 可以将暂时不用的镜像移入trash
# rbd trash mv ceph_rbd/docker_image

# rbd trash ls ceph_rbd
1beb76b8b4567 docker_image
  1. 如果要恢复trash中的镜像可以执行如下命令:
rbd trash restore ceph_rbd/1beb76b8b4567

# 此时trash中将不会有数据,原来的镜像已经恢复
# rbd ls ceph_rbd
docker_image
  1. 如果要在恢复的时候重命名镜像,执行如下命令:
rbd trash restore ceph_rbd/1beb76b8b4567 --image docker # 将镜像重命名为docker
  1. 删除trash中的镜像,需要使用镜像的ID
rbd trash rm ceph_rbd/1beb76b8b4567

提示:

  • 即使这个镜像存在快照,或者它自身某一个克隆正在被使用,都可以将镜像移入trash,但是不能从trash中删除。
  • 如果想要删除,可以使用-expires-at设置延迟时间(默认为now),如果延迟时间尚未到期,则除非使用-force,否则无法删除

三. 使用内核模块映射RBD

  1. 检查集群版本和可调参数版本:
# 在内核版本为4.5以下的,建议使用hammer,否则会出现无法映射rbd的情况

[[email protected] ~]# ceph osd crush show-tunables
{
    "choose_local_tries": 0,
    "choose_local_fallback_tries": 0,
    "choose_total_tries": 50,
    "chooseleaf_descend_once": 1,
    "chooseleaf_vary_r": 1,
    "chooseleaf_stable": 0,
    "straw_calc_version": 1,
    "allowed_bucket_algs": 54,
    "profile": "hammer",
    "optimal_tunables": 0,
    "legacy_tunables": 0,
    "minimum_required_version": "hammer",
    "require_feature_tunables": 1,
    "require_feature_tunables2": 1,
    "has_v2_rules": 0,
    "require_feature_tunables3": 1,
    "has_v3_rules": 0,
    "has_v4_buckets": 1,
    "require_feature_tunables5": 0,
    "has_v5_rules": 0
}

# 设置版本
[[email protected] ~]#  ceph osd crush tunables hammer
  1. 查看当前存在的镜像
[[email protected] ~]# rbd list ceph_rbd
docker_image

3.在客户端映射块设备(需要安装ceph)

[[email protected] ~]#  rbd device map ceph_rbd/docker_image --id admin
/dev/rbd0

==提示:==
如果在执行映射步骤时出现以下报错,说明当前内核rbd的一些特性并不支持,需要禁用某些特性:

#  rbd device map ceph_rbd/docker_image --id admin
rbd: sysfs write failed
RBD image feature set mismatch. Try disabling features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog - try "dmesg | tail".
rbd: map failed: (6) No such device or address

禁用特性:

# rbd feature disable ceph_rbd/docker_image exclusive-lock, object-map, fast-diff, deep-flatten
  1. 如果设置了密钥认证策略,在映射的时候需要指定密钥,可以是指定keyring文件,也可以是单独保存密钥的文件:
sudo rbd device map rbd/myimage --id admin --keyring /path/to/keyring
sudo rbd device map rbd/myimage --id admin --keyfile /path/to/file

eg:
#rbd device map ceph_rbd/docker_image --id docker --keyring /etc/ceph/ceph.client.docker.keyring
/dev/rbd0
  1. 查看映射的块存储
[[email protected] ~]# rbd device list
id pool     image        snap device
0  ceph_rbd docker_image -    /dev/rbd0 

[[email protected] ~]# lsblk  | grep rbd
rbd0                            252:0    0    1G  0 disk 
  1. 使用rbd块存储
[[email protected] ~]# mkfs.xfs  /dev/rbd
[[email protected] ~]# mount /dev/rbd0 /mnt

7 . 如果要卸载设备使用如下命令:

[[email protected] ~]# umount  /mnt/

[[email protected] ~]# rbd device unmap /dev/rbd0

RBD的特性

当挂载的rbd 被卸载掉之后,块设备中的数据一般情况下不会丢失(强制重启后可能会损坏数据从而不可用),可以重新挂载到另一个主机上。

RBD支持复制,快照和在线扩容等功能。

RBD 快照

快照是映像在某个特定时间点的一份==只读副本==。 Ceph 块设备的一个高级特性就是你可以为映像创建快照来保留其历史。 Ceph 还支持分层快照,让你快速、简便地克隆映像(如 VM 映像)。 Ceph 的快照功能支持 rbd 命令和多种高级接口,包括 QEMU 、 libvirt 、 OpenStack 和 CloudStack 。

如果在做快照时映像仍在进行 I/O 操作,快照可能就获取不到该映像准确的或最新的数据,并且该快照可能不得不被克隆到一个新的可挂载的映像中。所以,我们建议在做快照前先停止 I/O 操作。如果映像内包含文件系统,在做快照前请确保文件系统处于一致的状态或者使用fsck命令先检查挂载的块设备。要停止 I/O 操作可以使用 fsfreeze 命令。 对于虚拟机,qemu-guest-agent 被用来在做快照时自动冻结文件系统。

  1. 检查文件系统,在创建快照前冻结IO操作(fsfreeze的更多操作参考: https://blog.pythian.com/fsfreeze-in-linux/),==执行此命令之后所有对此目录文件的操作都会hang住==
fsfreeze -f /mnt
  1. 创建快照:
rbd snap create rbd/[email protected]

EG:
rbd snap create rbd/[email protected]
  1. 快照创建成功后解除IO冻结
 fsfreeze -u /mnt/
  1. 查看快照
[[email protected] ~]# rbd snap ls rbd/test
SNAPID NAME         SIZE TIMESTAMP
     4 test-snap   1 GiB Tue Apr 16 14:49:27 2019
     5 test-snap-2 1 GiB Tue Apr 16 15:56:18 2019
  1. 回滚,回滚后的镜像会保留之前的快照数据,但是它是只读的,不能对其进行写入和删除操作。
 rbd snap rollback rbd/[email protected]
  1. 对于挂载的磁盘,需要卸载后重新挂载,如果挂载出现如下错误:
# mount /dev/rbd0 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/rbd0,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

# 当使用xfs_repair修复时出现如下报错:
xfs_repair  /dev/rbd0
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_repair.  If you are unable to mount the filesystem, then use
the -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.

# 使用-L 参数修复:
xfs_repair -L /dev/rbd0
  1. 挂载后的文件,系统依然是只读的。
mount /dev/rbd0 /mnt/
  1. 如果要删除快照,执行如下命令:
 rbd snap rm rbd/[email protected]

 # 如果要删除一个映像的所有快照,执行:
 rbd snap purge rbd/foo

RBD 复制

Ceph 可以从快照中克隆写时复制副本,由于快照是只读的,当需要对文件进行修改时,我们可以使用快照创建一个写时复制的副本。(Openstack中,使用这种机制创建新的虚拟机,通常使用快照保存镜像,复制这个快照创建新的虚拟机)

Ceph 仅支持克隆 format 2 的映像(即用 rbd create --image-format 2 创建的,这个在新版中是默认的)。内核客户端从 3.10 版开始支持克隆的映像

具体的流程如下:

创建块设备映像-->创建快照-->保护快照-->克隆快照
  1. 保护快照。克隆映像要访问父快照。如果用户不小心删除了父快照,所有克隆映像都会损坏。为防止数据丢失,在克隆前必须先保护快照:
# 创建快照
rbd snap create rbd/[email protected]

#列出快照
# rbd snap list rbd/test
SNAPID NAME       SIZE TIMESTAMP
    10 test-snap 1 GiB Tue Apr 16 17:46:48 2019

# 保护快照,这样就无法被删除了
rbd snap protect rbd/[email protected]
  1. 克隆快照,需要指定父存储池,父映像名和快照,子存储池和子镜像名,可以指定不同的存储池:
rbd clone {pool-name}/{parent-image}@{snap-name} {pool-name}/{child-image-name}

EG:
rbd clone rbd/[email protected] rbd/test-new

查看新创建的镜像:

# rbd  ls
test
test-new
  1. 取消快照保护
rbd snap unprotect rbd/[email protected]
  1. 查看快照的生成的子镜像
# rbd children rbd/[email protected]
rbd/test-new

[[email protected] ~]# rbd --pool rbd --image test-new info
rbd image ‘test-new‘:
    size 1 GiB in 256 objects
    order 22 (4 MiB objects)
    id: ba9096b8b4567
    block_name_prefix: rbd_data.ba9096b8b4567
    format: 2
    features: layering
    op_features:
    flags:
    create_timestamp: Tue Apr 16 17:53:51 2019
    parent: rbd/[email protected]              # 此处显示了父快照等关联信息
    overlap: 1 GiB
  1. 扁平化镜像,使它和父镜像脱离依赖关联,防止父镜像改动后对新镜像产生影响:
rbd flatten rbd/test-new
  1. 此时,新生成的镜像就可以任意读写了。

RBD在线扩容

  1. 对已经挂载的rbd进行扩容:
# rbd resize ceph_rbd/docker_image --size  4096
Resizing image: 100% complete...done.
  1. 查看扩容后的状态:
# rbd info ceph_rbd/docker_image
rbd image ‘docker_image‘:
    size 4 GiB in 1024 objects
    order 22 (4 MiB objects)
    id: 1bef96b8b4567
    block_name_prefix: rbd_data.1bef96b8b4567
    format: 2
    features: layering
    op_features:
    flags:
    create_timestamp: Wed Apr 10 15:50:21 2019
  1. 检查客户机上的容量是否被内核所接受:
# xfs_growfs -d /mnt
meta-data=/dev/rbd0              isize=512    agcount=9, agsize=31744 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=1024   swidth=1024 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 262144 to 1048576

# lsblk  | grep mnt
rbd0                                                                                                  252:0    0    4G  0 disk /mnt
  1. 直接上传超过1G的文件,发现xfs文件系统已经自动扩容了:
# df -h | grep mnt
/dev/rbd0       4.0G  3.1G  998M  76% /mnt

RBD 在线缩容 (作死操作,仅用于测试)

  1. 在执行缩容操作时,确认有足够的空余空间,否则可能会丢失数据:
# rbd resize --size 2048 ceph_rbd/docker_image --allow-shrink
Resizing image: 100% complete...done.
  1. 查看缩容后的挂载盘:
# lsblk |grep mnt
rbd0                 252:0    0    2G  0 disk /mnt

# xfs_growfs -d /mnt/
meta-data=/dev/rbd0              isize=512    agcount=34, agsize=31744 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1048576, imaxpct=25
         =                       sunit=1024   swidth=1024 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data size 524288 too small, old size is 1048576
  1. 不建议这样操作。

RBD 卸载

==如果要卸载RBD,存放的数据会丢失。==

  1. 卸载磁盘,取消映射
[[email protected] mnt]# df -h | grep mnt
...
/dev/rbd0       2.0G   33M  2.0G   2% /mnt

[[email protected] ~]# rbd device list
id pool     image        snap device
0  ceph_rbd docker_image -    /dev/rbd0 

[[email protected] ~]# rbd device unmap /dev/rbd0
  1. 删除rbd镜像
[[email protected] ~]# rbd ls ceph_rbd
docker_image

[[email protected] ~]# rbd info ceph_rbd/docker_image
rbd image ‘docker_image‘:
    size 2 GiB in 512 objects
    order 22 (4 MiB objects)
    id: 1bef96b8b4567
    block_name_prefix: rbd_data.1bef96b8b4567
    format: 2
    features: layering
    op_features:
    flags:
    create_timestamp: Wed Apr 10 15:50:21 2019

[[email protected] ~]# rbd trash ls ceph_rbd

# 将rbd移除到trash,也可以直接删除
[[email protected] ~]#  rbd trash mv ceph_rbd/docker_image

[[email protected] ~]# rbd trash ls ceph_rbd
1bef96b8b4567 docker_image

# 从trash 中删除镜像
[[email protected] ~]# rbd trash rm ceph_rbd/1bef96b8b4567
Removing image: 100% complete...done.

[[email protected] ~]# rbd trash ls ceph_rbd

[[email protected] ~]# rbd ls ceph_rbd
  1. 删除池
[[email protected] ~]# ceph osd lspools
7 ceph_rbd

[[email protected] ~]# ceph osd pool rm ceph_rbd ceph_rbd --yes-i-really-really-mean-it
pool ‘ceph_rbd‘ removed
  1. 查看集群状态:
[[email protected] ~]# ceph -s
  cluster:
    id:     7bd25f8d-b76f-4ff9-89ec-186287bbeaa5
    health: HEALTH_OK

  services:
    mon: 3 daemons, quorum local-node-1,local-node-2,local-node-3
    mgr: ceph-mgr(active)
    osd: 9 osds: 9 up, 9 in

  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   9.3 GiB used, 81 GiB / 90 GiB avail
    pgs:  

[[email protected] ~]# ceph osd tree
ID CLASS WEIGHT  TYPE NAME             STATUS REWEIGHT PRI-AFF
-1       0.08817 root default
-3       0.02939     host local-node-1
 0   hdd 0.00980         osd.0             up  1.00000 1.00000
 1   hdd 0.00980         osd.1             up  1.00000 1.00000
 2   hdd 0.00980         osd.2             up  1.00000 1.00000
-5       0.02939     host local-node-2
 3   hdd 0.00980         osd.3             up  1.00000 1.00000
 4   hdd 0.00980         osd.4             up  1.00000 1.00000
 5   hdd 0.00980         osd.5             up  1.00000 1.00000
-7       0.02939     host local-node-3
 6   hdd 0.00980         osd.6             up  1.00000 1.00000
 7   hdd 0.00980         osd.7             up  1.00000 1.00000
 8   hdd 0.00980         osd.8             up  1.00000 1.00000

原文地址:https://blog.51cto.com/tryingstuff/2379837

时间: 2024-11-13 05:04:58

Ceph RBD 部署与管理的相关文章

helm3.1安装及结合ceph rbd 部署harbor

[[email protected] ~]# ceph -s cluster: id: 11880418-1a9a-4b55-a353-4b141e2199d8 health: HEALTH_WARN Long heartbeat ping times on back interface seen, longest is 3884.944 msec Long heartbeat ping times on front interface seen, longest is 3888.368 mse

ceph分布式存储实战(5)——ceph存储配置(RBD镜像日常管理)

一.在线调整Ceph RBD的容量大小 1.支持调整ceph RBD的容量大小的底层文件系统     自由的增加或者减少RBD的容量,需要底层文件系统的支持,支持的文件系统有     1.XFS     2.EXT     3.Btrfs     4.ZFS 2.将RBD镜像ceph-client1-rbd1原始容量是10G扩容为20G,(在ceph集群中任意一台节点上)执行的命令如下:     rbd resize rbd/ceph-client1-rbd1 --size 20480     

CEPH快速部署(Centos7+Jewel)

ceph介绍 Ceph是统一存储系统,支持三种接口. Object:有原生的API,而且也兼容Swift和S3的API Block:支持精简配置.快照.克隆 File:Posix接口,支持快照 Ceph也是分布式存储系统,它的特点是: 高扩展性:使用普通x86服务器,支持10~1000台服务器,支持TB到PB级的扩展. 高可靠性:没有单点故障,多数据副本,自动管理,自动修复. 高性能:数据分布均衡,并行化度高.对于objects storage和block storage,不需要元数据服务器.

007 Ceph手动部署单节点

前面已经介绍了Ceph的自动部署,本次介绍一下关于手动部署Ceph节点操作 一.环境准备 一台虚拟机部署单节点Ceph集群 IP:172.25.250.14 内核: Red Hat Enterprise Linux Server release 7.4 (Maipo) 磁盘:/dev/vab,/dev/vac,/dev/vad 二.部署mon 2.1 安装Ceph软件包 [root@cepe5 ~]#  yum install -y ceph-common ceph-mon ceph-mgr c

Rancher(2),K8S持久性存储Ceph RBD搭建及配置

1.配置host,安装ntp(非必须)2.配置免密ssh3.配置ceph,yum源 vim /etc/yum.repo.d/ceph.cepo [ceph] name=ceph baseurl=http://mirrors.cloud.tencent.com/ceph/rpm-luminous/el7/x86_64/ gpgcheck=0 priority=1 [ceph-noarch] name=cephnoarch baseurl=http://mirrors.cloud.tencent.c

CentOS7 Ceph RBD CephFS 存储

Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manager 10.6.0.187 = ceph-mon-1 10.6.0.188 = ceph-osd-1 10.6.0.94 = node-94 注: ceph 对时间要求很严格, 一定要同步所有的服务器时间 一.在 manager 上面修改 /etc/hosts : 10.6.0.187 ceph-m

理解 OpenStack + Ceph (3):Ceph RBD 接口和工具 [Ceph RBD API and Tools]

本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 与 OpenStack 集成的实现 (4)TBD Ceph 作为一个统一的分布式存储,其一大特色是提供了丰富的编程接口.我们来看看下面这张经典的图: 其中,librados 是 Ceph 的基础接口,其它的接口比如 RADOSGW, RBD 和 CephFS 都是基于 librados 实现的.本文试着分析下 Ceph 的各种接口库和常用的工具.

Ceph RBD CephFS 存储

Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manager 10.6.0.187 = ceph-mon-1 10.6.0.188 = ceph-osd-1 10.6.0.94 = node-94 注: ceph 对时间要求很严格, 一定要同步所有的服务器时间 一.在 manager 上面修改 /etc/hosts : 10.6.0.187 ceph-m

ceph 快速部署

ceph 统一存储现在火的不得了了,大家都在调研它,最近大脑发热,也尝试体验一把.下面简单记录下ceph ceph-deploy 部署步骤. 一.规划 1. 虚拟机5台,其功能如下: 名称 pulic network cluster network  功能 admin-node 192.168.0.254/24 10.0.1.2/24 管理机器 mon01 192.168.0.2/24 10.0.1.3/24 集群状态监控机器 osd01 192.168.0.3/24 10.0.1.3/24 集