Courseiva

CCNA Storage And Persistent Volumes Questions

72 questions · Storage And Persistent Volumes · All types, answers revealed

1
MCQmedium

A developer deploys an application that mounts a PVC in read-only mode inside the pod specification. How is this configured in the Pod's volumeMounts?

A.Set accessModes to ReadOnlyMany on the PVC object.
B.Set readOnly: true in the container's volumeMounts entry.
C.Set volumeMode: ReadOnly in the PVC spec.
D.Annotate the PVC with 'volume.beta.kubernetes.io/readonly'.
AnswerB

volumeMounts supports the readOnly boolean flag per container mount.

Why this answer

Setting 'readOnly: true' in the pod's volumeMounts array mounts the PVC in read-only mode for that container.

2
Multi-Selectmedium

Which TWO characteristics describe StorageClasses in OpenShift?

Select 2 answers
A.They specify the provisioner plugin responsible for creating volumes.
B.They store the actual application data files.
C.They are namespace-scoped and unique to each project.
D.They can only be created by unprivileged developer users.
E.They are cluster-scoped resources.
AnswersA, E

Every StorageClass requires a provisioner field.

Why this answer

StorageClasses are cluster-scoped resources that define the provisioner and parameters for dynamic volume creation.

3
MCQeasy

Where are PersistentVolumeClaims located in terms of OpenShift's API scope?

A.They are node-scoped resources.
B.They are namespaced resources.
C.They are global resources shared across all clusters in a fleet.
D.They are cluster-scoped resources.
AnswerB

PVCs exist within specific namespaces/projects.

Why this answer

PersistentVolumeClaims are namespace-scoped resources, whereas PersistentVolumes and StorageClasses are cluster-scoped.

4
Multi-Selectmedium

Which TWO of the following statements regarding PersistentVolume access modes are correct?

Select 2 answers
A.ReadWriteOnce (RWO) prevents pods on different nodes from reading the volume.
B.ReadWriteOnce (RWO) permits a volume to be mounted as read-write by a single node.
C.Access modes are determined dynamically by the pod and cannot be requested by the PVC.
D.ReadOnlyMany (ROM) allows multiple nodes to write to the volume concurrently.
E.ReadWriteMany (RWX) permits a volume to be mounted as read-write by multiple nodes simultaneously.
AnswersB, E

RWO restricts write access to a single node.

Why this answer

ReadWriteOnce (RWO) allows read-write by a single node, and ReadWriteMany (RWX) allows read-write by multiple nodes simultaneously.

5
MCQmedium

What is the effect of setting 'allowVolumeExpansion: true' in a StorageClass?

A.It automatically shrinks PVCs when storage usage drops below 50%.
B.It permits users to increase the storage size of PVCs created from this StorageClass.
C.It allows multiple pods to write to an RWO volume simultaneously.
D.It allows the cluster to automatically scale the number of worker nodes based on storage demand.
AnswerB

Enabling volume expansion permits PVC resizing.

Why this answer

It allows users to edit existing PersistentVolumeClaims associated with this StorageClass to request a larger storage size.

6
MCQhard

A cluster administrator needs to configure a generic ephemeral inline volume in a Pod specification. Where is the volume defined?

A.In the namespace ResourceQuota configuration.
B.In the StorageClass definition under the ephemeralTemplate field.
C.As a standalone PVC that is automatically annotated by the scheduler.
D.Directly in the Pod's spec.volumes array using the ephemeral volume source type.
AnswerD

Inline ephemeral volumes allow storage to be specified directly in the pod spec and lifecycle-managed with the pod.

Why this answer

Generic ephemeral inline volumes are defined directly inside the Pod spec under 'volumes' using the 'ephemeral' volume source, referencing a StorageClass.

7
MCQmedium

What is the primary function of a CSI (Container Storage Interface) Driver Operator in OpenShift?

A.To deploy, upgrade, and manage the CSI driver components (controller and node plugins) in the cluster.
B.To automatically back up etcd data onto persistent volumes.
C.To act as an NFS server running directly on control plane nodes.
D.To convert emptyDir volumes into encrypted block devices.
AnswerA

CSI operators automate the deployment and lifecycle management of storage plugins.

Why this answer

CSI Driver Operators manage the lifecycle of CSI plugins, deploying controller and node plugin pods that enable communication between OpenShift and storage backends.

8
MCQhard

An administrator needs to configure volume snapshot data protection where the underlying snapshot content object must remain intact even if the user deletes the VolumeSnapshot object. How is this controlled?

A.Set reclaimPolicy to Retain in the StorageClass.
B.Apply the annotation snapshot.storage.k8s.io/preservation: "true" on the PVC.
C.Set snapshotRetention: permanent in the VolumeSnapshot spec.
D.Set deletionPolicy to Retain in the VolumeSnapshotClass.
AnswerA, D

StorageClass reclaimPolicy applies to PVs, not VolumeSnapshots.

Why this answer

The deletionPolicy in the VolumeSnapshotClass controls whether the underlying VolumeSnapshotContent is deleted (Delete) or retained (Retain) when the user deletes the VolumeSnapshot.

9
MCQmedium

You want to restore an existing VolumeSnapshot into a new PersistentVolumeClaim. Which field in the PVC specification must reference the VolumeSnapshot?

A.claimRef
B.snapshotName
C.dataSource
D.volumeName
AnswerC

dataSource points to the VolumeSnapshot (or another PVC) used to initialize the new volume.

Why this answer

To restore from a snapshot, the dataSource (or dataSourceRef) field in the PVC spec must point to the VolumeSnapshot object.

10
MCQeasy

An application pod requires concurrent read and write access to the same storage volume from multiple worker nodes simultaneously. Which access mode must be specified in the PersistentVolumeClaim to satisfy this requirement?

A.ReadWriteMany
B.ReadWriteOnce
C.ReadOnlyMany
D.WriteOncePod
AnswerA

Correct. ReadWriteMany enables multiple nodes to mount the volume concurrently with read and write permissions.

Why this answer

ReadWriteMany (RWX) allows the volume to be mounted as read-write by multiple nodes simultaneously.

11
Multi-Selecthard

Which THREE actions are required when manually setting up a pre-provisioned PersistentVolume backed by an existing storage asset?

Select 3 answers
A.Set allowVolumeExpansion to false on all namespaces.
B.Specify spec.accessModes to match expected claim requirements.
C.Provide the specific volume source configuration (e.g., csi or nfs parameters).
D.Define spec.capacity.storage matching the underlying storage size.
E.Create a matching VolumeSnapshotClass before defining the PV.
AnswersB, C, D

Access modes must align with incoming PVC requests.

Why this answer

Manual PV setup requires defining the capacity, setting the correct access modes, and specifying the appropriate volume plugin source (such as nfs, csi, etc.).

12
MCQeasy

Which component in OpenShift is responsible for watching PersistentVolumeClaims and dynamically provisioning PersistentVolumes when supported by a StorageClass?

A.kube-scheduler
B.crio
C.etcd
D.kube-controller-manager
AnswerD

The persistent volume controller runs inside the kube-controller-manager and drives PV/PVC binding and provisioning.

Why this answer

The Kubernetes persistent volume controller (part of kube-controller-manager) watches PVCs and handles dynamic provisioning coordination.

13
MCQhard

An administrator needs to prune or reclaim dangling VolumeSnapshotContent objects whose parent VolumeSnapshots have already been deleted, but the reclaim policy was set incorrectly. How can this be resolved?

A.Recreate the deleted VolumeSnapshot with the exact same UID.
B.Restart the snapshot-controller deployment.
C.Run 'oc prune snapshots --force'.
D.Manually delete the orphaned VolumeSnapshotContent object or remove its finalizers if stuck.
AnswerD

Orphaned snapshot contents require manual cleanup if retain policies left them behind.

Why this answer

If the snapshot content is orphaned due to deletion policy misconfiguration, the administrator can manually edit the VolumeSnapshotContent object to remove its finalizers or delete it directly.

14
MCQeasy

Which access mode specifies that a volume can be mounted as read-write by a single node?

A.WriteOnceMany
B.ReadOnlyMany
C.ReadWriteOnce
D.ReadWriteMany
AnswerC

ReadWriteOnce restricts volume mounting to a single node for read-write access.

Why this answer

ReadWriteOnce (RWO) allows a volume to be mounted as read-write by a single node.

15
MCQeasy

An administrator needs to inspect all StorageClasses available in an OpenShift cluster using the OpenShift CLI. Which command should be executed?

A.oc describe storageclasses
B.oc get pvc
C.oc get sc
D.oc get pv
AnswerC

oc get sc is the correct shorthand command to list StorageClasses.

Why this answer

The 'oc get storageclass' (or sc) command lists all StorageClasses defined in the cluster.

16
MCQhard

A user creates a VolumeSnapshot and notices that the resulting VolumeSnapshotContent status is marked as readyToUse: false. What is the most likely cause?

A.The VolumeSnapshot object must be manually promoted before it becomes ready.
B.The PVC being snapshotted has active writes and the storage backend is still synchronizing snapshot data.
C.The VolumeSnapshotClass is missing the deletionPolicy parameter.
D.The PVC must be unmounted from all running pods before a snapshot can be marked ready.
AnswerB

Asynchronous storage backends or heavy write loads can delay the readiness of a snapshot.

Why this answer

The CSI driver or storage backend has not finished creating the snapshot or data protection sync, or the underlying storage controller hasn't reported back readiness yet.

17
MCQmedium

A cluster administrator wants to restrict a specific storage class so that only members of a designated OpenShift project can create PVCs referencing it. How is this typically enforced in OpenShift?

A.By assigning RBAC RoleBindings to the StorageClass object directly.
B.By setting accessMode: Restricted in the StorageClass metadata.
C.Using admission control policies or validation webhooks to restrict StorageClass usage by namespace.
D.By adding a namespaces array directly in the StorageClass spec.
AnswerC

StorageClasses are cluster-scoped and accessible to all namespaces by default; restriction requires admission webhooks or policy engines.

Why this answer

StorageClasses themselves do not have native namespace RBAC, but admission webhooks or project-level naming conventions combined with ValidatingWebhookConfigurations or ResourceQuotas can restrict usage. Wait, standard OpenShift does not restrict StorageClasses per project natively without admission control or OPA/Gatekeeper, but let's look at the standard approach: OpenShift allows restricting via cluster resource RBAC or custom admission webhooks. Let's verify standard answer: cluster administrators control access via StorageClass availability and default settings, or admission policies.

18
MCQhard

An administrator is configuring ephemeral storage limits for containers in a namespace. Where must these limits be defined to enforce maximum local scratch space usage per container?

A.ResourceQuota
B.StorageClass
C.LimitRange
D.PersistentVolumeClaim
AnswerC

LimitRange objects enforce compute and ephemeral storage constraints per container or pod in a namespace.

Why this answer

Local ephemeral storage requests and limits can be enforced across a namespace using a LimitRange object.

19
MCQmedium

An administrator is reviewing PersistentVolumes and notices several PVs stuck in a Terminating state. What is the most common reason a PV cannot be deleted immediately?

A.etcd disk space is full.
B.The volume attachment object still holds an active lock, or a finalizer prevents deletion until unmounted.
C.The project quota has been exceeded.
D.The apiserver cache is corrupted and requires a cluster reboot.
AnswerB

Volume attachments and finalizers prevent premature PV deletion while in use.

Why this answer

A PV in Terminating state usually has a finalizer attached or is still actively mounted/attached by a node/CSI driver attachment object that hasn't cleaned up.

20
MCQeasy

An administrator needs to deploy a StorageClass that automatically provisions volumes only when a PersistentVolumeClaim is created and consumed by a Pod. Which StorageClass parameter determines this behavior?

A.reclaimPolicy: Retain
B.provisioningMode: Immediate
C.volumeBindingMode: WaitForFirstConsumer
D.allowVolumeExpansion: true
AnswerC

Correct. This ensures that the PV is provisioned only when the pod requiring it is scheduled, enabling topology-aware provisioning.

Why this answer

The volumeBindingMode parameter in a StorageClass controls when volume binding and dynamic provisioning should occur. Setting it to WaitForFirstConsumer delays volume binding and provisioning until a Pod using the PVC is scheduled.

21
MCQhard

A cluster uses a CSI driver that does not support volume expansion. A user edits an existing PVC to request a larger size. What action does the OpenShift API server take?

A.The resize request fails or is marked with an error condition because expansion is unsupported.
B.The PVC size is updated in Kubernetes metadata, but physical storage is left unchanged.
C.OpenShift automatically converts the PVC to use a default storage class that supports expansion.
D.The pod is immediately terminated and restarted on a node with more disk space.
AnswerA

CSI capability checks prevent unauthorized or unsupported volume expansions.

Why this answer

If expansion is not supported by the driver or allowed by the StorageClass, the API server rejects the update or the resize controller marks the expansion condition as unsupported/failed.

22
MCQmedium

An administrator needs to provision persistent storage dynamically using an NFS server. Which provisioner is required in the StorageClass definition since OpenShift removed the in-tree NFS provisioner?

A.nfs.csi.k8s.io
B.kubernetes.io/nfs
C.sig-storage.k8s.io/nfs-subdir-external-provisioner
D.openshift.io/nfs-dynamic
AnswerC

This external provisioner correctly supports dynamic NFS provisioning via subdirectories.

Why this answer

OpenShift removed in-tree provisioners. The external NFS subdir external provisioner is the standard Red Hat-supported way to dynamically provision NFS volumes.

23
MCQmedium

A developer needs to configure a Pod where multiple containers need concurrent read-write access to the exact same PersistentVolumeClaim. Which access mode is mandatory on the PVC?

A.ReadOnlyMany
B.ReadWriteOnce
C.ReadWriteMany
D.ReadWriteOncePod
AnswerC

ReadWriteMany allows mounting by multiple nodes/pods for concurrent read-write access.

Why this answer

ReadWriteMany (RWX) or ReadWriteOncePod (RWOP) can be used, but for multiple containers across nodes (or even multiple containers on the same node wanting shared concurrent write access without conflict), RWX is required. Wait, multiple containers in the *same* pod can share a single RWO volume because they share the same node and mount namespace context. However, across pods or when explicitly sharing, RWX is the classic answer.

Let's frame it as multiple pods or general multi-reader/writer access.

24
MCQmedium

You are examining a PersistentVolume in OpenShift and notice its status is Released. What does this indicate?

A.The PV is currently bound to an active PVC and is in use by a running pod.
B.The PV has failed its health check and has been quarantined by the CSI driver.
C.The PV is available for binding by any new incoming PVC request.
D.The PVC associated with the PV has been deleted, but the volume has not yet been reclaimed.
AnswerD

Released means the claim is gone, waiting for automated recycling/deletion or manual admin handling.

Why this answer

The Released status means the PVC that was bound to the PV has been deleted, but the volume has not yet been reclaimed according to its reclaim policy.

25
MCQhard

A developer deploys a pod with an emptyDir volume. The application running inside writes temporary files. What happens to these files when the container crashes and restarts within the same pod?

A.The files are backed up to the cluster control plane automatically.
B.The files are preserved because emptyDir lifetime is tied to the pod, not individual containers.
C.The files are deleted immediately because the container filesystem is ephemeral.
D.The volume is unmounted and reattached via the CSI driver.
AnswerB

Container restarts do not clear emptyDir storage; only pod termination does.

Why this answer

An emptyDir volume survives container crashes and restarts; it is only deleted when the pod itself is removed from the node.

26
Multi-Selectmedium

Which TWO methods can be used to populate data into a newly created PersistentVolumeClaim during provisioning?

Select 2 answers
A.Setting volumeMode to Populate in the PVC spec.
B.Mounting a container image registry directly via PVC metadata.
C.Referencing an existing PersistentVolumeClaim in the PVC dataSource field for cloning.
D.Referencing a VolumeSnapshot in the PVC dataSource field.
E.Specifying an emptyDir template in the PVC spec.
AnswersC, D

Volume cloning initializes the new PVC from an existing PVC.

Why this answer

PVCs can be populated using a VolumeSnapshot or another PersistentVolumeClaim (volume cloning) as a dataSource.

27
MCQmedium

An administrator needs to back up application data stored on an OpenShift PVC. Which object must be created to initiate the snapshot process via the CSI driver?

A.VolumeSnapshot
B.BackupCR
C.VolumeSnapshotContent
D.StorageSnapshot
AnswerA

VolumeSnapshot is the user-facing request object to snapshot a PVC.

Why this answer

A VolumeSnapshot object must be created, referencing the PVC, to initiate the snapshot.

28
Multi-Selecthard

Which THREE items can be inspected using 'oc describe' when troubleshooting a failing storage attachment in OpenShift?

Select 3 answers
A.The cluster image registry configuration
B.The PersistentVolumeClaim (to check binding status and provisioner errors)
C.The Pod (to see scheduling or volume mount failure events)
D.The OAuth client credentials secret
E.The PersistentVolume (to verify node attachments and reclaim policies)
AnswersB, C, E

PVC describe shows claim phase and provisioning events.

Why this answer

Describing the Pod, PVC, and PV provides comprehensive event logs and status information regarding volume attachment failures.

29
MCQhard

A developer requests a PersistentVolumeClaim using ReadWriteMany access mode. Which default storage type in a standard AWS ODF (OpenShift Data Foundation) deployment natively supports RWX?

A.openshift-storage.rbd.csi.ceph.com
B.gp2-csi.storage.k8s.io
C.ebs.csi.aws.com
D.openshift-storage.cephfs.csi.ceph.com
AnswerD

CephFS natively supports RWX access modes across pods and nodes.

Why this answer

CephFS, provided by OpenShift Data Foundation, supports ReadWriteMany (RWX) access modes, unlike standard AWS EBS CSI (which is RWO).

30
MCQhard

An administrator wants to verify which CSI driver plugins are registered and active in an OpenShift cluster. Which cluster-scoped resource should they query?

A.csidrivers.storage.k8s.io
B.volumesnapshotclasses.snapshot.storage.k8s.io
C.storageclasses.storage.k8s.io
D.csinodes.storage.k8s.io
AnswerA

CSIDriver resources represent registered CSI drivers in the Kubernetes cluster API.

Why this answer

CSIDriver custom resources list all CSI drivers installed and registered in the cluster.

31
MCQmedium

A cluster administrator needs to ensure that a specific PVC can only bind to a pre-allocated PersistentVolume. How can this binding relationship be strictly enforced?

A.Apply matching labels and set volumeBindingMode to Strict.
B.Set allowVolumeExpansion to false on the PV.
C.Annotate the PVC with 'volume.kubernetes.io/target-pv'.
D.Specify the exact PV name in the spec.volumeName field of the PVC.
AnswerD

spec.volumeName hardcodes the binding target to a specific PV.

Why this answer

Setting 'volumeName' in the PVC specification forces the claim to bind exclusively to the PersistentVolume with that exact name.

32
MCQhard

An administrator wants to use raw block storage (Block Volume Mode) rather than a mounted filesystem for a high-performance database running on OpenShift. How should the volume mode be specified in the PersistentVolumeClaim?

A.mountOptions: [ "raw" ]
B.accessMode: RawBlock
C.storageType: Unformatted
D.volumeMode: Block
AnswerD

This setting provisions a raw block device accessible as a device plugin in the pod.

Why this answer

Setting 'volumeMode: Block' in the PVC spec instructs the provisioner to supply a raw block device rather than formatting it with a filesystem.

33
Multi-Selectmedium

Which TWO conditions will prevent a pod from successfully mounting a PersistentVolumeClaim?

Select 2 answers
A.The pod is running in the default project.
B.The PVC is in a Pending state because it failed to bind or provision.
C.The volume is already attached to another node and cannot be multi-attached (RWO constraint).
D.The StorageClass has allowVolumeExpansion set to true.
E.The pod namespace has excess CPU limits.
AnswersB, C

An unbound PVC cannot be mounted by a pod.

Why this answer

Mismatched access modes and failure of the CSI driver to attach the volume to the node will prevent pod mounting.

34
MCQmedium

A cluster administrator needs to prevent users from accidentally deleting a VolumeSnapshot while associated PVC restores or clones depend on it. What protection mechanism is active by default in OpenShift?

A.OCP Storage Mutating Webhooks
B.VolumeSnapshot Content Protection finalizers
C.etcd Object Lock
D.StorageClass Retain Policy
AnswerB

Finalizers on VolumeSnapshot and VolumeSnapshotContent prevent premature deletion.

Why this answer

Kubernetes and OpenShift incorporate finalizers on VolumeSnapshot objects to prevent deletion while downstream references or dependent objects exist.

35
MCQhard

A cluster administrator has created a VolumeSnapshotClass and a VolumeSnapshot object targeting an active PVC. However, the VolumeSnapshot status never shows ready to use, and the underlying storage provider logs indicate snapshot creation failed due to missing cluster permissions. Which core OpenShift operator is primarily responsible for managing volume snapshot controllers and CRDs in OpenShift 4.14?

A.The Ingress Operator
B.The Cluster Storage Operator
C.The Authentication Operator
D.The Machine Config Operator
AnswerB

Correct. The Cluster Storage Operator manages the storage components, including deploying the Volume Snapshot Controller and related CustomResourceDefinitions across the cluster.

Why this answer

The OpenShift Storage Operator or specialized CSI operator handles deployment of the snapshot controller, but the cluster-storage-operator or ODF operator manages the storage stack components. Specifically, snapshot validation and controller logic are typically driven by the external snapshot controller deployed via the Cluster Storage Operator or CSI addon operator.

36
Multi-Selecthard

Which THREE components are typically deployed as part of a CSI driver architecture on OpenShift worker nodes and control planes?

Select 3 answers
A.CSI Node Plugin (running as a DaemonSet on worker nodes)
B.etcd Storage Engine Daemon
C.CRI-O Runtime Proxy
D.Node Driver Registrar (communicating kubelet registration)
E.CSI Controller Plugin (running sidecars like provisioner and attester)
AnswersA, D, E

Node plugins handle mounting and staging on individual nodes.

Why this answer

CSI architecture consists of external controllers (provisioner, attester, snapshotter, resizer) on control planes and CSI node plugins (node registrar, plugin daemonset) on worker nodes.

37
MCQeasy

What is the primary difference between PersistentVolumes (PVs) and PersistentVolumeClaims (PVCs)?

A.PVs represent actual cluster storage resources, while PVCs represent user requests for storage.
B.PVs only support block mode, while PVCs only support filesystem mode.
C.PVs are created by developers, while PVCs are created by cluster administrators.
D.PVs are namespace-scoped, while PVCs are cluster-scoped.
AnswerA

PVs are the storage pieces; PVCs are the claims/requests consumed by pods.

Why this answer

PVs are actual storage resources in the cluster provisioned by admins, whereas PVCs are requests for storage made by users.

38
MCQmedium

A cluster administrator wants to create a VolumeSnapshot of a database PVC. Which API group must the VolumeSnapshotClass belong to?

A.snapshot.storage.k8s.io
B.storage.k8s.io
C.csi.storage.k8s.io
D.volumesnapshot.openshift.io
AnswerA

VolumeSnapshot, VolumeSnapshotContent, and VolumeSnapshotClass all belong to snapshot.storage.k8s.io.

Why this answer

Volume snapshots are managed by the snapshot.storage.k8s.io API group.

39
MCQmedium

A developer wants to ensure that a pod's temporary storage does not exceed 2Gi and that the pod is terminated or throttled if it exceeds this limit. Where should this ephemeral storage limit be declared?

A.In the container's spec.resources.limits under 'ephemeral-storage'.
B.In the emptyDir volume specification under 'sizeLimit'.
C.In the StorageClass under 'parameters.ephemeralLimit'.
D.In the persistentVolumeClaim under 'spec.ephemeral'.
AnswerA

ephemeral-storage is a standard resource type alongside CPU and memory in container resource specs.

Why this answer

Ephemeral storage limits and requests are declared in the container's 'resources.limits' and 'resources.requests' definitions within the Pod specification.

40
Multi-Selectmedium

An administrator is configuring a new StorageClass in OpenShift Container Platform 4.14. Which TWO parameters or fields are valid and commonly used specifications within a StorageClass manifest? (Choose TWO)

Select 2 answers
A.podSecurityContext
B.nodeAffinityRules
C.reclaimPolicy
D.maximumSnapshotLimit
E.volumeBindingMode
AnswersC, E

Correct. reclaimPolicy determines whether dynamically created PVs are Deleted or Retained when their PVC is removed.

Why this answer

StorageClasses support fields such as provisioner, parameters, reclaimPolicy, volumeBindingMode, and allowVolumeExpansion. Among the choices, reclaimPolicy and volumeBindingMode are valid standard fields.

41
MCQmedium

A pod fails to start, and the event log shows a Multi-Attach error for volume 'pvc-xyz'. What is the root cause of this error?

A.A ReadWriteOnce volume is attempting to be attached to a second node while still attached to the first.
B.The PVC storage class has volumeBindingMode set to Immediate.
C.The storage backend has run out of physical disk capacity.
D.The CSI driver pod has crashed on the master node.
AnswerA

RWO block storage can only be attached to one node at a time.

Why this answer

A Multi-Attach error occurs when a volume with ReadWriteOnce access mode is already attached to one worker node and another node attempts to mount it simultaneously (often during pod rescheduling or rolling updates).

42
MCQeasy

Which YAML key in a StorageClass definition specifies the CSI plugin responsible for provisioning the storage?

A.storagePlugin
B.plugin
C.driverName
D.provisioner
AnswerD

provisioner defines the driver plugin name (e.g., ebs.csi.aws.com).

Why this answer

The 'provisioner' key in a StorageClass specifies the CSI driver or provisioner plugin name.

43
MCQhard

An administrator creates a StorageClass with volumeBindingMode: WaitForFirstConsumer. A user creates a PVC using this StorageClass. What will be the initial phase of the PVC?

A.Provisioning
B.Bound
C.Pending
D.Available
AnswerC

The PVC remains Pending because binding and provisioning are deferred until pod scheduling.

Why this answer

When using WaitForFirstConsumer, a newly created PVC remains in the Pending state until a pod referencing it is created and scheduled.

44
MCQhard

An administrator configures a Pod with a volume type of hostPath. What is a key security risk or operational limitation of using hostPath in a production multi-tenant OpenShift cluster?

A.Pods using hostPath can access node filesystems, breaking container isolation and posing security risks.
B.hostPath volumes automatically expire and delete data after 24 hours.
C.hostPath requires an external CSI driver to be installed.
D.hostPath is incompatible with Linux nodes and only works on Windows worker nodes.
AnswerA

hostPath bypasses container storage isolation, allowing direct access to the underlying node.

Why this answer

hostPath mounts node filesystem paths directly into containers, which can allow containerized workloads to read/write sensitive host files or compromise node security.

45
Multi-Selecthard

An administrator is troubleshooting a storage performance issue on an OpenShift cluster using Container Storage Interface (CSI) drivers. Which THREE actions or diagnostic commands are effective for investigating CSI driver health and provisioner issues? (Choose THREE)

Select 3 answers
A.Verify the CSI driver configuration by checking the CSIDriver and CSINode cluster resources.
B.Inspect events on the pending PersistentVolumeClaim using oc describe pvc <pvc-name>.
C.Modify the kubelet configuration file on control plane nodes to increase storage timeout values.
D.Run systemctl restart csi-driver on every worker node to force reconnection to the storage array.
E.Check the logs of the external CSI provisioner deployment running in the driver's namespace.
AnswersA, B, E

Correct. CSIDriver and CSINode objects define cluster-wide integration parameters and node attachment states for the CSI driver.

Why this answer

To troubleshoot CSI drivers, administrators should examine logs of the CSI provisioner and attacher pods, inspect StorageClass definitions, and check PersistentVolumeClaim events. Examining systemctl on nodes or editing container runtimes directly does not target CSI control plane logic.

46
MCQmedium

An OpenShift administrator needs to allow users to expand the storage capacity of existing PersistentVolumeClaims without restarting their applications. Which action must be taken first to enable this capability?

A.Restart the csi-provisioner controller deployment in the openshift-cluster-storage-operator namespace.
B.Edit the StorageClass to set allowVolumeExpansion: true.
C.Add the expansion-enabled annotation directly to each active Pod object.
D.Convert all existing static PersistentVolumes into dynamically provisioned volumes.
AnswerB

Correct. StorageClasses must explicitly permit volume expansion before any PVC referencing them can be resized.

Why this answer

To allow PVC expansion, the associated StorageClass must have the allowVolumeExpansion field set to true.

47
MCQmedium

A cluster administrator needs to inspect the current bindings and capacities of all PersistentVolumes across the entire OpenShift cluster. Which CLI command should be used?

A.oc get pvc --all-namespaces
B.oc get pv
C.oc describe storage
D.oc get volume
AnswerB

oc get pv displays all PersistentVolumes cluster-wide.

Why this answer

'oc get pv' lists all PersistentVolumes cluster-wide.

48
Multi-Selecthard

Which THREE factors influence whether a pod requesting a storage volume can be successfully scheduled to a specific worker node when using topology-aware storage?

Select 3 answers
A.The cluster OAuth token expiration time
B.Volume accessibility constraints reported by the CSI driver
C.The number of container image layers in the pod spec
D.The volumeBindingMode set to WaitForFirstConsumer on the StorageClass
E.Node topology labels (such as failure-domain.beta.kubernetes.io/zone)
AnswersB, D, E

CSI drivers report which nodes can access specific volume topologies.

Why this answer

Topology-aware scheduling considers node topology labels, volume accessibility constraints, and availability zones matching the provisioned PV.

49
Multi-Selecthard

Which THREE parameters or fields are valid when configuring a StorageClass object in OpenShift 4.14+?

Select 3 answers
A.containerRuntime
B.provisioner
C.volumeBindingMode
D.nodeSelector
E.reclaimPolicy
AnswersB, C, E

provisioner specifies the CSI driver plugin.

Why this answer

Valid StorageClass fields include provisioner, reclaimPolicy, allowVolumeExpansion, and volumeBindingMode.

50
MCQhard

An administrator is configuring topology-aware storage provisioning. A StorageClass uses volumeBindingMode: WaitForFirstConsumer. When is the PersistentVolume actually created?

A.When the scheduler places the pod referencing the PVC onto a specific worker node.
B.When the PVC object is successfully created in the namespace.
C.When the user executes 'oc adm pv create'.
D.When the CSI driver operator starts up during cluster bootstrap.
AnswerA

PV provisioning is triggered immediately following successful pod scheduling.

Why this answer

When using WaitForFirstConsumer, the PV is created only after the pod requesting the PVC has been scheduled to a specific node, ensuring topology alignment.

51
MCQeasy

Which resource represents the physical or cloud storage provisioned in the cluster by an administrator, independent of any user namespace claims?

A.StorageClass
B.PersistentVolumeClaim
C.PodVolume
D.PersistentVolume
AnswerD

PVs are cluster-scoped storage resources.

Why this answer

A PersistentVolume (PV) represents the cluster-scoped storage resource.

52
Multi-Selectmedium

Which TWO of the following are valid volume modes supported by PersistentVolumes and PersistentVolumeClaims in OpenShift?

Select 2 answers
A.Object
B.Block
C.Database
D.Filesystem
E.Stream
AnswersB, D

Block mode presents the volume as a raw block device.

Why this answer

Kubernetes supports Filesystem and Block volume modes.

53
MCQhard

An application running in OpenShift requires scratch space that lives and dies strictly with the Pod lifecycle, but needs to be mounted from a high-performance cluster-managed storage backend rather than local ephemeral node storage. Which feature should an administrator configure?

A.HostPath volumes mapped to a local directory on the worker node
B.A standard dynamically provisioned PVC with reclaimPolicy set to Delete
C.emptyDir with medium: Memory
D.Generic ephemeral inline volumes via a volume template in the Pod specification
AnswerD

Correct. Generic ephemeral inline volumes allow you to define storage inline in the Pod spec, managing dynamic provisioning and deletion automatically alongside the Pod.

Why this answer

Generic ephemeral inline volumes allow users to specify a volume template inline within the Pod spec. This creates a dedicated PVC and PV lifecycle directly tied to the Pod lifecycle.

54
MCQeasy

Which field in a PersistentVolumeClaim specifies the minimum amount of storage space required by the workload?

A.spec.storageSize
B.spec.capacity.storage
C.spec.volumeSize
D.spec.resources.requests.storage
AnswerD

This is the standard path to define storage size requests in a PVC.

Why this answer

Storage requests are defined under spec.resources.requests.storage in a PVC.

55
MCQhard

An administrator needs to increase the size of an existing PVC bound to a gp3 storage class in an OpenShift cluster. What is the mandatory first step before editing the PVC spec?

A.Ensure allowVolumeExpansion: true is set on the corresponding StorageClass.
B.Manually update the underlying cloud provider disk size via the AWS console.
C.Delete the PV and recreate it with the new size.
D.Scale down all pods using the PVC to zero replicas.
AnswerA

Volume expansion will fail unless explicitly enabled on the StorageClass.

Why this answer

Before editing the PVC size, the StorageClass must have 'allowVolumeExpansion: true' configured. Otherwise, the volume expansion request will be rejected.

56
MCQeasy

Which object defines the parameters used by a storage provider to take snapshots of persistent volumes in OpenShift?

A.SnapshotterConfiguration
B.StorageClass
C.VolumeSnapshotContent
D.VolumeSnapshotClass
AnswerD

VolumeSnapshotClass is the snapshot counterpart to StorageClass.

Why this answer

A VolumeSnapshotClass defines the driver and parameters (such as deletion policy) for creating volume snapshots.

57
MCQeasy

Which command allows an administrator to view details, including events and current binding status, of a specific PersistentVolume named 'pv-data01'?

A.oc status pv-data01
B.oc get pv pv-data01 -o yaml
C.oc describe pv pv-data01
D.oc logs pv/pv-data01
AnswerC

oc describe provides comprehensive status and events for a PV.

Why this answer

The 'oc describe pv pv-data01' command displays detailed information and recent events for the PersistentVolume.

58
Multi-Selectmedium

Which TWO volume types are considered ephemeral storage patterns native to Kubernetes and OpenShift?

Select 2 answers
A.Generic ephemeral inline volumes
B.NFS network shares
C.PersistentVolumeClaim
D.emptyDir
E.AWS EBS volumes
AnswersA, D

Inline ephemeral volumes provision storage managed directly by the pod lifecycle.

Why this answer

emptyDir and generic ephemeral inline volumes provide ephemeral storage patterns tied to pod lifecycles.

59
MCQmedium

What happens to a PersistentVolume configured with reclaimPolicy: Delete when its corresponding PersistentVolumeClaim is deleted?

A.The PV object is deleted, but the underlying storage asset remains intact on the storage backend.
B.The underlying storage asset is automatically deleted from the storage backend.
C.The PV is automatically archived into an object storage bucket.
D.The PV status changes to Released and waits for administrator intervention.
AnswerB

Delete reclaim policy cleans up both the PV object and the physical storage backend asset.

Why this answer

When reclaimPolicy is Delete, deleting the PVC triggers the deletion of the underlying storage asset on the storage backend via the CSI driver.

60
MCQeasy

Which command is used to delete a PersistentVolumeClaim named 'my-app-pvc' in the current project?

A.oc remove pvc my-app-pvc
B.oc delete pvc my-app-pvc
C.oc destroy pvc my-app-pvc
D.oc prune pvc my-app-pvc
AnswerB

oc delete pvc cleanly removes the claim object.

Why this answer

The 'oc delete pvc my-app-pvc' command deletes the specified PVC.

61
MCQhard

An OpenShift cluster uses a CSI driver that supports volume cloning. A user wants to clone an existing PVC named 'data-pvc' into a new PVC named 'clone-pvc'. How should the dataSource be specified?

A.dataSource: { apiGroup: "snapshot.storage.k8s.io", kind: "VolumeSnapshot", name: "data-pvc" }
B.spec.cloneSource: "data-pvc"
C.dataSource: { apiGroup: "", kind: "PersistentVolumeClaim", name: "data-pvc" }
D.spec.volumeName: "data-pvc"
AnswerC

Referencing an existing PVC as the dataSource triggers volume cloning via the CSI driver.

Why this answer

To clone a PVC, the dataSource in the new PVC must reference the existing PVC name and kind 'PersistentVolumeClaim'.

62
Multi-Selecthard

Which THREE actions occur when a PersistentVolumeClaim with reclaimPolicy: Delete is deleted by a user?

Select 3 answers
A.The physical storage asset on the storage backend is deleted.
B.The associated PersistentVolume object is removed from the cluster.
C.The storage backend archives the data into an immutable snapshot.
D.The PV status changes to Released and remains indefinitely.
E.The PVC object is deleted from the namespace.
AnswersA, B, E

Delete policy triggers backend cleanup.

Why this answer

When reclaimPolicy is Delete, the PVC is removed, the PV object is deleted from Kubernetes API, and the physical storage asset is deleted on the backend storage.

63
MCQmedium

A developer needs to restore a previously captured VolumeSnapshot into a new PersistentVolumeClaim to revert application state. What key field must be specified in the new PVC definition to initiate the restore operation from the snapshot?

A.spec.dataSource referencing the VolumeSnapshot
B.metadata.annotations['snapshot.storage.kubernetes.io/restore']
C.spec.resources.requests.storage matching the exact snapshot block ID
D.spec.volumeName matching the UUID of the snapshot storage backend
AnswerA

Correct. Setting the dataSource to point to an existing VolumeSnapshot instructs the dynamic provisioner to provision the new PVC using the snapshot data.

Why this answer

To restore from a VolumeSnapshot, the dataSource or dataSourceRef field within the PVC spec must reference the target VolumeSnapshot object.

64
MCQmedium

A cluster administrator has deleted a PersistentVolumeClaim, but the underlying PersistentVolume still exists in the cluster with a Released status and its data remains intact on the storage backend. What is the most likely cause of this behavior?

A.The StorageClass associated with the PV has allowVolumeExpansion set to false.
B.The volume access mode was configured as ReadWriteMany instead of ReadWriteOnce.
C.The persistentVolumeReclaimPolicy of the PersistentVolume was set to Retain.
D.The PVC was protected by a finalizer that prevented immediate deletion.
AnswerC

Correct. A Retain reclaim policy prevents automatic deletion of the storage asset, leaving the PV in a Released state.

Why this answer

The persistentVolumeReclaimPolicy of the PersistentVolume was set to Retain. When a PVC is deleted, Retain policy transitions the PV to Released rather than deleting or recycling the underlying storage asset.

65
MCQmedium

A user creates a PVC, but the storage backend fails to provision the volume. Where can the administrator look to find detailed error messages emitted by the external provisioner controller?

A.Run 'oc adm diagnostics storage'.
B.Inspect the container image registry logs.
C.Review the logs of the CSI external provisioner controller pod in its management namespace.
D.Check /var/log/messages on the control plane nodes.
AnswerC

External provisioner controller logs show direct API communication and storage backend failure reasons.

Why this answer

Checking the logs of the external provisioner pod (usually running in openshift-storage or the respective CSI driver operator namespace) provides detailed API interaction and provisioning failure errors.

66
MCQeasy

Which OpenShift CLI command is used to display all PersistentVolumeClaims in the current project along with their bound PersistentVolumes and storage classes?

A.oc get pvc
B.oc get pv
C.oc get sc
D.oc describe volume
AnswerA

oc get pvc is the standard command for listing volume claims.

Why this answer

The 'oc get pvc' command lists all PVCs in the current namespace along with status, volume, and storage class details.

67
Multi-Selecthard

A cluster operator is reviewing the volume snapshot implementation in an OpenShift 4.14 environment. Which THREE components or resources are required to successfully perform and manage volume snapshots? (Choose THREE)

Select 3 answers
A.A CSI driver that implements snapshot/restore GRPC services
B.VolumeSnapshotClass
C.A default ClusterRoleBinding for system:authenticated users
D.VolumeSnapshot object
E.NetworkPolicy resources restricting snapshot traffic
AnswersA, B, D

Correct. The storage provider's CSI driver must natively support snapshot functionality to handle the underlying storage calls.

Why this answer

Volume snapshotting in OpenShift requires the VolumeSnapshotClass to define provisioning settings, the VolumeSnapshot CRD/object to request the snapshot, and the underlying CSI driver/controller supporting snapshot capabilities. StorageClasses and NetworkPolicies are separate concepts.

68
MCQmedium

A stateful application needs its PersistentVolume to be bound only after the pod requesting it is assigned to a specific worker node, to avoid topology mismatch issues. Which StorageClass parameter achieves this?

A.allowVolumeExpansion: true
B.volumeBindingMode: Immediate
C.bindingMode: Late
D.volumeBindingMode: WaitForFirstConsumer
AnswerD

This mode ensures topology-aware provisioning by waiting for pod scheduling.

Why this answer

Setting volumeBindingMode to WaitForFirstConsumer delays the binding and provisioning of a PersistentVolume until a pod using the PersistentVolumeClaim is created and scheduled.

69
MCQmedium

An administrator needs to set a default StorageClass for the entire OpenShift cluster so that PVCs without a storageClassName specified automatically use it. How is this configured?

A.By modifying the kube-controller-manager operator configuration.
B.By adding the annotation storageclass.kubernetes.io/is-default-class: "true" to the StorageClass object.
C.By naming the StorageClass 'default-sc' exactly.
D.By setting defaultStorageClass: true in the cluster-config ConfigMap.
AnswerB

This specific annotation tells the cluster dynamic provisioner which StorageClass is the default.

Why this answer

Annotating a StorageClass with 'storageclass.kubernetes.io/is-default-class: "true"' makes it the default storage class.

70
MCQmedium

A cluster administrator notices that a PVC stuck in the Pending state references a StorageClass with volumeBindingMode set to WaitForFirstConsumer. What action will cause the PVC to bind?

A.Delete the StorageClass and recreate it with Immediate binding mode.
B.Restart the kube-apiserver service on the control plane nodes.
C.Create and schedule a Pod that mounts the PVC.
D.Manually create a PV matching the exact size and labels of the PVC.
AnswerC

Scheduling a Pod triggers the scheduler to find a suitable topology and causes the PV to be provisioned and bound.

Why this answer

When volumeBindingMode is WaitForFirstConsumer, the PV is not provisioned or bound until a Pod referencing that PVC is scheduled onto a node.

71
MCQeasy

You need to provide temporary scratch space for a container that shares the pod's lifetime and is cleared when the pod is deleted. Which volume type should you configure in the Pod specification?

A.persistentVolumeClaim
B.hostPath
C.nfs
D.emptyDir
AnswerD

emptyDir provides ephemeral storage tied strictly to the lifecycle of the pod.

Why this answer

An emptyDir volume is created when a pod is assigned to a node, and exists as long as that pod is running on that node. It starts empty.

72
MCQhard

An administrator expands a PVC from 10Gi to 50Gi. The underlying cloud storage volume is successfully resized, but inside the running pod, 'df -h' still reports the size as 10Gi. What is the most likely reason?

A.The pod must be restarted to flush the Linux page cache.
B.The file system on the volume has not been expanded to occupy the new block storage capacity.
C.The StorageClass lacks the allowVolumeExpansion parameter.
D.PVC expansion is strictly read-only after creation and cannot be updated at the filesystem level.
AnswerB

Expanding block storage size does not automatically resize the file system unless supported and executed by the CSI node plugin or node stage/publish routines.

Why this answer

File system expansion (resizing the file system inside the block device to match the new volume size) requires either a CSI driver that supports automatic file system expansion or manual intervention.

Ready to test yourself?

Try a timed practice session using only Storage And Persistent Volumes questions.