Welcome to TestSimulate

Pass Your Next Certification Exam Fast!

Everything you need to prepare, learn & pass your certification exam easily.

365 days free updates. First attempt guaranteed success.

RedHat Red Hat Certified Specialist in OpenShift Virtualization (EX316) Free Practice Test

Question 1
How do you connect a virtual machine to an iSCSI external storage volume using Multus?
Correct Answer:
See the Explanation.
Explanation:
1. Create a Multus NAD that connects to storage VLAN/network.
2. Attach this to the VM's spec as a second interface.
3. Inside VM:
o Install iSCSI initiator: yum install iscsi-initiator-utils
o Discover target: iscsiadm -m discovery -t sendtargets -p <target-ip>
o Login: iscsiadm -m node -T <target-name> -p <target-ip> --login
4. Confirm disk with lsblk.
Question 2
How do you view VM migration history for audit purposes?
Correct Answer:
See the Explanation.
Explanation:
1. List past migration
objects: oc get vmim --all-
namespaces
2. Describe each:
oc describe vmim <name>
3. View status.phase, source and target nodes.
4. Use oc get events for time-specific logs.
5. Useful for debugging or reporting.
Question 3
How do you force post-copy live migration for faster completion?
Correct Answer:
See the Explanation.
Explanation:
1. Edit or apply a MigrationPolicy with:
allowPostCopy: true
2. Ensure all involved nodes support post-copy mode.
3. Trigger migration using virtctl migrate.
4. Post-copy starts after some threshold, speeding up migration.
5. Monitor via oc get vmim.
Question 4
How do you manually assign a NodePort port number to avoid conflicts?
Correct Answer:
See the Explanation.
Explanation:
1. In your Service YAML, set the nodePort
explicitly: nodePort: 30444
2. Ensure the port is within OpenShift's NodePort range (default: 30000-32767).
3. Avoid overlapping ports across services.
4. Apply and test access externally.
5. Prevents port collision.
Question 5
How do you create a virtual machine using the CLI with a YAML manifest?
Correct Answer:
See the Explanation.
Explanation:
1. Create a vm.yaml
file: apiVersion:
kubevirt.io/v1
kind: VirtualMachine
metadata:
name: test-vm
namespace: default
spec:
running: true
template:
spec:
domain:
devices:
disks:
- name: rootdisk
disk:
bus: virtio
resources:
requests:
memory: 1Gi
volumes:
- name:
rootdisk
containerD
isk:
image: quay.io/containerdisks/fedora:latest
2. Apply with: oc apply -f vm.yaml
3. Check status: oc get vm test-vm
Question 6
How do you use a ReadOnlyMany PVC in a VM for shared reference data?
Correct Answer:
See the Explanation.
Explanation:
1. Ensure storage class supports ReadOnlyMany.
2. Create a PVC with accessModes: ReadOnlyMany
3. Mount inside VM YAML:
disks:
- name: shared
cdrom: {}
volumes:
- name: shared
persistentVolumeCla
im:
claimName: readonly-pvc
4. Start VM and mount disk as read-only.
5. Verify from OS that it is not writable.
Question 7
How do you detach a Multus interface from a VM safely?
Correct Answer:
See the Explanation.
Explanation:
1. Stop VM: virtctl stop <vm>
2. Edit VM spec to remove the multus network and bridge interface.
3. Apply change: oc apply -f vm.yaml
4. Start VM: virtctl start <vm>
5. Confirm with ip a that interface is removed.
Question 8
How do you clone an existing DataVolume into another for a new VM?
Correct Answer:
See the Explanation.
Explanation:
1. Use a clone DataVolume YAML:
spec:
source:
pvc:
name: source-dv
namespace: default
2. Apply the clone DV.
3. Wait for it to complete.
4. Reference the clone in a new VM.
5. Boot and verify identical contents.
Question 9
How do you prepare the OpenShift cluster for OVA imports using the virt-v2v toolset?
Correct Answer:
See the Explanation.
Explanation:
1. Ensure OpenShift Virtualization and CDI (Containerized Data Importer) are installed.
2. Create a namespace/project: oc new-project ova-import
3. Ensure access to virt-v2v container or CLI utility on the system performing the import.
4. Set up persistent storage and the required storage class.
5. Validate cluster status using: oc get hyperconverged -n openshift-cnv
Question 10
How do you create a backup VM from an existing snapshot?
Correct Answer:
See the Explanation.
Explanation:
1. Restore snapshot to a new VM (see Q6).
2. Modify the VM spec if needed (resources, labels).
3. Start the new VM: virtctl start <new-vm>
4. This backup VM can be tested independently.
5. Useful for point-in-time recovery testing.
Question 11
How do you protect VM snapshots from accidental deletion?
Correct Answer:
See the Explanation.
Explanation:
1. Annotate the snapshot:
oc annotate vmsnapshot <name> snapshot.kubevirt.io/protected=true
2. Enforce via RBAC or automation to check annotations.
3. Prevent deletion unless annotation is removed.
4. Useful in production or backup policies.
5. Combine with Velero for full protection.
Question 12
How do you cancel an ongoing VM migration?
Correct Answer:
See the Explanation.
Explanation:
1. List current migrations: oc get vmim
2. Delete the migration object:
oc delete vmim <migration-name>
3. The VM will continue to run on the original node.
4. Use oc get vmi to confirm no change.
5. Canceling is useful during capacity or network issues.
Question 13
How do you list all services enabled to start at boot on a VM?
Correct Answer:
See the Explanation.
Explanation:
1. Inside the VM, run:
systemctl list-unit-files --type=service | grep enabled
2. Shows services like sshd.service enabled.
3. Useful for auditing boot configuration.
4. Use systemctl is-enabled <service> for individual checks.
5. Helps in troubleshooting boot behavior.
Question 14
How do you ensure that nodes are capable of running virtual machines?
Correct Answer:
See the Explanation.
Explanation:
1. Run: oc get nodes -o json | jq '.items[].status.allocatable'
2. Check node labels: oc get node --show-labels | grep virtualization
3. Inspect CPU flags: oc debug node/<node> grep -E 'vmx|svm' /proc/cpuinfo
4. Check kernel modules: lsmod | grep kvm
5. Label nodes manually: oc label node <node> kubevirt.io/schedulable=true
Question 15
How do you simulate load balancing across VMs using an internal pod?
Correct Answer:
See the Explanation.
Explanation:
1. Deploy a test pod:
oc run tester --rm -it --image=alpine -- /bin/sh
2. Inside pod: apk add curl
3. Run: curl web-vm-svc multiple times
4. Confirm responses come from different VMs.
5. Load balancing is working.