Category Archives: Uncategorized

Setup an L2TP/IPSEC VPN On Your Ubitquiti EdgeRouter

The planned follow up to the Ubiquiti UniFi AP deployment/RaspberryPi controller post about running an ELK stack on the controller is on hold; there are no preexisting binaries for the ARM platform and a successful compile from source has eluded me so far.  So instead we’re going to walk through setting up an L2TP/IPSEC VPN up on Ubiquiti’s EdgeRouter line of routers.  Ubiquiti has a good guide here that will get you 90% of the way there, but is missing a few key pieces of info.

Continue reading…

Deploying Ubiquiti UniFi APs with a RaspberryPi 2 Controller

I recently got fed up with the mediocre coverage and speeds of my home wireless network even after throwing DD-WRT on the pair of APs (Netgear and Linksys .11n) to eek out all the performance I could.  So I decided to take the plunge and go up market a bit with a couple APs from Ubiquiti Networks.

Ubiquiti UniFi APsI went with a pair of UAP (.11n) and UA-AC-LR (.11ac) units for a mix of coverage in light usage areas and better performance in high usage areas, along with a RaspberryPi 2 to act as the controller.    Since the UniFi APs are becoming more popular among home users, and I can’t be the only one wary of putting management functions in the cloud, I decided to document the setup process. Continue reading…

How to Install git on Centos 7

I found my self needing git to pull down scripts for ansible. Thus this is how to configure git on Centos 7.

 

  1. # yum install git -y
  2. git --version
  3. You should see a version like this. Install Done!

git version

 

  1. Next lets configure it!
  2. # git config --global user.name "Your Name"
  3. # git config –global user.email “[email protected]
  4.  # git config –list
  5. You should see the following, and we are done!

configgit

  1. Lets create a new location for our git repository
  2. mkdir /git
  3. cd /git
  4. git init
  5. now lets pull down a configure we want to use.
  6. the command git clone (URL) clones a entire repository down to your server or workstation.
  7. Enjoy!

 

Sources.

How To Install Git on CentOS 7 https://www.digitalocean.com/community/tutorials/how-to-install-git-on-centos-7

Using Git with Github. http://blog.scottlowe.org/2015/01/26/using-git-with-github/

A Non-Programmer’s Introduction to Git http://blog.scottlowe.org/2015/01/14/non-programmer-git-intro/

credit to Scott Lowe and Josh Barnett

 

 

 

Roger L

PowerCLI: Get VM disk usage per cluster

powercli

 

 

Today I was asked to gather a list of all VMs within a given cluster and report on their disk usage (all the VMs are thick provisioned) and currently do not have a tool to perform a seemly simple task. After some searching I have found many versions of this script around the internet but none that quite suited me needs. I have modified about 50% of the original script to suit my needs and added these features.

  • Prompts for vCenter hostname or IP
  • Requires user to select a cluster
  • Queries vCenter for list of cluster names (for use above)
  • Limits results to specified cluster
  • Prompts for output filename
  • Default saves to current user’s Documents folder
  • Prints location of filename
  • Auto launches file once complete

I should also mention that I am not a script writer. My abilities exist in finding, understanding (most of the time), and modifying existing Powershell scripts. I will be unable to assist with drastic modifications to any script.

Requirements: VMware PowerCLI, vCenter Credentials with appropriate permissions

How to run: Save below script to .ps1 format and run from PowerCLI. No need to modify anything to make compatible with your environment.

$vCenterName = Read-Host -Prompt ‘Enter vCenter hostname or IP’
Write-Host “Connecting…”
connect-viserver $vCenterName

$MyCollection = @()

get-cluster | select-object name
$ClusterName = Read-Host -Prompt ‘Enter Cluster Name (must be exact)’
$ClusterFilter = get-view -ViewType ClusterComputeResource -Property Name -Filter @{“Name” = $ClusterName } | select -ExpandProperty MoRef

$AllVMs = Get-View -ViewType VirtualMachine -SearchRoot $ClusterFilter | Where {-not $_.Config.Template}
$SortedVMs = $AllVMs | Select *, @{N=”NumDisks”;E={@($_.Guest.Disk.Length)}} | Sort-Object -Descending NumDisks

ForEach ($VM in $SortedVMs){
$Details = New-object PSObject
$Details | Add-Member -Name Name -Value $VM.name -Membertype NoteProperty
$DiskNum = 0
Foreach ($disk in $VM.Guest.Disk){
$Details | Add-Member -Name “Disk$($DiskNum)path” -MemberType NoteProperty -Value $Disk.DiskPath
$Details | Add-Member -Name “Disk$($DiskNum)Capacity(MB)” -MemberType NoteProperty -Value ([fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][math]::Round($disk.Capacity/ 1MB))
$Details | Add-Member -Name “Disk$($DiskNum)FreeSpace(MB)” -MemberType NoteProperty -Value ([math]::Round($disk.FreeSpace / 1MB))
$DiskNum++
}
$MyCollection += $Details
}

$OutputFileName = Read-Host ‘Enter filename including extension (.csv)’
$MyCollection | Export-Csv $env:USERPROFILE\Documents\$OutputFileName

Write-Host “File has been saved to” $env:USERPROFILE\Documents\$OutputFileName

explorer.exe $env:USERPROFILE\Documents\$OutputFileName

# Out-GridView, Export-Csv, ConvertTo-Html or ConvertTo-Xml can be used above instead

 


[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

How to Install and config Ansible on CentOS 7.

In preparation for my lab and openstack testing. I wanted to look at implementing a automation tool. I decided on ansible, as I haven’t used it, and I like a challenge. 🙂

What is ansible?

I turn to Wikipedia.

Ansible (software)

From Wikipedia, the free encyclopedia

 

Ansible, a free-software platform for configuring and managing computers, combines multi-node software deployment, ad hoc task execution, and configuration management.[fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][1] It manages nodes (which must have Python 2.4 or later installed on them) over SSH or over PowerShell.[2] Modules work over JSON and standard output and can be written in any programming language. The system uses YAML to express reusable descriptions of systems.[3]

Michael DeHaan, the author of the provisioning server application Cobbler and co-author of the Func framework for remote administration, developed the platform.[4] It is included as part of the Fedora distribution of Linux, owned by Red Hat Inc., and is also available for Red Hat Enterprise Linux, CentOS, and Scientific Linux via Extra Packages for Enterprise Linux (EPEL) as well as for other operating systems.[5] Ansible, Inc commercially supports and sponsors Ansible[6] On 16 October, 2015, Red Hat Inc. announced that it had signed a definitive agreement to acquire Ansible, Inc.[7][8]

The name “Ansible” references the fictional instantaneous hyperspace communication system (featured in Orson Scott Card‘s Ender’s Game,[9] and originally invented by Ursula K. Le Guin for her 1966 novel Rocannon’s World).”

 

 

After some research on how to install Ansible on Centos 7, I found this write up quite detailed.

 

Ansible is a free & open source Configuration and automation tool for UNIX like operating system. It is written in python and similar to Chef or Puppet but there is one difference and advantage of Ansible is that we don’t need to install any agent on the nodes. It uses SSH for making communication to its nodes.

In this article we will install and configure Ansible in CentOS 7 and will try to manage its two nodes.”

http://www.linuxtechi.com/install-and-use-ansible-in-centos-7/

 

So lets do it!

 

#1 will be putty term 1, #2 will be putty term 2.

 

  • First I like nano, #1 yum install nano -y
  • Connect with putty to the host #1
  • #1 rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
  • #1 yum install ansible -y
  • #1 ansible –version
  • #1 ssh-keygen

ssh gen

copyssh

  • #1 nano /etc/ansible/hosts
  • add this at the bottom. I am calling this openstack servers.

[openstackservers]

192.168.50.200

192.168.50.201

192.168.50.202

192.168.50.203

192.168.50.204

192.168.50.205

192.168.50.206

 

  • alt x to save, y enter.
  • #1 cat /etc/ansible/hosts

openstackservers

 

  • #1 ansible -m ping 'openstackservers'
  • pingpong

 

  • Sweet. Now let’s have some fun. First I like to watch my work. Lets logs our progress in a new putty session. once your connected lets create some new directories.
  • #2 mkdir /anisble/
  • #2 mkdir /anisble/logs
  • now lets go back to the first putty session. and do the following.
  • #1 anisble -m command -a “who” ‘openstackservers’ >> /anisble/logs.log
  • then lets go back to term 2
  • #2 tail -f /anisble/logs.log
  • This will allow us to see the results on term #2 without losing our commands on term #1. lets check for updates.
  • #1 anisble -m command -a “update -y” ‘openstackservers’ >> /anisble/logs.log
  • in term #2 you will see the following.

updates

 

We are all done! See future posts about way’s to use anisble.

 

Roger Lund[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Oracle Buys Ravello Systems

Big news to anyone following Ravello Systems. Revello has agreed to be acquired by Oracle.

 

from https://www.ravellosystems.com/blog/oracle-buys-ravello-systems/

I am thrilled to share that Ravello Systems has entered into an agreement to be acquired by Oracle. The proposed transaction is subject to customary closing conditions. Upon closing of the transaction, our team will join the Oracle Public Cloud (OPC) organization and our products will become part of Oracle Cloud. We believe this agreement will accelerate our ability to reach more customers, deliver more value, and enhance our technology at an accelerated pace in order to better serve you.

Thank you for your continued support. I want to emphasize that our top priority is ensuring an uninterrupted service and seamless experience for you and all of our customers and partners. Rest assured, Ravello’s service will continue “as is.” In the coming months, we will be working to continue enhancing our value to you and we are looking forward to developing new products and services enabled by this combination.

Oracle Cloud offers best-in-class services across a full suite of products in software as a service (SaaS), platform as a service (PaaS), and infrastructure as a service (IaaS). Ravello will join in Oracle’s IaaS mission to allow customers to run any type of workload in the cloud, accelerating Oracle’s ability to help customers quickly and simply move complex applications to the cloud without costly and time-consuming application rewrites.

Please do not hesitate to reach out to me or anyone at Ravello if you have any specific questions and corporate information can be found at http://www.oracle.com/ravellosystems.

Thank you,

Rami Tamir
CEO
Ravello Systems

Huge news indeed. I hope the entire team at Ravello the best of luck at Oracle

No news on how this will impact Revello’s support of VMware products on it’s cloud offering.

 

 

Roger Lund

Updating DNS, NTP, and Domain via PowerCLI

To start off with, I did not write this script but I have tested a modified version of it (removed NTP and Domain pieces) as I did not need to perform everything it does.

 


# PowerCLI Script to Configure DNS and NTP on ESXi Hosts
# PowerCLI Session must be connected to vCenter Server using Connect-VIServer

# Prompt for Primary and Alternate DNS Servers
$dnspri = read-host “Enter Primary DNS”
$dnsalt = read-host “Enter Alternate DNS”

# Prompt for Domain
$domainname = read-host “Enter Domain Name”

#Prompt for NTP Servers
$ntpone = read-host “Enter NTP Server One”
$ntptwo = read-host “Enter NTP Server Two”

$esxHosts = get-VMHost

foreach ($esx in $esxHosts) {

Write-Host “Configuring DNS and Domain Name on $esx” -ForegroundColor Green
Get-VMHostNetwork -VMHost $esx | Set-VMHostNetwork -DomainName $domainname -DNSAddress $dnspri , $dnsalt -Confirm:$false

Write-Host “Configuring NTP Servers on $esx” -ForegroundColor Green
Add-VMHostNTPServer -NtpServer $ntpone , $ntptwo -VMHost $esx -Confirm:$false

Write-Host “Configuring NTP Client Policy on $esx” -ForegroundColor Green
Get-VMHostService -VMHost $esx | where{$_.Key -eq “ntpd”} | Set-VMHostService -policy “on” -Confirm:$false

Write-Host “Restarting NTP Client on $esx” -ForegroundColor Green
Get-VMHostService -VMHost $esx | where{$_.Key -eq “ntpd”} | Restart-VMHostService -Confirm:$false

}
Write-Host “Done!” -ForegroundColor Green

Credit for this script goes to vHersey
Full article fond HERE

EMC and VMware Introduce Hyper-Converged VCE VXRAIL Appliance Family

index
333590
vmware
STORY HIGHLIGHTS
·         Delivers a jointly engineered, simple and proven turnkey VCE Appliance Family for use cases including small/midsize data centers and for enterprise departmental and edge environments
·         Incorporates software from EMC/VCE and VMware including VMware’s hyper-converged software
·         Starts small with a list price of $60,000 and scales to match a variety of workloads with a range of configurations including all-flash options with 2x more flash than any other hyper-converged infrastructure appliance
·         Seamlessly integrates with existing VMware ecosystem management solutions for streamlined deployment and management in VMware environments
·         Integrated VCE VxRail Manager for deep element management and monitoring along with a full suite of best-of-breed data services from EMC and VMware, including deduplication, compression, replication and backup
·         EMC cloud tiering to public clouds, such as Virtustream, VMware vCloud Air, Amazon Web Services and Microsoft Azure
·         Expands one of the industry’s most comprehensive and complete converged and hyper-converged portfolio, including VCE’s Vblock™, VxBlock™ and VxRack™ Systems, that uniquely cover every customer, every workload and every scale point with the ability to manage any combination of infrastructure centrally.