有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > 容器服务 > 故障处理 > 为数据盘设置文件系统卷标
本文向您介绍如何为数据盘设置文件系统卷标。

使用背景

NVMe 数据盘的盘符由 NVMe 盘的驱动生成,如果驱动加载顺序不一致可能会导致盘符变化。因此,由于操作系统和物理机的限制,云服务器 CVM 部分普通机型(如黑石、高 IO 型、高性能 HCC 等)挂载多块 NVMe 数据盘时,重启系统后盘符可能会错乱。更多内容可参考 Linux 云服务器重启后云硬盘未自动挂载

现象描述

1. 操作路径

通过 添加已有节点 将上述机型作为 Worker 节点添加至 TKE 集群中。

2. 问题描述

上述机型通过指定盘符完成挂盘操作可能不符合预期,即 NVMe 盘无法挂到指定位置。 例如,当前待添加节点所在机型存在两块 NVMe 盘,即 NVMe.0 和 NVMe.1:
重启前,存在映射关系 /dev/sda → NVMe.0、/dev/sdb → NVMe.1
重启后,映射可能会错乱为 /dev/sda → NVMe.1、/dev/sdb → NVMe.0

处理步骤

为解决底层物理机对盘符飘移的兼容问题,TKE 支持通过“磁盘卷标 Label”的方式指定数据盘挂载,操作步骤如下:
1. 添加已有节点前,可以在机器上为数据盘添加 Label,该 Label 简称为卷标,执行命令如下:
ext 文件系统:e2label /dev/sdz label1
xfs 文件系统:xfs_admin -L label1 /dev/sdz
2. 容器服务控制台 添加已有节点页面可直接使用卷标 Label 来指定使用的数据盘,如下图所示:


说明
要确保数据盘对应的 Label 保持唯一性,否则会导致系统初始化失败。
由于卷标 Label 和文件系统具有绑定关系,因此被指定的数据盘不会格式化。
若高 IO 型、高性能 HCC 类机型需要对 NVMe 类型数据盘进行挂载,建议通过上述指定卷标 Lable 的方式单独添加进集群,不要和其他机型一起操作。

原理说明

在添加已有节点指定卷标 Label 挂盘时,安装组件会根据 Label 找到数据盘,并将数据盘挂载到挂载点上。同时将数据盘的 UUID 写入到 fstab。Label 和 UUID 都是记录在文件系统元信息上的标记,盘符的变化不会影响到 Label、UUID 和文件系统内容的对应关系。
说明
如果添加已有节点并指定挂载数据盘后,又来到节点上再次格式化磁盘,则需要同时更新 fstab,否则可能会导致系统重启失败。