The Real-World Challenge
As a Commvault SME or backup admin, you will encounter situations where backup jobs fail or a media agent goes offline intermittently. Log analysis points to a network connectivity issue — but when you escalate to the network team, they say "everything is fine on our end" and refuse to investigate further.
🎯 Your Role as Backup SME
You cannot simply show Commvault log error messages to the network team — they need solid, tool-generated evidence. Your job is to run the right diagnostic tools, capture the output, and present it as proof that forces the network team to begin their own investigation. The tools below give you exactly that evidence.
Common Connectivity Issues in Commvault Environments
Port 8400 / 8403
Storage Target
Snapshot Handler
Application Data
Cloud Library Target
VM Snapshot Source
Connectivity problems can occur between any two Commvault entities. These include:
Common Root Causes of Network Issues
- Firewall blocking ports: Windows Defender Firewall or network firewall blocking Commvault ports 8400/8403
- NSG (Network Security Group) rules: For cloud-hosted agents, Azure/GCP/AWS NSG rules may block traffic
- MTU mismatch: One server using MTU 9000 (jumbo frames), another using MTU 1500 — causes TCP resets
- Degraded hardware: Failing NIC card, loose cable, faulty switch port, or degraded NIC firmware/drivers
- Intermittent TCP resets: Connection between two entities is being reset, causing media agent to go offline intermittently or backup jobs to go into pending state
- Wrong IP address: Human error — incorrect destination IP configured (seen in lab demo)
Toolkit Overview — All Network Diagnostic Tools
| Tool | Purpose | Platform | Use Case |
|---|---|---|---|
| Ping | Basic reachability check — packet loss, latency | Windows & Linux | First check — is the host even reachable? May be disabled (ICMP blocked) |
| Telnet | Port-level connectivity test | Windows & Linux | Verify ports 8400/8403 are open and reachable. May be blocked by security policy |
| CVPing | Commvault-native port connectivity test — wrapper of telnet | Windows & Linux | When telnet is blocked, use CVPing. Bundled with every Commvault agent install |
| Netstat | Verify local port is listening | Windows & Linux | Confirm port 8400 is actually in LISTENING state on the target machine |
| CV Network Test Tool | Measure network throughput (bandwidth) between two Commvault entities | Windows (GUI) & Linux (CLI) | Backup slowness investigation — prove bandwidth is insufficient to network team |
| Traceroute / Tracert | Show hop-by-hop routing path between two hosts | Linux (traceroute) & Windows (tracert) | Show network team how many hops between servers and where latency is introduced |
| Wireshark | Packet-level capture and analysis — find TCP resets and connection drops | Windows | Last resort when all other tools show "OK" but intermittent failures persist |
| TCPDump | Linux equivalent of Wireshark — command-line packet capture | Linux | Capture packets on Linux Media Agents, analyze offline using Wireshark |
Ping — Basic Reachability
The most common starting point. Use ping to verify basic IP connectivity between two Commvault entities. It also reveals packet loss and intermittent timeouts, which indicate dropped packets on the network path.
Ping relies on the ICMP protocol, which most enterprise customers disable on their firewalls and network devices for security reasons. If ping is blocked, do not assume connectivity is broken — move to CVPing or telnet which use TCP ports instead.
Netstat — Verify Port is Listening Locally
Before diagnosing external connectivity, always verify the Commvault service is actually listening on port 8400/8403 on the target machine. A port that isn't listening cannot be reached regardless of firewall settings.
CVPing — Commvault's Built-in Port Connectivity Tool
CVPing is a Commvault-provided binary that tests port-level TCP connectivity between two Commvault entities. It is the equivalent of telnet for port testing but is always available since it ships with every Commvault agent installation. Use it when telnet is blocked by security policy.
C:\Program Files\Commvault\ContentStore\Base\ on Windows, /opt/commvault/Base/ on Linux)
Base Folder
In the lab demo, CVPing failed even though services were running and Defender was off. Root cause: the destination IP was entered as 192.168.1.160 instead of the correct 192.168.1.110. Human error like this is extremely common. Always double-check the IP using ipconfig (Windows) or ip addr (Linux) on the destination machine before escalating.
Another quick option: right-click any client in the CommCell Console → Check Readiness. This internally performs a port connectivity check (8400/8403) from the CommServe to that client and displays a Pass/Fail result. It is a fast first-check before running manual CVPing.
If ports are blocked: (1) For Windows OS firewall — ask the OS/Windows team to open ports 8400 and 8403 as inbound rules in Windows Defender Firewall (or disable it temporarily with their consent). (2) For corporate/network firewall — raise a request with the network team to open those ports bidirectionally. (3) For cloud NSG (Azure/GCP/AWS) — ask the cloud team to add inbound rules for 8400 and 8403. Never take unilateral action on production firewalls without change management approval.
What is the CV Network Test Tool?
The CV Network Test Tool measures the actual network throughput (bandwidth in MB/s) between two Commvault entities. It is used when backups are running slowly and you suspect the network is the bottleneck. The results give you concrete data to show the network team.
cvnetworktesttool and run as Administrator.
GUI Available
./cvnetworktesttool from the Base folder. Case-sensitive filename.
CLI Only
One machine runs in Server Mode (listens on port 25000), the other runs in Client Mode (connects to the server IP). The tool sends data back and forth and calculates throughput in MB/s. Always run in both directions (A→B and B→A) to get a complete picture — throughput can differ by direction due to asymmetric routing or NIC duplex mismatch.
Listening on Port 25000
e.g., Media Agent
(or 8400 fallback)
Initiates throughput test
e.g., CommServe
Reverse direction test
Reverse direction
Running the Tool — Windows GUI
Base Folder → search for cvnetworktesttool → Right-click → Run as Administrator. In the tool, go to the Network Check tab (skip Lookup and Service Check tabs). Select Server Mode. Enter the Bind IP — this is the IP address of the current machine on the backup network interface. Click Start. The server is now listening on port 25000.
Base Folder → open cvnetworktesttool as Administrator. Network Check tab → Select Client Mode. Enter the Server IP (IP of the machine running in Server Mode — the Media Agent). Leave port as 25000 default. Click Run Test.
The tool displays the calculated throughput in MB/s. Run multiple iterations — do not rely on a single result. First iterations can be inaccurate (as seen in lab: first run showed 39 MB/s, second run showed the correct 156 MB/s). Take the consistent result across 2–3 runs as the actual throughput value.
Swap roles: CommServe in Server Mode, Media Agent in Client Mode. Run the test again. Compare results in both directions — they should be similar. If one direction is significantly slower, it points to a duplex mismatch or asymmetric routing issue on that path.
Network issues can be directional. Always test A→B and B→A separately. In the lab, throughput was consistent at 156 MB/s in both directions — but in production with NIC duplex mismatches or asymmetric QoS policies, you will see different values per direction. Both results should be shared with the network team.
Running the Tool — Linux CLI
Some customers only allow Commvault ports 8400 and 8403. Port 25000 will be blocked. Workaround: schedule a maintenance window, stop all Commvault services on both machines, then run the CV Network Test Tool using port 8400 (enter it manually instead of the default 25000). After the test, restart services on both machines. This is disruptive but necessary when 25000 is not permitted.
When to Use Wireshark / TCPDump
Use Wireshark (Windows) or TCPDump (Linux) only after exhausting all other tools. The scenario: ping works, CVPing works, CV Network Test Tool shows good throughput, traceroute looks clean — but backups still fail intermittently, or the media agent goes offline randomly. This is when you need packet-level capture to find TCP connection resets.
🔍 What to Look for in Wireshark Output
TCP Retransmissions: These are normal and expected. The network team will tell you to ignore these — they do not indicate a problem by themselves. TCP Connection Resets (RST flag): These are critical and must be investigated. Frequent TCP resets between two backup entities will cause jobs to go into pending state, media agents to go offline, or intermittent disconnections. This is the evidence you bring to the network team.
Common Causes of TCP Resets
Inspect colour-coded rows
Network team will say "ignore these"
NOT a problem indicator
Dark/black rows in Wireshark
Root cause of intermittent failures
Faulty cable / switch port · Outdated NIC drivers · QoS / ACL rules
- MTU mismatch: One server using jumbo frames (MTU 9000) while another uses standard (MTU 1500). The mismatch causes packets to be dropped or reset
- Degraded NIC hardware: Failing or degraded NIC card on a physical server — NIC firmware issues, hardware degradation
- Faulty cable or switch port: Physical layer issues causing intermittent frame errors
- Windows NIC driver issues: Outdated or corrupted NIC drivers causing reset behavior
- Router or switch configuration: QoS policies, ACLs, or routing table issues
In a real customer incident, the instructor ran Wireshark on a CommServe that was already running slowly (degraded hardware). Starting Wireshark further loaded the server, causing it to hang and require a reboot — creating an unexpected outage. Always: (1) schedule a downtime window before running Wireshark, (2) involve the Windows/OS team — let them run the tool, (3) stop Commvault services before starting capture if possible, (4) never run Wireshark alone on a production server without on-call support available.
Wireshark — Windows Procedure
Download Wireshark installer from wireshark.org. Install on both the CommServe and the Media Agent (or whichever two entities you are investigating). Run the installer wizard with default options — it also installs npcap drivers. A reboot may be requested — schedule accordingly. If machines have no internet, download on a jump server and copy the executable.
Right-click Wireshark → Run as Administrator. On the main screen, click the black dot icon to list network interfaces. Identify the interface where your backup IP is configured (e.g., Ethernet 0). Do NOT capture all interfaces — limit to the backup NIC only. To confirm the NIC name: Control Panel → Network Adapters → note the name matching your backup IP.
Click the interface to start packet capture. Simultaneously, generate traffic between the two machines — run a backup job, or trigger a package install from CommServe to Media Agent. This creates packets to capture. Start Wireshark on both machines at the same time so you have captures from both ends of the connection.
In the Wireshark filter bar, enter: ip.addr == 192.168.1.110 (replace with the destination machine's IP). This filters to show only traffic between the two machines. Scroll through the results — dark/black highlighted rows indicate issues. Look specifically for "TCP RST" (connection reset) entries. Retransmissions are acceptable; resets are not.
File → Save As → give a meaningful name (e.g., cs_to_ma110_backup_capture.pcap). Share the PCAP file with the network team or Commvault Technical Support if they request it. Commvault Support may ask for this file for offline analysis — they will not connect remotely for this step.
TCPDump — Linux Procedure
TCPDump generates .pcap files in the same format as Wireshark captures. You can open them in Wireshark for the same GUI analysis. Simply copy the .pcap file from the Linux machine (via WinSCP or SCP) to any Windows machine with Wireshark installed, then open it with File → Open. The offline analysis process is identical to live capture analysis.
When VSA Migration Is Needed
There are common scenarios requiring a VSA (Virtual Server Agent) proxy to be replaced: the existing server is being decommissioned, you are migrating from Windows to Linux access node to reduce licensing costs, the current VM is undersized and needs to be replaced with a larger one, or the OS needs upgrading to a newer certified version.
A common concern when decommissioning a VSA is: "What happens to the credentials stored on it?" The answer is — credentials are stored in the Commvault CommServe database, not on the VSA proxy. You can verify this in Control Panel → Credential Vault — all authentication credentials (cloud managed identities, service accounts, etc.) are stored in the central database. The VSA is just a compute proxy — it holds no sensitive configuration data that would be lost on decommission.
VSA Migration Steps — Command Center
Create the replacement VM in your cloud or on-premises environment. Verify the OS is in Commvault's supported list for the specific workload (e.g., for Azure VM backup: Windows Server 2019, Oracle Linux, Red Hat Linux). Check the System Requirements Guide in Commvault documentation for your version.
Ensure ports 8400 and 8403 are open bidirectionally. Port 22 (Linux) or 135/139/445 (Windows) must be open temporarily for push installation. For cloud VMs: add NSG/VPC/Security Group rules before attempting install. For cloud connectivity (e.g., Azure/GCP): ensure the VM has network access to the cloud management endpoints.
Check what packages are installed on the old VSA: CommCell Console → Client Computers → right-click old VSA → View Installed Software. Install exactly the same packages on the new VM via push install (Tools → Add/Remove Software → Install). For Azure VM backup: Media Agent + Virtual Server Agent + IntelliSnap + Storage Accelerator. For GCP VM backup: Virtual Server Agent + Storage Accelerator.
If Commvault Support has previously applied any registry keys, additional settings, or environment-specific customizations on the old VSA, replicate those on the new one. Check the old VSA's additional settings in CommCell Console → Client → Properties → Additional Settings. Copy all custom entries to the new VM.
Command Center → Protect → Virtualization → select the Hypervisor → Configuration → Edit. Uncheck the old VSA access node and add the new one. Click Save. The hypervisor is now using the new VSA for all backup and restore operations.
Trigger a manual backup job using the new VSA. Confirm it completes successfully. Monitor the Job Controller — if it runs as expected, the migration is complete. Keep the old VSA online for a few days as a rollback option. Only delete the old VSA from Commvault after confirming multiple successful backup cycles on the new node.
Do not immediately delete the old VSA from Commvault after the migration. Keep it available for at least a few days. If any unexpected issues arise with the new VSA, you can quickly revert by editing the hypervisor configuration and switching back. Once you confirm multiple successful backup cycles on the new VSA, it is safe to remove the old one.
Dual Interface / Backup Network Configuration
For environments with multiple network interfaces on the access node (e.g., one NIC for backup traffic, another for replication/auxiliary copy), you can configure which IP Commvault uses for which operation.
Cloud Coverage — Why GCP?
The majority of enterprise customers worldwide use one of three cloud providers: AWS, Azure, or Google Cloud Platform (GCP). Commvault has strong compatibility with all three. While each cloud has native backup tools, customers prefer Commvault because it provides:
- Unified reporting: A single dashboard for backups across on-premises, AWS, Azure, and GCP
- Cross-cloud restore: Restore a GCP VM to Azure or on-premises — not possible with native GCP tools
- Granular retention control: Define custom retention per workload, unlike GCP's preset options
- Enterprise compliance: Required by many regulatory frameworks to have third-party backup verification
GCP VM backup in Commvault is agentless — just like AWS EC2 and Azure VM backup. You do not install any Commvault agent inside the production VM. Instead, Commvault uses an external access node (VSA proxy) running in GCP to orchestrate snapshot-based backups via the GCP API. The production VM can run any OS — Linux, Windows, or otherwise.
High-Level Architecture
Command Center (Cloud Config)
Credential Vault (JSON keys stored here)
CommServe DB (job history, catalog)
No agent installed (agentless)
Customer workloads & data
Packages: VSA + Storage Accelerator
+ Cloud Apps (for object storage)
Orchestrates snapshots via GCP API
Nearline storage class
Same region as VMs
Backup data target
JSON key file auth
Used by Hypervisor config
JSON key file auth
Used by Cloud Library config
Ingress: 22 (temp — push install)
Egress: open by default
No Commvault agent
Agentless backup
VSA + Storage Accelerator packages
Deployed in GCP
Nearline storage class
Same region as VMs
Owner or custom role
Authenticates Commvault to GCP API
Command Center configuration
Job Controller & reporting
GCP uses different terminology than Azure and AWS. Project = Azure Subscription / AWS Account (billing unit). Instance = Virtual Machine. Bucket = Azure Blob Container / AWS S3 Bucket. Service Account = Azure Managed Identity / AWS IAM Role. Cloud Storage = Azure Blob Storage / AWS S3. VPC Firewall Rules = Azure NSG / AWS Security Groups.
Prerequisites Checklist — GCP VM Backup
GCP Free Trial & VM Creation
Google Cloud offers $300 free credit for 3 months for new accounts — more generous than Azure's limited $200. Payment details are required at signup, but Google charges a temporary ₹1000 (for Indian accounts) that is refunded when the account is closed. The account will not be auto-charged after trial ends — you must manually upgrade to a paid account.
GCP calls virtual machines "instances" — the term "VM instance" is used throughout the GCP console. Machine names must be in lowercase only (no uppercase letters allowed). When you click the SSH button on an instance in the GCP console, it opens a browser-based terminal directly connected to that VM — no separate SSH client or key pair setup required initially.
Creating VM Users (Linux — No Default Password)
GCP Linux VMs do not show a username/password creation screen during instance setup. You must create users manually after connecting via the browser console. The steps differ slightly between Ubuntu and Rocky Linux.
On the production VM, create test directories and files to simulate customer data. After backup and restore, verify these files still exist — this proves the backup captured the data correctly. Example: mkdir -p /usr/customer_data then create F1, F2, F3 files inside. After full VM restore, SSH into the restored VM and verify the directory and files are intact.
What is a GCP Service Account?
A GCP Service Account is the authentication mechanism for Commvault to interact with GCP APIs. It is equivalent to an Azure Managed Identity or AWS IAM Role. The service account is given specific permissions (roles), and Commvault authenticates using a JSON key file downloaded from that service account.
Assign Role (Owner / Custom)
Generate JSON Key
project_id, client_email
One-time download only!
Used by Command Center
Persists across VSA migrations
Bucket read/write · Resource cleanup
🔵 Owner Role (Highest Privileges)
- Full access to all resources in the GCP project
- Used for hypervisor (VM backup) configuration
- Simplest to configure — no custom role creation needed
- Not recommended for production — too broad
- Acceptable for lab/test environments
🟣 Custom Role (Least Privilege)
- Only the specific permissions Commvault needs
- Used for cloud library (storage admin for bucket operations)
- More secure — follows principle of least privilege
- Requires creating a custom role in GCP IAM
- Recommended for production environments
In the lab, two separate service accounts are created: (1) One with Owner role — used for configuring the GCP hypervisor (VM backup). (2) One with Storage Admin custom role — used for configuring the GCP Cloud Library (bucket access). You can use a single Owner service account for both, but creating separate accounts demonstrates best practices and how to customize permissions per use case.
System-assigned · No keys
Tenant ID + Subscription ID
Custom Role assignment
Access Key + Secret Key
Instance Profile (EC2)
ARN-based permissions
JSON key file download
Project-scoped permissions
Owner or Custom Role
Creating a Service Account and Downloading JSON Key
GCP Console → search for "Cloud Resource Manager API" → Enable. This API allows third-party tools like Commvault to interact with GCP project resources. Without it, the JSON key download may not work and Commvault will be unable to discover resources.
GCP Console → IAM & Admin → Service Accounts → Create Service Account. Provide a meaningful name (e.g., commvault-vm-backup or commvault-cloud-library). The Service Account ID is auto-generated — it becomes the email-like identifier (e.g., [email protected]).
During creation, or via IAM → Grant Access: for VM backup, assign the Owner role at project scope. For storage/library access, create a custom role with Storage Admin permissions (IAM → Roles → Create Role → filter by storage admin → add all storage permissions → save). Assign the custom role to the storage service account.
IAM → Service Accounts → click on the service account → Keys tab → Add Key → Create New Key → select JSON format → Create. A JSON file downloads immediately. Store it securely — it cannot be re-downloaded and grants access to your GCP project. This file is uploaded into Commvault as the authentication credential.
Once you close the download dialog, the JSON key cannot be downloaded again from GCP. If you lose it, you must generate a new key (Keys tab → Add Key → Create New Key). Treat the JSON file like a password — store it in a secure location (password manager, secrets vault). Anyone with this file can access your GCP project resources with the permissions granted to that service account.
What's Inside the JSON Key File
Create the GCP Cloud Storage Bucket
A GCP Cloud Storage bucket is the object storage container that Commvault uses as its cloud library. Backup data is written here by the access node via the Storage Accelerator package.
commvault-cloud-storage-prod). Cannot be changed after creation.
Must Be Globally Unique
Bucket Permissions — Critical Lesson
Storage Admin role here
Project-scope permissions
(not guaranteed)
(causes "Access denied")
from project level
Works by default
"storage.objects.list denied"
Must grant explicitly!
Enter Service Account email → Assign Storage Admin
Guaranteed to work — always do this!
A critical discovery from the lab: even if you create a service account at the project level and assign it the Storage Admin role, the GCP bucket will not automatically inherit those permissions. If you configure the cloud library in Commvault without explicitly granting the service account access to the bucket, you will get: "Access denied. storage.objects.list permission denied on resource." Fix: go to the bucket → Permissions → Grant Access → enter the service account email → assign the custom storage role. After this explicit grant, library configuration succeeds.
✅ Service Account Created at Project Level
- Service account has role assigned at project scope
- New buckets may or may not inherit — depends on GCP IAM inheritance settings
- Always verify bucket-level permissions explicitly
- For safety: always add service account to bucket permissions directly
✅ Explicit Bucket-Level Permission Grant
- Bucket → Permissions → Grant Access
- Enter service account email (the "principal")
- Assign the custom storage role (or Storage Admin)
- Guaranteed to work — explicit trumps inherited
Configure Cloud Library in Commvault Command Center
Command Center → Storage → Cloud → Add. Select Google Cloud as the cloud type. Give the library a meaningful name (e.g., gcplib).
Select the CommServe as the media agent (if it doubles as MA in lab), or select a dedicated media agent. In GCP VM backup lab, the access node acts as the data mover due to the Storage Accelerator package.
Authentication method: Service Account. Click the Credentials field → Add Credential → give a name → upload the JSON file (the storage admin service account JSON). Click Save. The credential is stored in the Commvault database — not on the access node.
Region: select the GCP region where the bucket was created (e.g., asia-south1). Storage Class: Nearline. Service Host: leave as default (storage.googleapis.com — same for all GCP public cloud). Bucket Name: copy from GCP Console exactly.
Click Save. If permissions are correct, the library is created successfully. If you see "Access denied" or "Failed to verify device" — go back to GCP Console and explicitly add the service account to the bucket's permissions as described above. After fixing permissions, retry.
GCP Snapshot Backup Process — Unique Differences vs Azure/AWS
GCP VM backup in Commvault works differently from Azure and AWS VM backups at the snapshot level. Understanding this difference is important for interviews and troubleshooting.
gx-backup-*)
lsblk
| Step | Azure / AWS / VMware | GCP (Google Cloud) |
|---|---|---|
| 1. Snapshot | Snapshot of VM disk created | Snapshot of VM disk created (naming: gx-backup-<jobid>) |
| 2. Mount | Snapshot is directly mounted on the VSA proxy | A new volume (disk) is created from the snapshot, then that volume is mounted on the VSA proxy |
| 3. Snapshot cleanup | Snapshot deleted after backup copy | Snapshot deleted as soon as the volume is created from it |
| 4. Read | VSA reads data from mounted snapshot | VSA reads data from the mounted volume (read-only) |
| 5. Data visible inside OS? | Visible via lsblk on proxy |
NOT visible inside proxy OS via lsblk — only visible in GCP Console as "Additional disk in use by access node" |
| 6. Cleanup | Snapshot deleted by Commvault after backup | Volume deleted by Commvault API request after backup completes |
Commvault-created snapshots in GCP follow the naming pattern: gx-backup-<jobid>. If you see a snapshot or disk in GCP Console with a name starting with gx-backup-, it was created by Commvault. The snapshot is created, then a disk/volume is generated from it. The temporary disk (same size as the production volume) is read-only mounted on the access node during backup. Once the backup job completes, Commvault deletes both the temporary disk and the original snapshot via GCP API. OpenStack also uses this same volume-from-snapshot method — it differs from Azure/AWS/VMware where the snapshot is mounted directly.
Configuring the GCP Hypervisor in Command Center
Command Center → Protect → Virtualization → Add Hypervisor → select Google Cloud Platform. Alternatively: Guided Setup → Virtualization → Google Cloud. Cloud hypervisor configuration is available only in Command Center — not in the Java CommCell Console.
Server Name: any user-defined name. Credentials: click Add → enter credential name → upload the JSON file for the hypervisor service account (owner role JSON, not the storage JSON). Click Save credential.
Select the GCP access node (Rocky Linux VM with VSA + Storage Accelerator installed). Click Next. If the configuration fails here with "access node not reachable" — check if the access node VM is powered on and if the IP has changed since the last startup. Update the client hostname/IP in CommCell Console → Client Properties if needed.
Browse by project or by VM name. Select the production VMs to protect (e.g., prod-vm). Remove the default "all unprotected VMs" content — only add the specific VMs you want to back up to avoid unintended VMs being included. Select the GCP storage plan.
GCP external IPs change when VMs are stopped and started (unless reserved/static IP is configured). If the access node shows "Not Ready" after restart — update the IP: CommCell Console → Client Computers → right-click access node → Properties → update IP/hostname to the new external IP → Submit. Run Check Readiness again to confirm connectivity.
If the hypervisor configuration fails or the access node shows issues, the primary log to check is CVD.log on the access node. This log captures all communication daemon events including connectivity errors, authentication failures, and configuration issues. It is the first log to check for any client-side connectivity problem.
Running Backup and Full VM Restore
VM Group → right-click → Backup → Full. Monitor in Job Controller. Watch GCP Console → Snapshots during backup — a gx-backup-* snapshot appears briefly, then a temporary disk is created from it. The snapshot is deleted. The temporary disk shows as "In use by access node" in GCP Console → Disks. Once backup completes, the temporary disk is also deleted.
Confirm backup completed successfully (Job Controller: Completed). Go to GCP Console → VM Instances → select prod-vm → Delete. Confirm deletion. The VM no longer exists in GCP. This simulates accidental deletion or disaster.
Command Center → Protect → Virtualization → VM Group → select the VM → Recovery Points → select the latest recovery point → Full Instance Restore. Choose In-Place. Select options: Power on after restore and Unconditionally overwrite. Submit restore job.
Monitor the restore job in the Job Controller. After completion, go to GCP Console → VM Instances — the VM reappears with its original name and configuration. Verify: SSH into the restored VM → check that the test files (F1, F2, F3 in /usr/customer_data/) still exist. This confirms the backup was complete and the restore was successful.
What is GCP Object Storage Backup?
In addition to backing up GCP VMs, Commvault can also back up the contents of GCP Cloud Storage buckets (object storage). This is useful when customers store critical application data or files in GCP buckets that need protection beyond what GCP's native versioning provides.
Objects / files / blobs
Any region in GCP
• VSA (VM backup)
• Storage Accelerator
• Cloud Apps (object storage)
Nearline storage class
Backup repository
Access Key Authentication — Important Scope Setting
A critical lab discovery: configuring object storage backup using Access Key + Secret Access Key initially failed with "credentials incorrect." The keys were valid, but GCP requires a default project to be associated with the access keys. This is done in GCP Console → Cloud Storage → Settings → Interoperability → define the default project for the user account. Once the project scope was defined, the same keys worked immediately. This is a non-obvious GCP requirement that is easy to miss.
Service Account Authentication — Object Storage
The preferred method. Uses a JSON file from a service account with Storage Admin permissions — the same approach as cloud library authentication.
Command Center → the access node client → three-dot menu → Add Software → search for Cloud Apps → Install. Monitor via install.log on the access node. After installation, confirm the access node shows "Ready" status. Log files to monitor: install.log and updateinfo.log on the access node.
GCP Console → IAM → Service Accounts → Create (e.g., gcp-storage-backup-sa). Assign Storage Admin role (or custom storage role). Download the JSON key file. This can be the same service account used for the cloud library, or a separate dedicated one.
GCP Console → Cloud Storage → Create Bucket (e.g., gcp-customer-data-bucket). Upload test files inside the bucket to simulate customer data. Verify the service account has permissions on this bucket (either inherited from project-level role, or explicitly granted at bucket level).
Command Center → Guided Setup → Object Storage → Google Cloud → Next. Select the backup plan (same GCP storage plan). Select the access node (where Cloud Apps is installed). Authentication: select Service Account → Upload JSON file → enter Project ID (found in GCP Console → Cloud Overview → Project ID). Click Next to validate credentials.
Browse the dropdown — it shows available buckets in the project. Select the production bucket. Click Finish. The object storage instance is now configured. Run a full backup, then delete the bucket to simulate data loss, then restore in-place to verify the bucket and its contents are recovered.
In the lab, a bucket was accidentally created in US-East-1 while the access node and other resources were in Asia-South-1 (Mumbai). The backup still succeeded — Commvault can access GCP buckets in any region from any access node, provided the service account has the correct permissions. However, cross-region access incurs GCP egress charges. Best practice: always create the production bucket in the same region as the access node to avoid egress costs.
Network Troubleshooting Best Practices
ipconfig / ip addr). Human IP entry errors are extremely common and will waste time escalating a non-existent network problem.
Verify IP First
tcpdump from the Commvault base folder. PCAP files grow very large — run from a partition with adequate free space (check with df -h first).
Avoid Base Folder
As a backup admin, your responsibility is to diagnose the connectivity issue and present evidence. It is the network team's responsibility to fix MTU mismatches, replace faulty hardware, update switch configurations, or resolve TCP reset issues. Use the tools to generate the proof, present it clearly, and formally escalate to the correct team. Do not attempt to modify network infrastructure yourself unless you own that domain.
GCP Backup Best Practices
commvault-vm-backup-sa, commvault-storage-sa. Makes IAM audits and team handovers much cleaner.
Meaningful Names
GCP $300 Free Trial — Maximize for Learning
☁ GCP Free Trial vs Other Clouds
GCP provides $300 of free credit for 3 months with no VM type restrictions — you can deploy any VM instance type including the larger ones needed for access nodes. By comparison, Azure provides $200 for 30 days with some resource limits, and AWS does not provide a general free credit for new accounts. For Commvault training and lab purposes, GCP's free trial is the most flexible option. The temporary ₹1000 (India) charged at signup is returned when the account is closed — no surprise charges occur after trial expiry unless you manually upgrade.
ipconfig directly on the media agent and compare to what was entered in CVPing. A single digit difference (e.g., 160 vs 110) produces the same timeout. Additionally check: (1) Corporate/network firewall between the two servers — NSG open does not mean the network firewall is open. Raise a firewall change request with the network team. (2) For cloud VMs with multiple IPs — ensure the backup IP is being used, not a management or storage IP. (3) Run netstat -enob | findstr 8400 on the media agent to confirm the port is actually in LISTENING state — services appearing "running" doesn't guarantee the port is bound../cvnetworktesttool from the base folder.lsblk or fdisk. Once the backup completes, Commvault deletes both the temporary disk and the original snapshot via GCP API. This extra volume-creation step is unique to GCP and OpenStack.