操作步骤
2.9 替换节点 Docker DeviceMapper 的模式
当前CCE私有集群使用Device Mapper作为Docker的存储驱动。
Device Mapper是基于内核的框架,支持Linux上的许多高级卷管理技术。
Docker的devicemapper存储驱动程序利用此框架的精简配置和快照功能进行Docker镜 像和容器的管理。
CCE中v1.7.3-r6(包含)之前版本的集群Docker DeviceMapper默认配置模式为loop-lvm。Docker默认会在“/var/lib/docker/devicemapper/devicemapper”目录下生成 data和metadata两个文件,并将两个文件挂为loop设备且作为块设备来使用,在挂载 多个容器后性能会急剧下降。
loop-lvm模式主要是用来让Docker能够被简单快速的使用(out-of-the-box),而无需额 外的配置,不建议在生产环境中使用。Docker DeviceMapper提供direct-lvm模式,直 接使用raw分区(no filesystem),在中等负载和高密度环境下会有更好的性能优势。
为了保障系统稳定性,您需要将Docker Devicemapper的模式修改为使用direct-lvm模 式。
当前CCE支持替换EulerOS、CentOS和SUSE系统的虚拟机节点的DeviceMapper模式。
须知
● 替换节点Docker Devicemapper的模式需要一块数据盘,因此在执行替换操作过程 中系统会自动创建并为节点绑定一块规格为100G的SAS盘,该数据盘需要收取额外 费用,费用计算方式请参见云硬盘价格说明。
● 将节点的Docker Devicemapper模式替换为direct-lvm后会删除节点上的容器和镜 像数据,因此需要提前将待替换模式的节点的容器和镜像数据备份到私有镜像仓库 或“开源镜像中心”仓库等。
操作步骤
步骤1 判断节点上的Docker Devicemapper的模式是否为direct-lvm:
方法一:
1. 登录到待查看Docker Devicemapper模式的节点。
2. 输入下方的命令查看“Storage Driver”下的配置信息。
docker info
– 如果“Storage Driver”下的“Data file”参数和“Metadata file”参数的值 为“/dev/loopx”,则当前节点的Docker Devicemapper为loop-lvm模式,
请根据步骤2修改模式。
示例如下:
– 如果“Storage Driver”下的“Data file”参数和“Metadata file”参数的值 为空,且“Pool Name”为“vgpaas-thinpool”,则当前节点的Docker Devicemapper为direct-lvm模式,无需修改配置。
示例如下:
方法二:
1. 登录到待查看Docker Devicemapper模式的节点。
2. 输入下方的命令查看回显信息中是否包含如下内容:
cat /etc/docker/daemon.json
"dm.thinpooldev=/dev/mapper/vgpaas-thinpool"
– 包含,说明当前节点的Docker Devicemapper模式为direct-lvm,无需替换模 式。
– 不包含或提示没有“daemon.json”文件等信息,说明当前节点的Docker Devicemapper模式不是direct-lvm,请根据步骤2修改模式。
步骤2 (可选)若集群中待修改Docker Devicemapper模式的节点未绑定弹性IP,请先绑定 弹性IP。
步骤3 以root用户登录已绑定弹性IP的节点。
步骤4 创建配置文件。
touch config.yaml
步骤5 将如下内容拷贝到配置文件中。
apiGatewayIp:
iamHostname:
ecsHostname:
evsHostname:
swrAddr:
defaultPassword:
defaultPrivateKey:
hosts:
- host: <node_ip_01>
user: root password:
privateKey:
serverId:
- host: <node_ip_02>
user: root
domainName 配置为华为云租户名。
-username 配置为华为云用户名。
-password 配置为华为云用户密码,加
双引号。
-projectName 配置为待配置的节点所在的
华为云项目名称。 cn-north-4 apiGatewayIp apiGatewayIp地址。
-iamHostname IAM服务终端节点
(Endpoints)。
通过区域和终端节点查询。
iam.cn-north-4.myhuaweiclou d.com
ecsHostname ECS服务终端节点
(Endpoints)。
通过区域和终端节点查询。
ecs.cn-north-4.myhuaweiclou d.com
evsHostname EVS服务终端节点
(Endpoints)。
-defaultPassword 可选配置项,节点默认登录
密码,需加双引号。
-参数 参数取值说明 示例 defaultPrivateKey 可选配置项,节点默认登录
密钥文件的绝对路径,需加 双引号。
-hosts host数组结构[1],可以同时 配置多个待修改
host 待修改Devicemapper模式 的节点IP,该节点必须与 当前登录的节点在同一子 网下。
-user 配置为root。
-password 待修改Devicemapper模式 的节点root用户密码,需 加双引号。
说明password与privateKey二选 一配置即可。
-privateKey 待修改Devicemapper模式 的节点root用户密钥文件 的绝对路径,需加双引 号。
说明password与privateKey二选 一配置即可。
-serverId 配置为待修改
Devicemapper模式的节点
curl -k https://<swr-address>:20202/swr/v2/domains/op_svc_servicestage/
namespaces/op_svc_servicestage/repositories/default/packages/cluster-versions/versions/base/file_paths/cceadm -1 -O;chmod u+x cceadm; ./cceadm batch-config-docker --conf=./config.yaml
其中,将<swr-address>替换为软件仓库地址,与表2-11中的“swrAddr”参数值一 致。
----结束