在ROSA上使用FSxN部署Red Hat OpenShift虚拟化
概述
本节详细介绍了如何将FSx for NetApp ONTAP设置为ROSA集群的默认存储类、然后创建一个虚拟机来将FSx ONTAP存储用于其卷。
我们还将了解如何使用子系统凭据连接到虚拟机并重新启动虚拟机。最后、我们将执行虚拟机从当前节点到新节点的实时迁移。我们将在VM重新启动和实时迁移之后检查磁盘存储的内容。
前提条件
-
IAM用户"具有适当的权限"、用于创建和访问ROSA集群
-
"OpenShift命令行界面"(OC)
-
"HCP ROSA集群"(至少具有3个裸机工作节点)
-
Trident 25.02或更高版本从Trident 25.02版本开始、您可以轻松地为ROSA集群(或任何OpenShift集群)的工作节点做好准备、以便对FSxN存储执行iSCSI操作。可以通过两种简单的方法安装Trident 25.02 (或更高版本)、从而自动为iSCSI准备工作节点。
-
在命令行中使用节点准备标志并使用trdentctri工具。
-
使用操作员中心的Red Hat认证Trident操作员并对其进行自定义。
-
使用Helm
-
方法1:使用tldentctr工具
使用节点准备标志并安装Trident、如图所示。在发出install命令之前、您应已下载安装程序包。请参阅 "文档"。
方法2:使用Red Hat认证Trident操作员并自定义从OperatorHub中找到Red Hat认证的Trident操作员并进行安装。
接下来、创建Trident Orchestrator实例。使用YAML视图设置任何自定义值或在安装期间启用iSCSI节点准备。
使用上述任一方法安装Trident将为iSCSI准备ROSA集群工作节点、方法是启动iscs-d和multipathd服务并在/etc/multipath.conf文件中设置以下内容
初始设置
本节介绍如何设置Trident后端和默认存储类以及默认卷快照类。然后、它会显示如何使用模板创建VM、然后使用子系统凭据连接并登录到该VM。
使用以下命令创建Trident后端对象
您可以通过控制台或命令行将上述创建的存储类和卷Snapshot类设置为默认值
$ oc patch storageclass trident-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
$ oc patch VolumeSnapshotClasses fsx-snapclass -p '{"metadata": {"annotations": {"snapshot.storage.kubernetes.io/is-default-class": "true"}}}'
确保默认存储类设置为Trident
确保已按所示设置默认的卷Snap肖 特克莱斯
使用模板创建虚拟机
使用Web控制台通过模板创建VM。从AWS控制台上的RedHat OpenShiftService创建虚拟机。集群上提供了一些模板、可用于创建虚拟机。在下面的屏幕截图中、我们从该列表中选择了Fedora VM。为虚拟机命名,然后单击自定义虚拟机。选择磁盘选项卡,然后单击添加磁盘。最好将磁盘名称更改为有意义的名称,确保为存储类选择 Trident-CSI。单击保存。单击创建虚拟机
几分钟后、虚拟机将处于running状态
查看为虚拟机创建的所有对象
存储磁盘。
VM的文件系统将显示分区、文件系统类型和挂载点。
系统会为虚拟机创建2个PVC、一个来自启动磁盘、另一个用于热插拔磁盘。
启动磁盘的PVC显示访问模式为ReadReadReadReadRead任意、存储类为Trident - CSI。
同样、热插拔磁盘的PVC显示、访问模式为ReadReadReadReadWeb、存储类为Trident - CSI。
在下面的屏幕截图中、我们可以看到虚拟机的POD的状态为正在运行。
在这里、我们可以看到与VM Pod关联的两个卷以及与其关联的2个PVC。
连接到虚拟机
单击‘Open web console’(打开Web控制台)按钮,然后使用来宾凭据登录
发出以下命令
$ df (to display information about the disk space usage on a file system).
$ dd if=/dev/urandom of=random.dat bs=1M count=10240 (to create a file called random.dat in the home dir and fill it with random data).
磁盘中已填充11 GB的数据。
使用vi创建示例文本文件、我们将使用该文件进行测试。
相关博客