This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.2.13.3.2. 磁盘分区
磁盘分区是在 Red Hat Enterprise Linux CoreOS(RHCOS)安装过程中在 OpenShift Container Platform 集群节点上创建的。特定架构的每个 RHCOS 节点都使用相同的分区布局,除非默认分区配置被覆盖。在 RHCOS 安装过程中,根文件系统的大小会增大,以使用目标设备中剩余的可用空间。
但是,在安装 OpenShift Container Platform 节点时,在两种情况下您可能需要覆盖默认分区:
创建单独的分区:对于在空磁盘中的 greenfield 安装,您可能想要在分区中添加单独的存储。这只在生成
/var
或者一个/var
独立分区的子目录(如/var/lib/etcd
)时被正式支持,但不支持两者。重要Kubernetes 只支持两个文件系统分区。如果您在原始配置中添加多个分区,Kubernetes 无法监控所有这些分区。
-
保留现有分区:对于 brownfield 安装,您要在现有节点上重新安装 OpenShift Container Platform,并希望保留从之前的操作系统中安装的数据分区,对于
coreos-installer
来说,引导选项和选项都允许您保留现有数据分区。
5.2.13.3.2.1. 创建一个独立的 /var 分区 复制链接链接已复制到粘贴板!
通常情况下,OpenShift Container Platform 的磁盘分区应该留给安装程序。然而,在有些情况下您可能需要在文件系统的一部分中创建独立分区。
OpenShift Container Platform 支持添加单个分区来将存储附加到 /var
分区或 /var
的子目录。例如:
-
/var/lib/containers
:保存镜像相关的内容,随着更多镜像和容器添加到系统中,它所占用的存储会增加。 -
/var/lib/etcd
:保存您可能希望保持独立的数据,比如 etcd 存储的性能优化。 -
/var
:保存您希望独立保留的数据,用于特定目的(如审计)。
单独存储 /var
目录的内容可方便地根据需要对区域扩展存储,并可以在以后重新安装 OpenShift Container Platform 时保持该数据地完整。使用这个方法,您不必再次拉取所有容器,在更新系统时也无法复制大量日志文件。
因为 /var
在进行一个全新的 Red Hat Enterprise Linux CoreOS(RHCOS)安装前必需存在,所以这个流程会在 OpenShift Container Platform 安装过程的 openshift-install
准备阶段插入的机器配置来设置独立的 /var
分区。
流程
创建存放 OpenShift Container Platform 安装文件的目录:
mkdir $HOME/clusterconfig
$ mkdir $HOME/clusterconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
openshift-install
在manifest
和openshift
子目录中创建一组文件。在出现提示时回答系统问题:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
MachineConfig
对象并将其添加到openshift
目录中的一个文件中。例如,把文件命名为98-var-partition.yaml
,将磁盘设备名称改为worker
系统中存储设备的名称,并根据情况设置存储大小。这个示例将/var
目录放在一个单独的分区中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 要分区的磁盘的存储设备名称。
- 2
- 当在引导磁盘中添加数据分区时,推荐最少使用 25000MB。root 文件系统会自动重新定义大小使其占据所有可用空间(最多到指定的偏移值)。如果没有指定值,或者指定的值小于推荐的最小值,则生成的 root 文件系统会太小,而在以后进行的 RHCOS 重新安装可能会覆盖数据分区的开始部分。
- 3
- 数据分区的大小(以兆字节为单位)。
- 4
- 挂载单元的名称必须与
Where=
指令中指定的目录匹配。例如,对于挂载在/var/lib/containers
上的文件系统,该单元必须命名为var-lib-containers.mount
。 - 5
- 对于用于容器存储的文件系统,必须启用
prjquota
挂载选项。
注意在创建独立
/var
分区时,如果不同的实例类型没有相同的设备名称,则无法将不同的实例类型用于 worker 节点。再次运行
openshift-install
,从manifest
和openshift
子目录中的一组文件创建 Ignition 配置:openshift-install create ignition-configs --dir $HOME/clusterconfig ls $HOME/clusterconfig/
$ openshift-install create ignition-configs --dir $HOME/clusterconfig $ ls $HOME/clusterconfig/ auth bootstrap.ign master.ign metadata.json worker.ign
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,可以使用 Ignition 配置文件作为 ISO 或 PXE 手动安装过程的输入来安装 Red Hat Enterprise Linux CoreOS(RHCOS)系统。
5.2.13.3.2.2. 保留现有分区 复制链接链接已复制到粘贴板!
对于 ISO 安装,您可以在 coreos-installer
命令行中添加可让安装程序维护一个或多个现有分区的选项。对于 PXE 安装,您可以 APPEND
coreos.inst.*
选项来保留分区。
保存的分区可能是来自现有 OpenShift Container Platform 系统中的分区,其中包括了您希望保留的数据分区。以下是几个提示:
- 如果您保存了现有分区,且这些分区没有为 RHCOS 留下足够空间,则安装将失败但不会损害已保存的分区。
- 通过分区标签或数字识别您要保留的磁盘分区。
对于 ISO 安装
这个示例保留分区标签以数据
(data*
)开头的任何分区:
coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign \ --save-partlabel 'data*' /dev/sda
# coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign \
--save-partlabel 'data*' /dev/sda
以下示例演示了在运行 coreos-installer
时要保留磁盘上的第 6 个分区:
coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign \ --save-partindex 6 /dev/sda
# coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign \
--save-partindex 6 /dev/sda
这个示例保留了分区 5 及更高分区:
coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign
# coreos-installer install --ignition-url http://10.0.2.2:8080/user.ign
--save-partindex 5- /dev/sda
在前面已保存分区的示例中,coreos-installer
会立即重新创建分区。
对于 PXE 安装
这个 APPEND
选项保留分区标签以 'data'('data*')开头的所有分区:
coreos.inst.save_partlabel=data*
coreos.inst.save_partlabel=data*
这个 APPEND
选项保留分区 5 及其后的分区:
coreos.inst.save_partindex=5-
coreos.inst.save_partindex=5-
这个 APPEND
选项保留分区 6:
coreos.inst.save_partindex=6
coreos.inst.save_partindex=6