<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>KB-2356 How to migrate a machine-based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>KB-2356 How to migrate a machine-based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place</link><pubDate>Mon, 03 Nov 2025 21:43:10 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Current Revision posted to Appian Knowledge Base by pauline.delacruz on 11/3/2025 9:43:10 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your Appian on Kubernetes (AoK) site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool &lt;code&gt;export&lt;/code&gt; command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool &lt;code&gt;merge&lt;/code&gt; command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p id="mcetoc_1j72ki7gh5"&gt;Once this process is completed, the tool will start up your new Appian deployment. If you have not setup how to&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/exposing-appian-on-k8s.html"&gt;expose Appian&lt;/a&gt;,&amp;nbsp;the front end will not be accessible. However you should check that all the Appian services were able to come up and verify that the number of pods match your site&amp;#39;s defined replica count. At this point, you may want to visit the&amp;nbsp;Tasks,&amp;nbsp;Configuration, and&amp;nbsp;Reference&amp;nbsp;sections of the &lt;a href="https://docs.appian.com/suite/help/latest/k8s/appian-on-k8s-home.html"&gt;Appian on Kubernetes documentation&lt;/a&gt; for instructions on upkeep, upgrading, and additional configurations.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: appian on kubernetes, high availibility, how-to, infrastructure, Kubernetes&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/40</link><pubDate>Mon, 03 Nov 2025 17:07:43 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 40 posted to Appian Knowledge Base by pauline.delacruz on 11/3/2025 5:07:43 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your Appian on Kubernetes (AoK) site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool &lt;code&gt;export&lt;/code&gt; command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool &lt;code&gt;merge&lt;/code&gt; command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p id="mcetoc_1j72ki7gh5"&gt;Once this process is completed, the tool will start up your new Appian deployment. If you have not setup how to&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/exposing-appian-on-k8s.html"&gt;expose Appian&lt;/a&gt;,&amp;nbsp;the front end will not be accessible. However you should check that all the Appian services were able to come up and verify that the number of pods match your site&amp;#39;s defined replica count. At this point, you may want to visit the&amp;nbsp;Tasks,&amp;nbsp;Configuration, and&amp;nbsp;Reference&amp;nbsp;sections of the &lt;a href="https://docs.appian.com/suite/help/latest/k8s/appian-on-k8s-home.html"&gt;Appian on Kubernetes documentation&lt;/a&gt; for instructions on upkeep, upgrading, and additional configurations.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/39</link><pubDate>Wed, 22 Oct 2025 16:16:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 39 posted to Appian Knowledge Base by pauline.delacruz on 10/22/2025 4:16:30 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool &lt;code&gt;export&lt;/code&gt; command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool &lt;code&gt;merge&lt;/code&gt; command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p id="mcetoc_1j72ki7gh5"&gt;Once this process is completed, the tool will start up your new Appian deployment. If you have not setup how to&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/latest/k8s/exposing-appian-on-k8s.html"&gt;expose Appian&lt;/a&gt;,&amp;nbsp;the front end will not be accessible. However you should check that all the Appian services were able to come up and verify that the number of pods match your site&amp;#39;s defined replica count. At this point, you may want to visit the&amp;nbsp;Tasks,&amp;nbsp;Configuration, and&amp;nbsp;Reference&amp;nbsp;sections of the &lt;a href="https://docs.appian.com/suite/help/latest/k8s/appian-on-k8s-home.html"&gt;Appian on Kubernetes documentation&lt;/a&gt; for instructions on upkeep, upgrading, and additional configurations.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/38</link><pubDate>Tue, 14 Oct 2025 20:47:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 38 posted to Appian Knowledge Base by pauline.delacruz on 10/14/2025 8:47:23 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool &lt;code&gt;export&lt;/code&gt; command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool &lt;code&gt;merge&lt;/code&gt; command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p id="mcetoc_1j72ki7gh5"&gt;Once this process is completed, the tool will start up your new Appian deployment. If you have not setup how to&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.184.0/exposing-appian-on-k8s.html"&gt;expose Appian&lt;/a&gt;,&amp;nbsp;the front end will not be accessible. However you should check that all the Appian services were able to come up and verify that the number of pods match your site&amp;#39;s defined replica count. At this point, you may want to visit the&amp;nbsp;Tasks,&amp;nbsp;Configuration, and&amp;nbsp;Reference&amp;nbsp;sections of the &lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.184.0/appian-on-k8s-home.html"&gt;Appian on Kubernetes documentation&lt;/a&gt; for instructions on upkeep, upgrading, and additional configurations.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/37</link><pubDate>Tue, 14 Oct 2025 20:32:08 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 37 posted to Appian Knowledge Base by reid.farmer on 10/14/2025 8:32:08 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool &lt;code&gt;export&lt;/code&gt; command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool &lt;code&gt;merge&lt;/code&gt; command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p id="mcetoc_1j72ki7gh5"&gt;Once this process is completed, the tool will start up your new Appian deployment. If you have not setup how to&amp;nbsp;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.184.0/exposing-appian-on-k8s.html"&gt;expose Appian&lt;/a&gt;&amp;nbsp;the front end will not be accessible. However you should check that all the Appian services were able to come up and verify that the number of pods match your site&amp;#39;s defined replica count. At this point, you may want to visit the&amp;nbsp;Tasks,&amp;nbsp;Configuration, and&amp;nbsp;Reference&amp;nbsp;sections of the &lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.184.0/appian-on-k8s-home.html"&gt;Appian on Kubernetes documentation&lt;/a&gt; for instructions on upkeep, upgrading, and additional configurations.&lt;/p&gt;
&lt;h2&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/36</link><pubDate>Tue, 14 Oct 2025 20:21:31 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 36 posted to Appian Knowledge Base by reid.farmer on 10/14/2025 8:21:31 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool &lt;code&gt;export&lt;/code&gt; command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool &lt;code&gt;merge&lt;/code&gt; command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/35</link><pubDate>Tue, 14 Oct 2025 20:18:29 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 35 posted to Appian Knowledge Base by reid.farmer on 10/14/2025 8:18:29 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/34</link><pubDate>Tue, 14 Oct 2025 20:17:59 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 34 posted to Appian Knowledge Base by reid.farmer on 10/14/2025 8:17:59 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Here is an example of executing the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code class="language-plaintext highlighter-rouge"&gt;import&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;command for a Unix/Linux system of a distributed site:&lt;/p&gt;
&lt;div class="language-bash highlighter-rouge"&gt;
&lt;div class="highlight"&gt;
&lt;pre class="highlight"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre&gt;./migrate import -z merge.zip -a appian.yaml -n &amp;lt;site namespace&amp;gt;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/33</link><pubDate>Tue, 14 Oct 2025 19:57:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>pauline.delacruz</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 33 posted to Appian Knowledge Base by pauline.delacruz on 10/14/2025 7:57:30 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, please&amp;nbsp;&lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany(RWX)&amp;nbsp;&lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;Persistent Volumes&lt;/a&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/32</link><pubDate>Tue, 14 Oct 2025 19:17:29 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 32 posted to Appian Knowledge Base by reid.farmer on 10/14/2025 7:17:29 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/31</link><pubDate>Tue, 14 Oct 2025 19:07:59 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 31 posted to Appian Knowledge Base by reid.farmer on 10/14/2025 7:07:59 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;Proceed with the migration via the migration tool import command.&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/30</link><pubDate>Mon, 13 Oct 2025 21:58:57 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 30 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 9:58:57 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;span&gt;Under the webapp and serviceManager sections, u&lt;/span&gt;ncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp&amp;#39;s&amp;nbsp;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/29</link><pubDate>Mon, 13 Oct 2025 21:41:05 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 29 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 9:41:05 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following directories are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/28</link><pubDate>Mon, 13 Oct 2025 21:37:18 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 28 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 9:37:18 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="617" height="604"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/27</link><pubDate>Mon, 13 Oct 2025 20:02:58 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 27 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 8:02:58 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/26</link><pubDate>Mon, 13 Oct 2025 20:02:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 26 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 8:02:04 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/25</link><pubDate>Mon, 13 Oct 2025 19:59:47 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 25 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 7:59:47 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;span&gt;&amp;rsquo;s PV:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;---------------------------------&lt;br /&gt;healthCheckExistingClaim&amp;rsquo;s PV&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/24</link><pubDate>Mon, 13 Oct 2025 19:57:46 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 24 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 7:57:46 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;span&gt;&amp;rsquo;s PV:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;healthCheckExistingClaim&amp;rsquo;s PV&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/23</link><pubDate>Mon, 13 Oct 2025 19:57:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 23 posted to Appian Knowledge Base by reid.farmer on 10/13/2025 7:57:04 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;span&gt;&amp;rsquo;s PV:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/22</link><pubDate>Wed, 08 Oct 2025 21:38:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 22 posted to Appian Knowledge Base by reid.farmer on 10/8/2025 9:38:30 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have &lt;code&gt;shared-logs&lt;/code&gt; but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain &lt;code&gt;shared-logs&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>[DRAFT SUPP-1689] KB-XXXX How to migrate machine based installation's shared data volume to AoK in place</title><link>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place/revision/21</link><pubDate>Wed, 08 Oct 2025 21:14:38 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:bf78b157-0f5c-4633-a5c5-594ec40f4d6a</guid><dc:creator>reid.farmer</dc:creator><comments>https://community.appian.com/support/w/kb/3714/kb-2356-how-to-migrate-a-machine-based-installation-s-shared-data-volume-to-aok-in-place#comments</comments><description>Revision 21 posted to Appian Knowledge Base by reid.farmer on 10/8/2025 9:14:38 PM&lt;br /&gt;
&lt;h2 id="mcetoc_1j72ki7gh0"&gt;Purpose&lt;/h2&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have a machine-based Appian deployment that utilizes a shared filesystem (e.g. AWS Elastic File System, NFS), you can migrate certain files on the shared filesystem to your AoK site in place. Instead of using the migration tool to export, merge, and import the files on your shared filesystem, you can expose the shared filesystem as a PVC in your Kubernetes cluster and mount it to your AoK containers.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;This guide assumes that you have a relatively standard HA or distributed deployment, where only the following &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/High_Availability_and_Distributed_Installations.html#shared-files"&gt;&lt;span style="font-weight:400;"&gt;data&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;, and optionally shared-logs, exist on your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh1"&gt;Instructions&lt;/h2&gt;
&lt;h3 id="mcetoc_1j72ki7gh2"&gt;Pre-Requisites&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before running the migration tool, you&amp;rsquo;re &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/25.3/k8s-0.187.0/migration-tool.html#before-starting"&gt;&lt;span style="font-weight:400;"&gt;encouraged to back up your site&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;. Ensure your shared filesystem is backed up as well.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The following steps will change the directory structure of and write new data to your shared filesystem. If you need to abort your AoK migration, you should be able to revert to your machine-based deployment using a backup of your shared filesystem.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ki7gh3"&gt;Step 1: Choose which files to migrate in place&lt;/h3&gt;
&lt;p&gt;The following files are eligible for this process:&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;engine-checkpoints&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;content-documents&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;archived-processes&lt;/span&gt;&lt;/code&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;shared-logs&lt;/span&gt;&lt;/code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 2:&amp;nbsp;Change paths on the shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;strong&gt;haExistingClaim&lt;/strong&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; PVCs can bind to the same shared filesystem, but they should be configured to point to distinct subdirectories within that filesystem to prevent data collision.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;You should reorganize the directory structure within your shared filesystem so the &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC can point to one subdirectory of the shared filesystem and the &lt;strong&gt;healthCheckExistingClaim &lt;/strong&gt;can point to a separate subdirectory.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Typical HA and distributed deployments will have a folder structure on the shared filesystem:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──_admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-logs&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Create new folders in the top level of your shared filesystem:&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──shared-data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└──health-check (only if you have shared-logs)&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you have shared-logs but opt not to migrate them in place, you should still separate them into the logs directory. This will ensure your &lt;strong&gt;haExistingClaim&lt;/strong&gt; PVC does not contain shared-logs.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Reorganize the files to match this structure:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── _admin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── accdocs3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── mini&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── models&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── plugins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── process_notes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── shared&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── services&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── data&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;          └── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── server&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── archived-process&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;     └── msg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;/health-check (only if you have shared-logs)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;└── shared-logs&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;table width="1118" height="617"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Original Directory&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;(These refer to the directories&amp;rsquo; default paths. Please take any &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/Internal_Data.html#changing-the-directory-structure"&gt;&lt;span style="font-weight:400;"&gt;custom paths&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; into account)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="vertical-align:top;"&gt;
&lt;p&gt;&lt;b&gt;Target Directory&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs1/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs2/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/accdocs3/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/mini/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/models/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/plugins/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/process_notes/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/_admin/shared/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/msg/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/server/archived-process/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/server/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;(exclude /server/msg/ and /server/archived-process/)&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-data/services/data/server/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;/health-check/shared-logs/&lt;/span&gt;&lt;/pre&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="mcetoc_1j72ki7gh4"&gt;Step 3:&amp;nbsp;Change ownership and permissions&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Appian Operator sets the fsGroup for all pods, alleviating most permissions issues. However, fsGroup doesn&amp;rsquo;t have an effect on some shared filesystems (e.g. NFS, EFS). If this is the case, ensure that:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Any mount directories on the shared filesystem are mounted with permissions accessible by the appian user (UID 500)&lt;/span&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;If using EFS, you can use &lt;/span&gt;&lt;a href="https://docs.aws.amazon.com/efs/latest/ug/enforce-identity-access-points.html"&gt;&lt;span style="font-weight:400;"&gt;Access Points&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; to enforce a user identity&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Ensure that directories and files under &lt;code&gt;/shared-data&lt;/code&gt; and &lt;code&gt;/health-check&lt;/code&gt; are accessible by the appian user (UID 500)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;Step 4:&amp;nbsp;Create a Persistent Volume and Persistent Volume Claim for your shared filesystem&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;In your Kubernetes cluster, create 2 ReadWriteMany &lt;/span&gt;&lt;a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/"&gt;&lt;span style="font-weight:400;"&gt;Persistent Volume&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;s from your shared filesystem, one to be claimed by &lt;strong&gt;haExistingClaim&lt;/strong&gt; and the other to be claimed by &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;&lt;strong&gt;haExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/shared-data&lt;/code&gt; and &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;&amp;rsquo;s PV should have a root path to &lt;code&gt;/health-check&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;If you&amp;rsquo;re using AWS EFS and EFS Access Points, you can do so using the EFS CSI driver:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /shared-data e.g. fsap-08ab03e134c34fe01&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;# ONLY IF MIGRATING SHARED-LOGS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolume&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PV name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;capacity:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;volumeMode:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;Filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;csi:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;driver:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;efs.csi.aws.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;volumeHandle: &amp;lt;EFS identifier e.g. fs-03cada681ae7588c9&amp;gt;::&amp;lt;Access Point identifier with root path of /health-check e.g. fsap-0790259c651ae90c7&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&lt;span style="font-weight:400;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Create a Persistent Volume Claim against each of the Persistent Volumes created in the previous step. For example:&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;span style="font-weight:400;"&gt;apiVersion:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;v1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;kind:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;PersistentVolumeClaim&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;metadata:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;name:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;PVC name&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;spec:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;accessModes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;-&lt;/span&gt; &lt;span style="font-weight:400;"&gt;ReadWriteMany&lt;/span&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;resources:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storage:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;lt;storage capacity request&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight:400;"&gt;storageClassName:&lt;/span&gt; &lt;span style="font-weight:400;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:400;"&gt;&amp;nbsp;&amp;nbsp;volumeName: &amp;lt;PV name&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 5:&amp;nbsp;Run the migration tool&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Run the migration tool export command with the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#excluding-data"&gt;&lt;span style="font-weight:400;"&gt;option to exclude&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; types of files from Step 1. Run the migration tool merge command. Return to these instructions and complete the next step when you reach the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-3-importing-your-appian-data-into-kubernetes"&gt;&lt;span style="font-weight:400;"&gt;import step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt; of the migration tool.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 6:&amp;nbsp;Update the Appian CR&lt;/h3&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Before the import step of the migration tool, you will customize the Appian CR generated by the &lt;/span&gt;&lt;a href="https://docs.appian.com/suite/help/latest/k8s-0.184.0/migration-tool.html#step-2-preparing-and-merging-your-appian-data"&gt;&lt;span style="font-weight:400;"&gt;merge step&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight:400;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6a:&amp;nbsp;Set &lt;strong&gt;haExistingClaim&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/shared-data&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for Webapp and Service Manager&amp;rsquo;s &lt;strong&gt;haExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Uncomment and set the &lt;strong&gt;haExistingClaim&lt;/strong&gt; field, under the webapp and serviceManager sections, to the name of the shared-data PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h4 id="mcetoc_1j72ko16c6"&gt;Step 6b:&amp;nbsp;Set &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; (optional)&lt;/h4&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;The &lt;code&gt;/health-check&lt;/code&gt; directory of your shared filesystem will serve as your ReadWriteMany volume for &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight:400;"&gt;Under the webapp section, uncomment and set the &lt;strong&gt;healthCheckExistingClaim&lt;/strong&gt; field to the name of the health-check PVC you created in Step 4.&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1j72ko16c6"&gt;Step 7:&amp;nbsp;Run the migration tool import command and complete the migration&lt;/h3&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1j72ki7gh5"&gt;&lt;span&gt;Affected Versions&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;This article applies to all self-managed versions of Appian.&lt;/p&gt;
&lt;p&gt;Last Reviewed: October&amp;nbsp;2025&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>