new1234.jpg

Archive

Posts Tagged ‘vCenter 6.0’

VMware: Updating vCenter Server Appliance 6.0 to Update 1

December 18th, 2015 3 comments

Current build VMware vCenter Server 6.0.0 2776510, vSphere client 6.0.0 2741530

 

Note: Supported upgrade paths to VCSA 6.0 U1 include from 5.1 U3 & 5.5.

While on the topic of upgrades, going from VCSA 6.0 to 6.0 U1 is quite simple. First, you’ll need a patch ISO, which can be found on here. You ‘ll notice there are two patch ISOs, FP and TP.

Download VCSA patch from here.

image


FP
is a full product patch for VC & PSC appliances only.

TP is third party patch spanning multiple products, such as VCSA, vCenter Windows, VUM, PSC appliance and windows.

 

To update/patch your vCenter 6.0 Appliance, please follow the below steps:

  1. Connect directly to vSphere host which running vCenter Appliance
  2. Take a snapshot of VCSA
  3. Connect downloaded ISO file to the VCSA VM
  4. Log in to the VCSA via SSH
  5. Run the following command
    To mount ISO and accept EULA:

software-packages stage –iso –acceptEulas

image

 

To stage ISO:

software-packages install –iso

image

 

To see  the staged content:

software-packages list –staged

image

 

To  install the staged rpms:

software-packages install –staged

image

 

shutdown reboot –r patching

image

 

Result

image

New buildnumber: VMware vCenter Server 6.0.0 3018523

 

More information: VMware

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: Toggling the vCenter Server Appliance 6.x default shell

December 18th, 2015 No comments

This article provides vSphere Administrators steps to toggle between default shells available on the vCentrer Server Appliance (vCSA). 

Currently, the vCSA is bundled with these supported shells:

  • Appliance Shell
  • BASH Shell
    Today I tried to upgrade vCenter Appliance 6.0.0 to Update 1, after runnning command “software-packages stage –iso –acceptEulas” I receiver message:

    -bash: software-packages: command not found

image

 

Switching the vCenter Server Appliance 6.x to Appliance Shell

 

  1. Log in to the vCenter Server Appliance via SSH.
  2. Run this command to change from using the BASH Shell to the Appliance Shell:

    chsh -s /bin/appliancesh root

  3. Log out from the BASH Shell and re-log in for this to take affect.

image

 

Result

After restart the SSH sessoin I was able to run commands in bash shell

image

 

More information: VMware

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: Increasing the disk space for the VMware vCenter Server Appliance in vSphere 6.0

November 20th, 2015 2 comments

Some months ago I installed 15 new vSphere 6.0 hosts with local flash disks. After installation I configured the VMware Syslog Service at the vCenter appliance. Few weeks later the vSphere web-client shows some warnings about disk usage

Problem

Filesystem /dev/mapperlog_vg_log usage 100%, mounted on /storage/logs

 
Use this command to verify which disk is experiencing disk space issues:

image

 

 

 

 

 

 

 

 

 

 

 

 

Solution

As you can see the the /storage/logs mount point is located at VMDK5

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Edit de vCenter appliance virtual hardware, select disk Hard disk 5 and increase the provisioned size, in my case from 10 to 20 GB

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Once the virtual disk has been increased, return to the SSH session and execute this command to automatically expand any logical volumes for which the physical volumes are increased:

vpxd_servicecfg storage lvm autogrow

 

image

 

 

 

 

When the grow operation is successful, you see output similar to:

VC_CFG_RESULT=0

 

Run this command to confirm that the virtual disk has been successfully grown:

df -h

image

 

 

 

 

 

 

 

 

 

More information: VMware

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: Error when uploading files to vCenter Server Appliance using WinSCP

September 15th, 2015 No comments

Last week I tried to download some logfiles with WinSCP from the customer vCenter 6.0 appliance but I couldn’t, I received this error message:
  

Host is not communicating for more than 15 seconds. If the problem repeats, try turning off 'Optimize connection buffer size'. 

 

Solution

When you copy files using WinSCP, part of the operation happens on the target Linux system. The default Appliance Shell cannot be the remote partner of WinSCP. You must enable the Bash shell on the appliance, as follows:

  1. Initiate an SSH connection to the vCenter Server Appliance.
  2. Provide the root user user name and password when prompted.
  3. Run this command to enable the Bash shell:
     
    shell.set --enable True
     
  4. Run this command to access the Bash shell:
     
    shell
  5. In the Bash shell, run this command to change the default shell to Bash:

    chsh -s /bin/bash root
     
  6. Use WinSCP to upload the certificate files to the vCenter Server Appliance.
  7. To return to the Appliance Shell, run this command:

    chsh -s /bin/appliancesh root

image[3]

More information: VMware

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: Configure new vSphere 6 host with PowerCLI

August 17th, 2015 2 comments

Last week I upgraded my original Configure vSphere 4 PowerCLI script I created in 2011 . When you run the script with PowerShell ICE or PowerCLI you have two options: 1. Configure a new vSphere 6 host. 2. Add the new configured host to vCenter Server. I’m still not a PowerCLI Pro so.. please comment if you have any tips or suggestions.

Benefits:

— When you use this script, the script is your vSphere configuration documentation
— You don’t need a license for Host Profiles or revert temporary to Evaluation Mode
— Fresh (new) host configuration takes ~10 minutes
— vSphere Host configuration standardization
— Easy add variables during deployment
— Easy GUI menu

 

Function:

Menu option: 1 – Configure new vSphere host

— Connect to the target ESXi Host
— Enter Maintenance mode
— Set Hostname and Domain name
— Configure DNS settings
— Configure NTP settings
— Configuring Simple Network Management Protocol (SNMP)
— Delete the default VM Network
— Configure vSwitch0 – Management / vMotion
— Configure vSwitch1 – Production Network
— Configure vSwitch2 – iSCSI
— Configure vSwitch3 – iSCSI
— Install Software iSCSI Initiator
— Configure iSCSI target address
— Configure iSCSI initiator name
— Enable iSCSI Initiator
— Rescan on all HBAs and Rescan for VMFS volumes
— Exit Maintenance Mode

Menu option: 2 – Configure new vSphere host to vCenter Server

— Connect vCenter server
— Add vSphere Host to vCenter server
— Re-balance Cluster

Menu option: 0 – Quit

 


Script upgraded for hardware setup:

Host

— Type: Dell PowerEdge R630
— Network: 6x 10 GB
— Storage: flash (2×8 GB)
— Memory: 256 GB
— CPU:  2x E5-2660 v3

Storage

— Dell Compellent SC4020 (iSCSI)

Network

— DellForce 10


Script:

#====================================================================#
#   SCRIPT:        VMP_Configure_new_vSphere6_Host_with_Menu.ps1     #
#   FUNCTION:      Configure fresh installed host                    #
#   CREATED:       05/07/2011                                        #
#   MODIFIED:      17/08/2015                                        #
#   OWNER:         S.Daems / VMpros.nl                               #
#   VERSION:       v.1.7                                             #
#====================================================================#
#   CHANGELOG:                                                       #
#                                                                    #
#   v.1.7                                                            #
#                                                                    #
#    - Script upgraded to vSphere 6.0                                #
#    -- Updated obsolete commands (vSphere 6 proof)                  #
#    - Install and configure 10GB iSCSI storage network              #
#    -- Configure iSCSI initiator                                    #
#    -- Configure iSCSI initator IQN name                            #
#    - Updated and configure SMNP                                    #
#    - Updated DNS settings                                          #
#    - Updated Custom Definitions field                              #
#    - Updated Network Configuration parameters                      #
#                                                                    #
#   USAGE:                                                           #
#                                                                    #
#    - Edit script in Windows PowerShell ISE / Notepad ++            #
#    - Add static values in "Custom Definitions" section             #
#    - Run script with Windows PowerShell ISE or PowerCLI 6.0        #                                                                    #
#    - Answer dynamic values during script                           #                                                                 #
#    - Enjoy!                                                        #
#                                                                    #
#                                                                    #
#   NOTE:                                                            #
#                                                                    #
#    - Run this script only on a empty vSphere 6 host                #
#    - Check if the correct pNIC's are configured for NIC Teaming    #
#    - This script is written with VMware vSphere PowerCLI 6.0       #
#                                                                    #
#                                                                    #
#====================================================================#
#   MENU                                                             #
#====================================================================#
do {
 
Write-Host "Please make your choice:" -foregroundcolor yellow
Write-Host " 1. Configure new vSphere host"
Write-Host " 2. Configure new vSphere host to vCenter Server"
Write-Host " 0. Quit"
Write-Host " "
$response = Read-Host "Select 0-2"
Write-Host " "
 
switch ($response)
{
1 {
#====================================================================#
#   HOST = CUSTOM DEFINITIONS                                        #
#====================================================================#
$ESX_host = read-host "Select ESXi host by DNS to connect"
$New_hostname = read-host "Select hostname to configure"
$New_domainname = "VMpros.lan"
$Root_user = "root"
$Root_password = "VMpros#2015!"
$DNS01 = "10.32.17.5"
$DNS02 = "10.32.17.6"
$VMK01 = read-host "Select iSCSI VMkernel 01 IP-address to configure"
$VMK02 = read-host "Select iSCSI VMkernel 02 IP-address to configure"
$VLAN01_label = "VMP-VLAN200"
$VLAN02_label = "VMP-VLAN300"
$VLAN03_label = "VMP-VLAN400"
$VLAN04_label = "VMP-VLAN500"
$VLAN05_label = "VMP-VLAN600"
$VLAN06_label = "VMP-VLAN700"
$VLAN01_id = "200"
$VLAN02_id = "300"
$VLAN03_id = "400"
$VLAN04_id = "500"
$VLAN05_id = "600"
$VLAN06_id = "700"
$iSCSI_sub = "255.255.255.0"
$iSCSI_target_A = "172.45.21.40"
$iSCSI_target_B = "172.45.22.40"
$vMotion_ip = read-host "Select vMotion VMkernel IP-address to configure"
$vMotion_sub = "255.255.255.0"
$NTP01 = "0.nl.pool.ntp.org"
$NTP02 = "1.nl.pool.ntp.org"
$MTU = "9000"
#
#
#
#====================================================================#
# ***LOAD PLUGINS***                                                 #
#====================================================================#
Add-PSSnapin vmware.vimautomation.core
#====================================================================#
#
#
#
#====================================================================#
Write-Host "-- vSphere Host-configuration starting..." -foregroundcolor yellow
#====================================================================#
Write-Host "-- Connect to the target ESXi Host" -foregroundcolor green
#====================================================================#
Set-PowerCLIConfiguration -invalidCertificateAction "ignore" -confirm:$false | out-null
Connect-VIServer "$ESX_host" -User "$Root_user" -Password "$Root_password" | out-null
Start-Sleep -Seconds 10
#--------------------------------------------------------------------#
Write-Host "-- Enter Maintenance mode" -foregroundcolor green | out-null
#--------------------------------------------------------------------#
Get-VMHost | Set-VMHost -State maintenance | out-null
#--------------------------------------------------------------------#
#
#
#
#====================================================================#
# ***CONFIGURE HOST SETTINGS***                                      #
#====================================================================#
Write-Host "-- Set Hostname and Domain name" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHostNetwork | Set-VMHostNetwork -DomainName $New_domainname -HostName $New_hostname | out-null
Start-Sleep -Seconds 10
#--------------------------------------------------------------------#
Write-Host "-- Configure DNS settings" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHostNetwork | Set-VMHostNetwork -DnsAddress "$DNS01" , "$DNS02" -SearchDomain "$New_domainname" | out-null
#--------------------------------------------------------------------#
Write-Host "-- Configure NTP settings" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHost | Add-VmHostNtpServer -NtpServer "$NTP01" , "$NTP02" | out-null
Get-VMHost | Get-VMHostFirewallException | where {$_.Name -eq "NTP client"} | Set-VMHostFirewallException -Enabled:$true | out-null
Get-VMHost | Get-VmHostService | Where-Object {$_.key -eq "ntpd"} | Start-VMHostService | out-null
Get-VMhost | Get-VmHostService | Where-Object {$_.key -eq "ntpd"} | Set-VMHostService -policy "automatic" | out-null
#--------------------------------------------------------------------#
Write-Host "-- Configuring Simple Network Management Protocol (SNMP)" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VMHostSNMP | Set-VMhostSnmp -ReadOnlyCommunity 'public' | out-null
Get-VMHostSnmp | Set-VMHostSnmp -Enabled:$true | out-null
#--------------------------------------------------------------------#
#
#
#
#====================================================================#
# ***CONFIGURE NETWORK SWITCHES***                                   #
#====================================================================#
Write-Host "-- Delete the default VM Network" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VirtualPortGroup -Name "VM Network" | Remove-VirtualPortGroup -Confirm:$false | out-null
#--------------------------------------------------------------------#
Write-Host "-- Configure vSwitch0 - Management / vMotion" -foregroundcolor green
#--------------------------------------------------------------------#
Get-VirtualSwitch -Name vSwitch0 | Set-VirtualSwitch -Nic vmnic0,vmnic7 -Confirm:$false | out-null
New-VMHostNetworkAdapter -PortGroup vMotion -VirtualSwitch vSwitch0 -IP "$vMotion_ip" -SubnetMask "$vMotion_sub" -vMotionEnabled:$true -Confirm:$false | out-null
Get-virtualportgroup -name vMotion | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive vmnic7 | out-null
Get-virtualportgroup -name vMotion | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicStandby vmnic0 | out-null
Get-virtualportgroup -name "Management Network" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicStandby vmnic7 | out-null
Get-virtualportgroup -name "Management Network" | Get-NicTeamingPolicy | Set-NicTeamingPolicy -MakeNicActive vmnic0 | out-null
#--------------------------------------------------------------------#
Write-Host "-- Configure vSwitch1 - Production Network" -foregroundcolor green
#--------------------------------------------------------------------#
New-VirtualSwitch -Name vSwitch1 -Nic vmnic4,vmnic6 -Confirm:$false | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "$VLAN01_label" -VLANID "$VLAN01_id" | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "$VLAN02_label" -VLANID "$VLAN02_id" | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "$VLAN03_label" -VLANID "$VLAN03_id" | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "$VLAN04_label" -VLANID "$VLAN04_id" | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "$VLAN05_label" -VLANID "$VLAN05_id" | out-null
Get-VirtualSwitch -Name vSwitch1 | New-VirtualPortGroup -Name "$VLAN06_label" -VLANID "$VLAN06_id" | out-null
#--------------------------------------------------------------------#
Write-Host "-- Configure vSwitch2 - iSCSI" -foregroundcolor green
#--------------------------------------------------------------------#
New-VirtualSwitch -Name vSwitch2 -Nic vmnic5 -MTU $MTU | out-null
New-VMHostNetworkAdapter -PortGroup "iSCSI01" -VirtualSwitch vSwitch2 -IP $VMK01 -SubnetMask "$iSCSI_sub" -MTU "$MTU" | out-null
#--------------------------------------------------------------------#
Write-Host "-- Configure vSwitch3 - iSCSI" -foregroundcolor green
#--------------------------------------------------------------------#
New-VirtualSwitch -Name vSwitch3 -Nic vmnic1 -MTU $MTU | out-null
New-VMHostNetworkAdapter -PortGroup "iSCSI02" -VirtualSwitch vSwitch3 -IP $VMK02 -SubnetMask "$iSCSI_sub" -MTU "$MTU" | out-null
#------------------------------------------------------------------
#
#
#
#=====================================================================#
# ***CONFIGURE STORAGE***                                             #
#=====================================================================#
Write-Host "-- Install Software iSCSI Initiator" -foregroundcolor green
#---------------------------------------------------------------------#
Get-VMHostStorage $ESX_host | Set-VMHostStorage -SoftwareIScsiEnabled $false | out-null
Start-Sleep -Seconds 15 
#---------------------------------------------------------------------#
Write-Host "-- Configure iSCSI target address" -foregroundcolor green
#---------------------------------------------------------------------#
$iSCSI_HBA = Get-VMHost | Get-VMHostHba | Where {$_.Type -eq "Iscsi"} | Where {$_.Model -eq "iSCSI Software Adapter"}
Get-VMHostHba "$iSCSI_HBA" | New-IScsiHbaTarget -Address "$iSCSI_target_A" | out-null
Get-VMHostHba "$iSCSI_HBA" | New-IScsiHbaTarget -Address "$iSCSI_target_B" | out-null
#---------------------------------------------------------------------#
Write-Host "-- Configure iSCSI initiator name" -foregroundcolor green
#---------------------------------------------------------------------#
Get-VMHost | Get-VMHostHba | Where {$_.Type -eq "Iscsi"} | Where {$_.Model -eq "iSCSI Software Adapter"} | Set-VMHostHba -IScsiName "iqn.1998-01.com.vmware$ESX_host" | out-null
#---------------------------------------------------------------------#
Write-Host "-- Enable iSCSI Initiator" -foregroundcolor green
#---------------------------------------------------------------------#
Get-VMHostStorage $ESX_host | Set-VMHostStorage -SoftwareIScsiEnabled $True | out-null
#---------------------------------------------------------------------#
Write-Host "-- Rescan on all HBAs and Rescan for VMFS volumes" -foregroundcolor green
#---------------------------------------------------------------------#
Get-VMHostStorage -VMHost $ESX_host -RescanAllHba | out-null
Get-VMHostStorage -VMHost $ESX_host -RescanVmfs | out-null
#---------------------------------------------------------------------#
#
#
#
#=====================================================================#
# ***FINISHING CONFIGURATION***                                       #
#=====================================================================#
Write-Host "-- Exit Maintenance Mode" -foregroundcolor green
#---------------------------------------------------------------------#
Get-VMHost | Set-VMHost -State connected | out-null
#---------------------------------------------------------------------#
#
#
#
Write-Host "vSphere Host-configuration has finished.." -foregroundcolor yellow
break;
}
2 {
#====================================================================#
#   vCenter - CUSTOM DEFINITIONS                                     #
#====================================================================#
$vCenter_server = read-host "Select vCenter server to connect"
$vCenter_administrator = read-host "Select vCenter Administrator"
$vCenter_password = read-host "Select vCenter Administrator password"
$vCenter_cluster = read-host "Select Cluster to add host"
Write-Host "vSphere Host will be added in vCenter server..." -foregroundcolor Green
#====================================================================#
Write-Host "Connect to the target vCenter server" -foregroundcolor green
#====================================================================#
Connect-VIServer "$vCenter_server" -User "$vCenter_administrator" -Password "$vCenter_password"
#====================================================================#
Add-VMHost $ESX_host -Force -Location (Get-Cluster "$vCenter_cluster") -User root -Password "$Root_password" | out-null
#====================================================================#
#
#
#
#====================================================================#
# ***FINISHING CONFIGURATION***                                      #
#====================================================================#
Write-Host "Re-balance VMs in cluster using DRS" -foregroundcolor green
#====================================================================#
Get-DrsRecommendation -Cluster (Get-Cluster "$vCenter_cluster") -Refresh | out-null
#====================================================================#
#
#
#
Write-Host "Host is added to vCenter Server.." -foregroundcolor yellow
break;
}
}
 
}
while ($response -ne "0")

 

 

Script output:

image

 

 

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: There is a problem authentication into the legacy vCenter Server using credentials provided by the user

May 16th, 2015 1 comment

During upgrade VMware vCenter Server 5.5.0 (based on Windows 2012R2) to 6.0.0 I received a warning message:

Error: There is a problem authenticating into the legacy vCenter Server using the credentials provided by the user.

Resolution: Check if vCenter Server is up and running. Double check provided vCenter Server credentials

 
VMpros.nl

 
Some troubleshooting:

  • All VMware vCenter Server Services are started
  • No warnings/errors in Microsoft Event Logs during setup
  • I can logon at the vSphere webinterface with credentials administrator@vsphere.local
  • When configure wrong SSO password in setup the setup says "The vCenter Single Sign-On credentials are not valid. Check the username and password and try again"
  • I can ping domain controller VMpros.local
  • I canceled the setup and generated a support file, at the time I received the warning message this setup log was generated, so far, nothing special:

MSI (c) (40:88) [17:15:28:813]: Invoking remote custom action. DLL: C:\Users\ADMINI~1.VMP\AppData\Local\Temp\MSI7329.tmp, Entrypoint: LaunchUpgradeRunnerPreUpgradePhase
MSI (c) (40!C8) [08:23:44:055]: PROPERTY CHANGE: Modifying PreUpgradeComplete property. Its current value is ‘0’. Its new value: ‘1’.
MSI (c) (40:D0) [08:23:47:186]: PROPERTY CHANGE: Modifying SSO_PASSWORD property. Its current value is ‘**********’. Its new value: ‘**********’.
MSI (c) (40:D0) [08:23:47:267]: PROPERTY CHANGE: Modifying VC_5X_PASSWORD property. Its current value is ‘**********’. Its new value: ‘**********’.
MSI (c) (40:D0) [08:23:47:288]: PROPERTY CHANGE: Modifying PreUpgradeComplete property. Its current value is ‘1’. Its new value: ‘0’.
MSI (c) (40:D0) [08:23:47:305]: Doing action: VM_LaunchUpgradeRunnerPreUpgradePhaseAsync

 

Solution

Reboot the vCenter Server… I restarted the setup and the installation can continue.. weird!

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: Upgrade vCenter Server 5.5 to 6.0

March 29th, 2015 5 comments

Last week I upgraded VMware vCenter 5.5 server (based Windows 2012R2) at the company environment I work for, the upgrade was very simple.

Pre-install: Please check article “Minimum requirements for the VMware vCenter Server 6.x Appliance (2106572)

 
Installation process

clip_image002

– Select: Install

Read more…

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn

VMware: Install VMware vCenter Server 6.0.0

February 3rd, 2015 No comments

image

image

Read more…

sanderdaems

Sander Daems is founder and author of this blog and working as a Sr. Infrastructure Consultant by IT-Value. Sander has over 10 years experience in IT, primary focus: virtualization, storage and SBC

More Posts - Website

Follow Me:
TwitterLinkedIn