Computer Management – Disk Management – Add new Volume – Error – “There is not enough space available on the disk(s) to complete this operation”

Background

Trying to add new storage, but ran into an error.

Steps Taken

  1. Launched Computer Management
  2. Access Disk Management
  3. Scanned Disk
  4. Tried to add new Volume

Error

Disk Management

There is not enough space available on the disk(s) to complete this operation

computerManagement.ThereIsNotEnoughSpaceAvailableOnTheDisk.05.20190423.0849PM.PNG

Remediation

Outline

  1. Launched Computer Management
  2. Rescan Disks
  3. Choose target disk
  4. Review Disk Size
    • Original Disk Size was 1200 GB
    • New Disk Size is 2500 GB
  5. Converted disk to GPT

 

ComputerManagement.ConvertToGPT.20190423.0914PM.PNG

AWS/S3 :- Error – “not authorized to perform: cloudfront:ListDistributions”

 

Background

Attempting to use S3 Browser to retrieve AWS/S3 resources, but getting the error listed in the Error Section.

Usage

S3 Browser

Upon registering AWS/S3 site and attempting to connect to registered site greeted with this prompt.

You are not allowed to get bucket list. Would you like to add an External Bucket?

Image

YouAreNotAllowedTogetBucketsList.2019019.1257PM.PNG

Error

S3 Browser

Access Denied/Is Not Authorized to perform Cloudfront:ListDistributions

Image

S3Browser.02.20190419.0103PM.PNG

Text

[W] [4/19/2019 21:12:09] Task failed (AccessDenied: User: arn:aws:iam::12817171829011:user/dadeniji is not authorized to perform: cloudfront:ListDistributions) TaskID: 236

 

TroubleShooting

Web Browser

Launched Web Browser accessed S3 Service.

Was able to review S3 buckets and folders via AWS Browser Console.

AWS/CLI

Download AWS/CLI

Downloaded AWS/CLI.

Installed AWS/CLI

Configure AWS/CLI

aws configure

Issue AWS/S3 Command

Issues AWS/S3, ls command :-


aws s3 ls

Error

Received error message.

Image

CLI.AccessDenied.01.20190419.0201PM.PNG


An error occurred (AccessDenied) when calling the ListBuckets operation : Access Denied.

 

Remediation

Please work with your AWS Administrators and have them grant your account S3 API Access.

GitHub – Private Repository – Collaboration

Background

Yesterday I was going over a SQL Server module with a family member.

Often I will send him an email and have him review further on his own.

GitHub

But, now with GitHub allowing private repositories even for free members, I can just go ahead and share that module with him.

Outline

  1. Launch Web Browser
  2. Sojourn to GitHub
  3. Search for users
    • Access the Search functionality
    • The URL is https://github.com/search
    • Please enter user information
      • Help for searching is available here
        • Searching Users
          Link
    • Search Results
      • Search Results are displayed based on Repositories
      • Please click the Users button to view persons
  4. Collaborate
    • Access Repository
      • Access the Repository you want to share
    • From the left Options panel, choose the Collaborators option
    • The Collaborators panel appears
      • In the Search by name entry box, enter his user, fullname, or email address
      • Click the send button
  5. Wait for invite to be responded to

 

ScreenShot

Search

web.search.20190418.0143PM

Collaborate

Collaborators – Search by username, full name, or email address

colloborate.20190418.0108PM.PNG

Collaborators – User Found

colloborate.20190418.0107PM.PNG

Collaborators – Invite Sent

colloborate.copyInviteLink.20190418.0109PM.PNG

Collaborators – Copy Invite Link

colloborate.requestSent.20190418.0109PM

Git World

Bro, even among family members, it is a git world!

 

References

  1. GitHub
    • Searching Users

AWS/EC2 – Adding Elastic Block Storage ( EBS )

Background

Wanted to quickly go over the process of adding Elastic Block Storage ( EBS ) to an EC2 Instance.

What is Elastic Block Storage

A quick definition is available here.

Amazon Elastic Block Store (Amazon EBS) provides persistent block storage volumes for use with Amazon EC2 instances in the AWS Cloud. Each Amazon EBS volume is automatically replicated within its Availability Zone to protect you from component failure, offering high availability and durability. Amazon EBS volumes offer the consistent and low-latency performance needed to run your workloads. With Amazon EBS, you can scale your usage up or down within minutes – all while paying a low price for only what you provision.

Amazon EBS is designed for application workloads that benefit from fine tuning for performance, cost and capacity. Typical use cases include Big Data analytics engines (like the Hadoop/HDFS ecosystem and Amazon EMR clusters), relational and NoSQL databases (like Microsoft SQL Server and MySQL or Cassandra and MongoDB), stream and log processing applications (like Kafka and Splunk), and data warehousing applications (like Vertica and Teradata).

Overview

  1. Logon to your AWS Console
  2. EC2 Instance
    • Access EC2 Instance page ( https://console.aws.amazon.com/ec2/v2/ –  Link )
    • On the left panel,  Access Instances
    • Search for host among list of EC2 Instances
    • Note Instance Information
      • Instance Name
      • Availability Zone
        • Ours is us-east-1c
  3. Storage
    • Access EC2 Page
    • On the left panel,  Access Elastic Block Storage ( EBS ) / Volumes
    • Volumes
      • The EBS Volumes are listed
      • Click on the “Create Volume” link
      • Fill out information on new storage
        • Volume Type
          • General Purpose SSD ( gp2)
        • Storage Size
          • For us we specified 1200 GB
        • Availability Zone
          • The zones is your current region are listed
          • We chose us-east-1c to match our targeted host’s zone
        • Tags
          • Please provide useful identifying tags
  4. Attach Instance to Host
    • Using Remote Desktop connect to host
    • Launch Computer Management
    • Access Storage / Disk Management
    • Scan Disks
    • Initialize Disk
    • Format Disk
    • Assign Drive Letter

 

ScreenShot

Instances

Instance – 01

Find Instance ( using Private IP Address )

management-integrationservices.20190416.0258PM.PNG

Elastic Block Storage ( EBS )

Elastic Block Storage – Volumes

List Volumes

ElasticBlockStorage.List.01.20190416.0228AM.PNG

 

Create Volume

Enter Volume Information

ElasticBlockStorage.CreateVolume.01.20190416.0301AM.PNG

Volume Create Successfully

ElasticBlockStorage.CreateVolume.02.successful.20190416.0302AM.PNG

Attach Volume

Attaching Volume

ElasticBlockStorage.AttachVolumes.01.20190416.0958AM.png

Host

Computer Management

Computer Management \ Storage \ Disk Management

Screen – 01

ComputerManagement.20190416.0235AM.PNG

 

Screen – 03

Disk Scanned

ComputerManagement.03.20190416.0308AM.PNG

Screen – 04

Prepare to Initialize Disk ..

ComputerManagement.04.InitializeDisk.20190416.0309AM.PNG

Screen – 05

Initialize Disk ..

ComputerManagement.05.InitializeDisk.20190416.0310AM.PNG

Screen – 06

Disk Initialized

ComputerManagement.Browse.01.20190416.0311AM.PNG

Screen – 08

New Simple Volume Wizard

ComputerManagement.SimpleVolumeWizard.01.0311AM.PNG

Screen – 08

New Simple Volume Wizard – Specify Volume Size

ComputerManagement.SimpleVolumeWizard.SpecifyVolumeSize.02.0312AM.PNG

Screen – 09

New Simple Volume Wizard – Assign Drive Letter or Path

ComputerManagement.SimpleVolumeWizard.AssignDriveLetter.01.0313AM.PNG

 

Screen – 09

New Simple Volume Wizard – Format Partition

ComputerManagement.SimpleVolumeWizard.FormatPartition.01.0315AM.PNG

Screen – 10

New Simple Volume Wizard – Completing the New Simple Volume Wizard

ComputerManagement.SimpleVolumeWizard.Completing.01.0315AM.PNG

SQL Server – Installation – v2019

Background

Needing to install MS SQL Server v2019 so that I can start evaluating it.

Artifacts

Please go here to download SQL Server 2019 :-

  1. Community Technology Preview ( CTP )
    • SQL Server 2019 – CTP
      • SQL Server 2019 CTP
        CTP

 

Installation

Outline

Install Steps

  1. Product Key
    • Choices are
      • Specify a Free Edition
      • Enter the Product Key
    • Accept default of Free Edition ( Evaluation )
  2. License Terms
    • Accept the License Terms
  3. Install Setup Files
    • The files that will be used for the setup are themselves installed
  4. Feature Selection
    • Please review features
    • And, select the features you want
      • Database Engine
        • We want the Database Engine
          • Please specify the drive and folder where the database engines files will be installed
          • By default the system drive ( C: ) will be targeted
  5. Instance Configuration
    • Choices
      • Choose Instance
        • Default
        • Named Instance
      • If a default instance is not already installed, consider accepting the default choice
      • Else, if another instance already exists, please specify a name to assign the instance you are installing
    • Our choice
      • We have a default instance installed on same box
      • We entered a new name
  6. Server Configuration
    • Choices
      • Review Services
        • Service Account Name
        • Startup Type
    • Our choice
      • We chose go with the default Service Account Names
  7. Database Configuration
    • TempDB
      • Data files
        • Drive and Folder to locate TempDB Data Files
        • Initial Size
        • File Growth
        • Based on number of CPU Cores
          • Choose # of TempDB files
      • Log Files
        • Drive and Folder to locate TempDB Log Files
  8. Analysis Services Configuration
    • Tab :- Server Configuration
      • Please add the accounts ( Active Directory and Local Accounts that should have access )
  9. Ready To Install
  10. Installation Progress
  11. Complete
    • Restart Computer
      • As there are pending file operations, please advance towards completing the install, gracefully exiting the Install application,  and restart your computer

Server Network Configuration

Post Installation and Computer Reboot Steps:

  1. Restarted Computer
  2. Launch Server Network Configuration
  3. Adjust Instance Network Configuration

Screenshots

Install Steps

Product Key

productKey.01.20190411.1126AM.PNG

License Terms

licenseTerms.01.20190411.1127AM.PNG

Install Setup Files

installSetupFiles.01.20190411.1127AM.PNG

Feature Selection

Initial

FeatureSelection.01.20190411.1128AM.PNG

Customize

FeatureSelection.02.20190411.1130AM.PNG

Instance Configuration

Initial

instanceConfiguration.01.20190411.1131AM.PNG

Revise

instanceConfiguration.02.20190411.1132AM.PNG

 

Server Configuration

Initial

serverConfiguration.01.20190411.1134AM.PNG

Revise

serverConfiguration.02.20190411.1136AM.PNG

Database Configuration

Initial

DatabaseEngineConfiguration.01.20190411.1137AM.PNG

Revise
Revise – Tab – TempDB

DatabaseEngineConfiguration.Tab.TempDBFiles.01.20190411.1138AM.PNG

Analysis Services Configuration

Revise

AnalysisServicesConfiguration.01.20190411.1140AM.PNG

Ready to Install

Installation Progress

installProgress.01.20190411.1146AM.PNG

Complete

Restart Computer

ComputerRestartRequired.01.20190411.1205PM.PNG

Complete
Complete.01.20190411.1206PM.PNG

Sql Server Configuration Manager

SQL Server Network Configuration

Protocols
Protocol – TCP/IP Properties

SQLServerConfigurationManager.01.20190412.0117PM.PNG

 

Summary

Considerations

  1. Upgrade Path
    • Edition – Evaluation
      • You can advance a previous version to v2019 only if the current version is Evaluation
  2. Post Upgrade
    • Review Services
      • Please stop and disable previous services
    • Amend Network Ports
      • Only one service can use a network port at a time
      • Review each serview and amend the Network Port it is using

 

Regular Expression – Tools

Background

Wanted to list a couple of products that one can use to quickly try our Regular Expressions against a text dataset.

Online Tools

Regular Expression Tester

  1. Dan’s Tools
    • Regex Testing
  2. gskinner
    • Regexr.com

 

In Depth

Dan’s Tools

Regex Testing

Outline

  1. Launch a web browser
  2. Sojourn to https://www.regextester.com/ ( Link )
  3. Paste Test String
  4. Paste Regular Expression
  5. Matches are auto-highlighted

 

Image

DanTools.RegularExpression.20190411.0920AM

 

gskinner

Regex Testing

Outline

  1. Launch a web browser
  2. Sojourn to https://www.regexr.com/ ( Link )
  3. Paste Test String
  4. Paste Regular Expression
  5. Matches are auto-highlighted

 

Image

 

regexr.com.20190411.0932PM

 

 

 

 

 

Powershell/Regular Expression :- Get Host’s IP Address

Background

Quick follow-up to our past attempts at using Regular Expression to parse data within a lithe PowerShell Script.

Regular Expression

Positive Look Behind

  1. Regular-Expressions.Info
    • Lookahead and Lookbehind Zero-Length Assertions
      • Web Link
        Link
      • The construct for positive lookbehind is (?<=text): a pair of parentheses, with the opening parenthesis followed by a question mark, “less than” symbol, and an equals sign.
    • Regular Expression Reference: Special Groups
      • Web Link
        Link
      • Matches at a position if the pattern inside the lookbehind can be matched ending at that position.
      • Insight
        regular-expressions.info.positive.lookbehind.20190411.0825AM

Code

Powershell

Outline

  1. Get results of running IPConfig
    • Run IPConfig
    • Capture output in local variable
  2. Prepare Regular Expression
    • Look for IP Address
      • IPv4 Address Only

Regular Expression


(?<=IPv4 Address(\. )*): (\w*).(\w*).(\w*).(\w*)

Actual Code


Set-StrictMode -version 2
 
[string] $regExpPattern=$null;
[string] $inputString=$null;
[int]    $iNumberofMatches=0;
[object] $objList =$null;
[object] $objRegEx =$null;
[string] $objType = $null;
[int]    $iElementID = 0;
[string] $log=$null;
[string] $regExpOption=$null;
[Boolean] $debug = $false;
#[Boolean] $debug = $true;

[string]$domainName = $null;
[array]$domainList = $null;
[int] $domainListNumberofEntries=0;
[string]$topLevelDomain = $null;
[string]$secondLevelDomain = $null;
    
        
# Regular Expression
# Look for IPV4, once found get periods
#   look for 4 digits
# (?<=IPv4 Address(. )*): (\w*).(\w*).(\w*).(\w*)
$regExpPattern= "(?<="
$regExpPattern+= "IPv4 Address" 
$regExpPattern+= "(\. )*";
$regExpPattern+= ")";

$regExpPattern+= ":";
$regExpPattern+= " ";
$regExpPattern+= "(\w*).(\w*).(\w*).(\w*)";

# Regular Expression Option
$regExpOption="IgnoreCase";

# Run IP Config
$inputString = ipconfig

if ($debug)
{

    Write-Host;
    Write-Host;

    $log = "Input is {0} " -f $inputString;

    Write-Host($log);
   
    $log = "==========================================================================="
    Write-Host($log);

    Write-Host;
    
    
}

$log = "[regex]::expression is {0} " -f $regExpPattern;
Write-Host($log);


$objList = ( [regex]::matches( `
                                  $inputString `
                                , $regExpPattern `
                                , $regExpOption`
                             ) `
            )
 
if ($objList)
{
 
    if ($debug)
    {
         
        $objType = $objList.GetType();
 
        $log = "[regex]::matches return type is {0} " -f $objType;
 
        Write-Host($log);
 
    }
 
     
    $iNumberofMatches = $objList.Count;
    
    if ($debug)
    {   
 
        $log = "Number of Matches is {0}" -f $iNumberofMatches;
 
        Write-Host($log);
        
    }       
 
    #$objList;
    
    if ($iNumberofMatches -gt 0)
    {
 
        ForEach ($obj in $objList)
        {

            $ipAddress = $obj.Value;
        
            $log = "IP Address is {0}"  -f $ipAddress;
         
            Write-Host($log);
        
        }   
    }
 
 
}
else
{

	Write-Host "==================="
	$inputString
	Write-Host "==================="

    Write-Host "$objList is null"
}

Output

regex.regAhead.20190411.0145PM