本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
SDC容器设计用于在受支持的操作系统节点上运行,这些节点由OpenShift或Kubernetes管理。容器内置SDC软件包和工具,用于在受支持节点上部署和管理SDC服务。
支持的主机发行版:RedHat Enterprise Linux CoreOS (RHCOS)、RedHat Enterprise Linux 7.9、RedHat Enterprise Linux 8.4、RedHat Enterprise Linux 8.6
支持的SDC版本:v3.5.1及以上
支持的OpenShift版本:v4.3及以上(K8s版本1.16及以上,RHCOS版本4.3及以上)
SDC容器也可在独立的受支持操作系统节点上通过podman(受支持节点中可用的类docker工具)执行。在此情况下,需直接管理容器,而在OpenShift/K8s环境中则通过守护进程集(DeamonSets)管理。
SDC容器有三种运行模式:配置模式、监控模式和命令模式。配置模式与监控模式通过MODE环境变量确定,命令模式则在向容器传递命令时触发。
在配置模式下,容器将执行配置命令并退出,状态码0表示成功,非0表示错误。支持的配置操作:
运行过程中,容器按顺序执行操作:检测主机平台、检测主机上的SDC服务状态、解析环境变量,然后确定要执行的操作。
在监控模式下,容器作为"活动"容器运行,执行被动监控任务,如日志(dmesg)和指标(网络、CPU、RAM指标)收集。指标收集通过diag_coll服务工作进程完成,与常规设置类似。日志和指标输出存储在/storage映射中。
当主机发行版不受支持时,监控模式下的容器将运行但不执行任何操作。
执行命令时,SDC容器不执行任何配置或监控步骤,仅执行提供的命令。此模式适用于使用SDC支持工具(如get_info脚本、sdbg、drv_cfg)执行操作的场景。
docker run -e <环境变量> \ --privileged \ --network=host \ --pid=host \ --rm \ -it \ -v <映射> \ $(REGISTRY)$(IMAGE):$(IMAGE_TAG) \ <命令>
-e:设置环境变量。可设置多个变量,每个变量前需加-e。详见环境变量部分。--privileged:容器以特权模式运行,以便能够加载和卸载SDC内核模块。--network=host:容器可访问主机网络,主要与监控模式下的指标收集相关。--pid=host:容器可访问主机进程,主要与监控模式下的指标收集相关。--rm:容器完成请求的操作后,实例终止并返回退出码。-it:必须指定以运行交互式进程(如shell),详见docker 文档。-v:主机目录与容器的映射。可添加多个映射,每个映射前需加-v。详见映射部分。REGISTRY:SDC容器仓库。IMAGE:SDC容器名称。IMAGE_TAG:SDC容器标签。<命令>:在SDC容器内执行的命令。提供命令时,容器以"命令模式"运行。注意:每个环境变量必须为大写
注意:具有默认值的变量为可选
环境变量
MDM
描述
用于提供MDM集群配置。需要至少包含一个可访问IP且具有活动MDM服务的单个MDM集群。不需要MDM密码,但设置后,SDC容器将在SDC级别启用SDC认证(例如执行set_mdm_password命令)。
格式
<IPs字符串> PASSWORD:<密码字符串> <IPs字符串>:MDM集群IP,多个IP用逗号分隔 <password字符串>:MDM集群密码 多个集群用"&"分隔 示例: 单个MDM集群,无密码: 127.0.0.1,127.0.0.2,127.0.0.3 单个MDM集群,带密码: 127.0.0.1,127.0.0.1,127.0.0.1 PASSWORD:AQAAAAAAAAAG+zslCAmjN/FiUBZmy3Iq7dAYNNAK1AY 多个MDM集群,第一个集群3个IP无密码,第二个集群1个IP带密码: 127.0.0.1,127.0.0.2,127.0.0.3&127.0.0.1 PASSWORD:AQAAAAAAAAAG+zslCAmjN/FiUBZmy3Iq7dAYNNAK1AY
默认值
无
环境变量
REPO_ADDRESS
描述
Scini内核模块FTP端点字符串。使用安全FTP(SFTP)连接时,SDC容器需要额外的变量和映射。详见MODULE_SIGCHECK、AUTO_FETCH_PUBLIC_KEYS变量和映射部分的/config映射。
格式
<端点字符串>
默认值
[***]
环境变量
REPO_USER
描述
Scini内核模块FTP端点的用户名凭证字符串。
格式
<用户名字符串>
默认值
QNzgdxXix
环境变量
REPO_PASSWORD
描述
Scini内核模块FTP端点的密码凭证字符串。
格式
<密码字符串>
默认值
Aw3wFAwAq3
环境变量
MODULE_SIGCHECK
描述
是否检查获取的模块签名。
格式
<布尔值>
默认值
1
环境变量
AUTO_FETCH_PUBLIC_KEYS
描述
是否自动获取新公钥。
格式
<布尔值>
默认值
0
环境变量
SYNC_PATTERN
描述
批量检索的同步模式(正则表达式)。
格式
<模式字符串>
默认值
.*
环境变量
INI_GUID
描述
设置时,SDC容器将为SDC(INI)服务设置提供的GUID。提供的值必须是有效的GUID。
格式
<GUID字符串>
默认值
""
环境变量
NODENAME
描述
主机名。用于跨重启持久生成SDC(INI)GUID。如果提供了INI_GUID,此参数将被忽略。
格式
<字符串>
默认值
""
环境变量
UNINSTALL
描述
布尔变量,设置后,SDC容器忽略所有其他SDC服务配置变量,从主机删除所有SDC相关文件。卸载需额外提供NODENAME或INI_GUID标志。
格式
<布尔值>
默认值
0
环境变量
HOST_DRV_CFG_PATH
描述
主机上drv_cfg工具的路径。必须与/host-drv-cfg-path映射同步。
格式
<字符串>
默认值
/var/emc/scaleio
环境变量
MODE
描述
SDC容器的执行模式。
格式
<模式字符串> 支持的模式:'config'(配置)、'monitoring'(监控)
默认值
config
环境变量
HOST_NET
描述
SDC容器是否可访问主机网络,容器运行命令中需提供--network=host参数。
格式
<布尔值>
默认值
0
环境变量
HOST_PID
描述
SDC容器是否可访问主机进程,容器运行命令中需提供--pid=host参数。
格式
<布尔值>
默认值
0
/rules.d:udev规则映射,可设置为主机的/etc/udev/rules.d目录。/dev:直接映射(1:1),使容器能够在主机上创建scini设备。/config/*:可选,将SDC服务所需的所有配置文件映射到此路径。例如SFTP(安全FTP)连接所需的密钥。| 映射文件 | 描述 |
|---|---|
| /config/user_private_rsa_key | 用户的RSA私钥文件 |
| /config/user_public_rsa_key | 仓库主机公钥 |
| /config/emc_public_gpg_key | EMC公钥签名密钥,当MODULE_SIGCHECK为1时需要 |
/storage:容器的持久存储目录,用于驱动缓存、SDC服务配置文件、SDC日志等。/host-os-release:容器用于确定主机OS发行版的文件,可设置为主机的/etc/os-release文件。/host-drv-cfg-path:主机上放置udev规则所需的drv_cfg工具的目录,可设置为/var/emc/scaleio。需与HOST_DRV_CFG_PATH同步。配置模式运行命令示例
docker run -e MDM="127.0.0.1" \ --privileged \ --rm \ -it \ -v /dev:/dev \ -v /etc/os-release:/host-os-release \ -v /var/emc/sdc-storage:/storage \ powerflex/sdc:3.6.112
监控模式运行命令示例
docker run -e MDM="127.0.0.1" \ -e MODE="monitoring" \ -e HOST_PID=1 \ -e HOST_NET=1 \ --privileged \ --network=host \ --pid=host \ --rm \ -d \ --name sdc \ -v /dev:/dev \ -v /etc/os-release:/host-os-release \ -v /var/emc/sdc-storage:/storage \ powerflex/sdc:3.6.112
注意:要在前台运行SDC容器,将-d替换为-it。
命令模式运行示例(使用drv_cfg工具查询SDC版本)
docker run --privileged \ --rm \ -it \ -v /dev:/dev \ -v /etc/os-release:/host-os-release \ -v /var/emc/sdc-storage:/storage \ powerflex/sdc:3.6.112 \ drv_cfg --query_version
配置操作中,容器会在主机上加载和卸载SDC scini内核模块。因此,运行命令中需提供--privileged参数。
配置操作中,容器会在主机文件系统上部署scini udev规则和drv_cfg工具。这是为了允许节点原生运行drv_cfg工具和执行udev规则。
注意:此情况特殊,通常需在SDC容器上下文中通过命令模式运行drv_cfg工具。
监控模式下,SDC容器会收集主机日志和指标(RAM、CPU、网络)。为收集这些指标,容器依赖主机的网络和PID映射,运行命令中需包含--network=host --pid=host标志,且需根据映射设置HOST_PID和HOST_NET环境变量。
要获取调试文件,需运行SDC容器中打包的get_info.sh脚本。此脚本会创建包含所有相关数据的getInfoDump.tgz文件。
从监控模式下的活动SDC容器获取getInfoDump.tgz文件到本地的示例
docker exec sdc bash -c "get_info.sh <<< echo user &> /dev/null; cat /tmp/scaleio-getinfo/getInfoDump.tgz" > getInfoDump.tgz
SDC容器内置所有标准SDC调试工具(如sdbg、drv_cfg等),可在容器上下文中按常规方式使用。
运行带bash命令的容器以实时交互使用SDC工具的示例
docker run --rm -it --privileged <容器仓库URL> bash
注意:对于监控模式下的活动SDC容器,应使用docker exec命令连接容器。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429