Tuesday, 16 April 2019

Tech Roundup - 14th April 2019

Stuff collated/new since Tech Roundup - 26th February 2019! With headings:
ActiveIQ, Cloud Data Services, FlexPod, Data Storage Industry, Microsoft, Nabox, NetApp, NetApp.io, NetApp Security, NetApp TRs, SolarWinds, TechONTAP Podcast, Veeam

ActiveIQ (NetApp)

NetApp Active IQ: Solving Today’s Problems and Uncovering Tomorrow’s Opportunities

Automate and Integrate Your Data with NetApp Active IQ APIs

The Power of Cloud in Accelerating Active IQ API Development

Active IQ Mobile App for iOS:

Active IQ Mobile App for Android:

Cloud Data Services - Video Clips (NetApp)

How to Create a Kubernetes Cluster with NetApp Kubernetes Service (3 min)

How NetApp Cloud Insights Gives You Visibility Into Your Complete Infrastructure (5 min)

Moving Your Data With Cloud Sync in Cloud Volumes for AWS (2 min)

Cloud Volumes Service for AWS (8 min)

FlexPod

FlexPod Datacenter for MEDITECH Deployment Guide (Healthcare Industry Solution)

FlexPod Datacenter for AI/ML with Cisco UCS C480 ML for Deep Learning Design Guide

Image: FlexPod Datacenter for AI/ML with Cisco UCS C480 ML for Deep Learning

Data Storage Industry - Analysis/Commentary/News

Data Strategy Not Working? Grab a Cloud or Two or Three

Data strategists: NetApp on its evolution as a data leader

The Japanese Calendar’s Y2K Moment

Video: NetApp’s Chris Lamborn Talks About Evolution of Cloud Computing

Data management giant Rubrik leaked a massive database of client data

Microsoft

Larger, more powerful Managed Disks for Azure Virtual Machines
“Microsoft released support for large disks, bringing 32TB and 64TB disks to Azure VMs.”

Nabox

NAbox is a packaged solution that provides NetApp metrics collection, archiving and graphing in the same virtual appliance.
It is designed to be easy to deploy and operate through a web interface.
It is based on the following products:
- Harvest (dashboards and data collection)
- Graphite (metrics database)
- Grafana (Web-UI for dashboards)

NetApp

VIDEO: Installation and Setup for NetApp Service Level Manager v1.2

StorageGRID Version 11.2
Highlights:
- Single sign-on (SSO) with SAML
- Cloud Storage Pools
- NAS Bridge v2.2 no longer to require FPVR
- S3 REST API enhancements (like POST object restore, GET bucket v2, better HEAD)
- UI improvements including:
-- Supports identity federation with Oracle Directory Server as an identity provider
- And more:
-- AutoSupport via HTTP and HTTPS
-- New management REST API v3

ONTAP Deploy 2.11 / ONTAP Select 9.5P1 (9.5.2112 Documentation)
“… not only do we now have the functionality of converting an Evaluation cluster to production cluster but the 2TB limit for the eval installation has been lifted!”
The maximum storage allocated by each node is the same as a production license (400TB!)

VIDEO: Using Service Levels to Meet Business Needs and Lower Costs in NetApp Cloud Volumes Service

VIDEO: Workload Optimization and Conformance Monitoring in NetApp Service Level Manager v1.2 RC1

7 Reasons why NetApp is Best for Flash

VIDEO: Welcome to the NetApp Interoperability Matrix Tool

Want it? Got It. Azure NetApp Files Now with SMB Support!

OneCollect 1.7
New:
- ONTAP PerfArchive Collection Support
- Link to View OneCollect jobs in Active IQ
- CLI data collection enhancements, including nSANity-like commands
- Watchdog enhancement to timeout hung commands

VIDEO: NetApp Active IQ OneCollect

Config Advisor 5.6
New:
- Additional ONTAP checks
- Link to View Config Advisor jobs in Active IQ
- Added the “Upload to AutoSupport” tab to manually upload jobs to send them to NetApp for analysis

XAI Podcast 001 - The Art Of Data Science For AI With Deepth Dinesan

Easily Manage Your Data Across a Multicloud Environment with Active IQ and Cloud Volumes ONTAP

HCI Stack Releases and Versions
Note: Login to view

VIDEO: Linux Databases for Azure NetApp Files

VIDEO: Linux Unstructured for Azure NetApp Files

NetApp.io (thePub)


Installing Trident for Kubernetes from a Private Registry

Soup-to-Nuts Ansible Module Testing

Deploying StorageGRID in a Kubernetes Cluster

NetApp Encrypted Credentials with Ansible Tower

Trident Adds Cloud Volumes Service for AWS to its Repertoire

Using Ansible Roles to Drive a Full DevOps Workspace Create and Refresh

Backup & Restore Trident etcd using etcdctl with ONTAP

Simplicity at its finest, Roles for Ansible ONTAP use

Tenant Data Isolation with Trident

Creating Vservers is Even Easier with Roles

NetApp Security

Achieve a Data-Centric Approach to Zero Trust with NetApp ONTAP

Is it possible to tune the NetApp Volume Encryption conversion process?

TR-4560i: NetApp Volume Encryption Performance Considerations

Technical FAQ: NetApp Volume Encryption

NetApp TRs

New/apparent since the last Tech Roundup! Also see here: NetApp TRs 4500 to 4999

TR-4768: NetApp HCI for Oracle

TR-4767: NetApp AFF A800 Performance with  Oracle RAC Database

TR-4766: NetApp E-Series and NVMe over Fabrics Support: Nonvolatile Memory Express over InfiniBand and RoCE on E-Series Systems

TR-4764: Nonvolatile Memory Express over InfiniBand and RoCE on E-Series Systems

TR-4763: Best Practices for Networking and Network Maintenance on NetApp SolidFire Storage Systems

TR-4757: SAP Applications on Microsoft Azure: Using NetApp Cloud Volumes ONTAP

TR-4755: BeeGFS with NetApp E-Series: Solution Deployment

TR-4753: FlexPod Datacenter for MEDITECH Deployment Guide: Healthcare Industry Solution

TR-4713: NetApp and PetaGene

TR-4712: NetApp SANtricity Management Security: Feature Details and Configuration Guide

TR-4705: NetApp MetroCluster: Solution Architecture and Design

TR-4689: MetroCluster IP: Solution Architecture and Design

Solarwinds

Permissions Analyzer for Active Directory
“Quickly See What Permissions a User Has and Why”

Zero to Hero - 12 Essential Tips for the Accidental DBA

Database Performance Analyzer

Solar-PuTTY

Tech ONTAP Podcast (+ Why is the Internet Broken)

New since the last Tech Roundup!

New White Paper! Media and Entertainment Workloads using NetApp ONTAP! #NAB2019

Episode 179: StorageGRID Webscale 11.2

Episode 180 - Cloud Volumes ONTAP Overview

Episode 181 - ONTAP Networking Deep Dive and Tips

Episode 182: NetApp on NetApp - FlexGroups and Active IQ

Episode 183: NetApp Kubernetes Service

Episode 184 – Don't Panic! It’s Only Cloud!

Episode 185 – Oracle on MAX Data

Veeam

Veeam Availability Solution for Cisco UCS

Veeam Backup for Microsoft Office 365: What’s new in version 3

Veeam Backup for Microsoft Office 365 3.0 Release Notes

NEW Veeam Backup & Replication Community Edition

Wednesday, 3 April 2019

Notes: MetroCluster Monitoring and Alerting (with Performance Reporting)

Focusing on a 4-Node Fabric Attached MetroCluster -

Image: MetroCluster FC Diagram

The main components of a Fabric MetroCluster are:

- 1) Storage Controllers/ONTAP Cluster
- 2) ATTO Bridges
- 3) Storage Shelves & Disks
- 4) Fabric Switches (usually Brocade)
- 5) Cluster Switches (if not switchless)
- 6) ISLs
- 7) MetroCluster Configuration
- 8) OnCommand Unified Manager
- 9) (Optional) Tiebreaker

Each component should be monitored, and alerts received if anything goes wrong.

Tools

- IMT
- Config Advisor
- AutoSupport/ActiveIQ
- OnCommand Unified Manager
- OnCommand Insight
- NetApp Harvest for Grafana
- Brocade Network Advisor (BNA) Pro+

Main Components

1) Storage Controllers/ONTAP Cluster

Check ONTAP Version, SP/BMC, shelf firmware, DQP, disk firmware.

storage aggregate show
storage failover show
storage failover show-giveback
upgrade-revert show
system health alert show
system health subsystem show
system health config show
system environment sensors show -state fault
(DIAG) debug vreport show

2) ATTO Bridges

storage bridge show
*provides information to OCUM

“While the management port on the 7500 and 7600 still is there in 9.5 and later we highly recommend inband monitoring and disabling the port.” (Q: How do you upgrade ATTOs then?)
How to change an ATTO FibreBridge to in-band management in 9.5 and later:
How to secure an ATTO FibreBridge in 9.5 and later:

3) Storage Shelves & Disks

storage shelf show -errors
disk show -pool Pool0
disk show -pool Pool1

4) Fabric Switches

storage switch show
*provides information to OCUM

Included with the Brocade switches that are ordered through NetApp:
- An Enterprise license bundle:
-- Fabric Vision - includes Fabric Watch and Advanced Performance
-- Monitoring
- Brocade Network Advisor Pro+ (which includes the capability for switches to send event messages to AutoSupport and can be used with any of the Brocade switches in your environment.)

5) Cluster Switches (if not switchless)

system cluster-switch show

6) ISLs

Use BNA Pro+

Tracking NVlog latency over FCVI:
set diag -confirmations off; statistics show -object fcvi -raw true -node local; set admin

Image: FCVI Write Latency with Grafana

Image: MetroCluster Dashboard in Grafana

7) MetroCluster Configuration

metrocluster check run
metrocluster check show
metrocluster show
metrocluster show -periodic-check-status
metrocluster node show
metrocluster interconnect mirror show

Q: cron jobs synchronized?
MetroCluster ConfigReplication failed - Job Schedules not replicated
https://kb.netapp.com/app/answers/answer_view/a_id/1014596/loc/en_US

NetApp recommends redundant networks for the cluster peering network. If the cluster peering network is unavailable, health monitor alerts and EMS messages are sent, and planned switchover is not possible until at least one link is restored.

The primary value of Automatic Unattended Switchover (AUSO) is to improve the HA capabilities of MetroCluster systems.

NVFAIL: Any database volume on ONTAP storage should have the nvfail parameter set to on. This setting protects the volume from a catastrophic failure of NVRAM journaling that puts data integrity in question. The nvfail parameter takes effect during startup. If NVRAM errors are detected, then there
might be uncommitted changes that have been lost, and the drive state might not match the database cache. ONTAP then sets volumes with an nvfail parameter of on to in-nvfailed-state. As a result, any database process attempting to access the data receives an I/O error, which leads to a protective crash or shutdown of the database.

system health alert definition show -subsystem MetroCluster
system health alert show -subsystem metroCluster

8) OnCommand Unified Manager

Unified Manager uses the information that is collected by the MetroCluster health monitors to gather information about the configuration and to collect events that are related to the components. The health monitors use SNMP to monitor the switches and bridges. For current MetroCluster versions in-band monitoring is available for bridges (7500N or later models) for configurations where SNMP is not desired.

9) (Optional) Tiebreaker

NetApp provides a fully supported capability, MetroCluster Tiebreaker software, which is installed at a third site with independent connections to each of the two clusters. The purpose of the Tiebreaker software is to monitor and to detect both individual site failures and intersite link failures. MetroCluster Tiebreaker software can raise an SNMP trap if a site disaster occurs. It operates in observer mode and can detect and send an alert if a disaster requiring switchover occurs. The switchover then can be issued manually by the administrator. Tiebreaker software can be configured to automatically issue the command for switchover if a disaster occurs.

ClusterLion is an advanced MetroCluster monitoring appliance that functions as a virtual third site. This approach allows MetroCluster to be safely deployed in a two-site configuration with fully automated switchover capability.

APPENDIX: CLI Commands

MetroCluster Modify

-auto-switchover-failure-domain
This parameter specifies configuration of the automatic switchover. Supported values are as follows:
auso-on-cluster-disaster - triggers an unplanned switchover if all nodes in a DR cluster are down (default)
auso-on-dr-group-disaster - triggers an unplanned switchover if both nodes of a DR group are down
auso-disabled - automatic switchover is disabled

-node-object-limit
If all the nodes in a DR group have this option enabled (the default state), then all the nodes in that DR group are protected from double failures.

-automatic-switchover-onfailure
This parameter is used to enable automatic switchover on failure on a node when it is disabled because of internal errors. All the nodes in MCC configuration must have this option enabled (the default state) to enable automatic switchover on failure.

MetroCluster Operation Show

APPENDIX: MetroCluster (FC) New Features in ONTAP 9.5

- Active storage virtual machines (SVMs) in a MetroCluster configuration can be used as sources with the SnapMirror SVM disaster recovery feature.

- Cluster update with OnCommand System Manager.

APPENDIX: Miscellaneous

“For most storage platforms, Utilization is CPU utilization.  For ONTAP, it’s a fancier hybrid metric that incorporates CPU utilization, back-to-back checkpoints, Kahuna domain utilization, and some other secret ONTAP sauce to provide a more accurate metric of controller performance headroom.
"Memory utilization might not be a meaningful metric in ONTAP.”

The old sysstat commands -x/-m/-M continue to be available, so these counters will be available (for Grafana/Harvest - https://community.netapp.com/t5/OnCommand-Storage-Management-Software-Discussions/NetApp-Harvest-1-4-1-released/td-p/142907):

node run local sysstat -x 1
node run local sysstat -m 1
node run local sysstat -M 1

References

ONTAP 9 Documentation Center (see ‘MetroCluster configuration’)

NetApp MetroCluster FC for ONTAP 9.5

Oracle on MetroCluster: Integrated Data Protection, Disaster Recovery, and High
Availability

NetApp MetroCluster: Solution Architecture and Design

ONTAP 9: MetroCluster Service and Expansion Guide

Tiebreaker Software 1.21 Installation and Configuration Guide

OnCommand Unified Manager

OnCommand Unified Manager: Documentation Resources

Tuesday, 26 February 2019

Tech Roundup - 26th February 2019

Stuff collated/new since Tech Roundup - 16th December 2018. With headings:
Cisco, Storage Industry News, NetApp, Veeam, Vmware, Miscellaneous

Cisco

Virtualized SAP HANA on FlexPod Datacenter
This architecture is based on and supports the following hardware and software components:
+ SAP HANA
- SAP Business Suite on HANA or SAP Business Warehouse on HANA
- S/4HANA or BW/4HANA
- SAP HANA single-host or multiple-host configurations
+ Operating System
- SUSE Linux Enterprise (SLES), SUSE Linux Enterprise for SAP (SLES for SAP)
- RedHat Enterprise Linux
+ Cisco UCS Server
- Bare Metal
- VMware
+ Network
- 40GbE end-to-end
- NFS for SAP HANA data access
- NFS or iSCSI for OS boot
+ Storage
- NetApp All Flash FAS

FlexPod Datacenter with Oracle RAC Databases on Cisco UCS and NetApp AFF A-Series (Oracle 12cR2 )CVD
This FlexPod Datacenter design is validated with following hardware and software components:
- NetApp AFF A700 Storage Systems and ONTAP 9.3
- Cisco Unified Computing System (Cisco UCS)
- Cisco UCS Chassis 5108
- Cisco UCS Blade Servers
- Cisco 6300 Series Fabric Interconnects
- Cisco Nexus 9000 series switches
- Cisco MDS 9100 Series Fabric Switches

FlexPod Datacenter with Microsoft SQL Server 2017 on Linux VM Running on VMware and Hyper-V:
This FlexPod Datacenter design is validated with following hardware and software components:
- NetApp AFF A300 and ONTAP 9.5
- NetApp SnapCenter 4.1.1 for VM Backup and Restore
- NetApp VSC 7.2.1 for Storage provisioning in VMware ESXi environment.
- Cisco UCS with UCS-FI-6332-16UP fabric interconnect, UCS B200 M5 servers, UCS VIC 1340 and UCS Manager 4.0 (1c)
- Cisco Nexus 93180YC Switch with NXOS 9.2(2)
- VMware vSphere 6.7U1
- Microsoft Windows Server 2016
- Microsoft SQL Server 2017 in Linux on ESXi as well as Hyper-v

The FlexPod with End-to-End NVMe white paper is available for customers and partners download:
The following innovative technologies are being delivered by the FlexPod with End-to-End NVMe converged infrastructure solution:
- Cisco UCS M5 servers with VIC 14xx for FC-NVMe
- Cisco UCS 4.0.2 with support for FC-NVMe
- Cisco MDS 9xxx FC SAN switches for FC-NVMe
- NetApp AFF storage controller with NVMe disks
- NetApp ONTAP 9.4 with support for FC-NVMe

Storage Industry News

Are You Prepared to Survive the Zombie (Botnet) Apocalypse?

A Look Back at 2018: It Is All About Buttoned-Up Data Analytics

NetApp

General News


It’s a Small, Small Data World: How NetApp FlexCache Makes It Smaller

MAX Data: Optimising Application Performance with SCM

Benefits of Native Cloud File Services for File Shares

Speed Up Your MySQL-Based Apps and Retain Customers With NetApp Cloud Volumes Service

MetroCluster IP Technical Updates:
TR-4689: MetroCluster IP Solution Architecture and Design
The MetroCluster IP switch technical guides have also been recently updated:
MetroCluster IP 40Gb Switch Technical
MetroCluster IP 100Gb Switch Technical

How Linux is Winning in the Azure Cloud for Tier One Workloads

IMPROVED version of Migration Guide for NetApp Import Utility for SnapCenter & VSC:
It can also be accessed through the ToolChest page here:

NetApp Trident v19.01:
*dag = Design and Architecture Guide

Creating a Unified Content Platform in the Cloud for Broadcasting

ONTAP AI: A Look Back at the Last 6 Months of Innovation

Introduction to NetApp MAX Data

Inside a Smart Campus: How a World-Class University Runs on Data

iSCSI Best Practices: Solutions to Real-World Deployment Challenges

Image: Jumbo frame MTU settings on VMkernel port, vSwitch, physical switches, and cluster-node ports

Bridging the CPU and GPU Universes

NetApp CSO 2019 Perspectives

Data Protection for Persistent Data Storage in Kubernetes Workloads

Hortonworks HDP 3.0 Certified on NetApp Cloud Volumes Service

NetApp PowerShell Toolkit 4.7 Released! (20th November 2018)

New Technical Reports (TRs)

TR-4749: NetApp for Epic Software: Solution Design

TR-4748: Build your Data Fabric: With NetApp HCI, ONTAP and Converged Infrastructure

TR-4747: SANtricity Snapshot Feature: Overview and Deployment Guide

TR-4746: SAP Applications on Microsoft Azure: Using Azure NetApp Files

TR-4744: Secure Hadoop using Apache Ranger with NetApp In-Place Analytics Module: Deployment Guide

TR-4741: NetApp Element Software Remote Replication: Feature Description and Deployment Guide

TR-4740: SMB 3.0 Multichannel: Accelerate SMB 3.0 Performance for Applications

TR-4739: IPv6 in Element Software: Configuration and Features of IPv6

TR-4738: Reconfiguring NetApp HCI Compute Interfaces

TR-4737: Automatic Load Balancing: NetApp SANtricity Feature Description and Implementation

TR-4736: SANtricity Web Services API: Built-In and Central Management Capabilities

TR-4733: SnapMirror Synchronous for ONTAP 9.5

TR-4731: HyTrust KeyControl Key Management in ONTAP 9.3 or Later: Integration Guide

New Technical Reports Internal (NetApp + Partner)

No direct link, find them in the NetApp Field Portal:

TR-4723i: NetApp E2800 Storage Array Performance Guide with SANtricity OS 11.50
TR-4728i: NetApp E5700 Hybrid Storage Array Performance Guide with SANtricity OS 11.50
TR-4729i: NetApp EF280 Storage Array Performance Guide with SANtricity OS 11.50
TR-4730i: NetApp EF570 Storage Array Performance Guide with SANtricity OS 11.50

TR-4750: NetApp HCI Manual Install H610C v1.4 - Existing HCI Cluster

TR-4751: NetApp HCI Manual Install H610C v1.4 - New HCI Cluster

TR-4752: NetApp HCI vSphere 6.5 to 6.7 Upgrade

New on the Tech ONTAP Podcast

Episode 178: SAN Overview and SAN Health

Episode 177: Data Science

Episode 176: NetApp Cloud Insights

Episode 175: Service Providers Using NetApp featuring Tierpoint

Episode 174: Veeam 9.5 Update 4

Episode 173: NetApp Advanced Technology Group

Episode 172: Scale Out Networking in ONTAP

Episode 171: Cloud Data Services with Nick Howell

Episode 170: Active IQ

KB.NetApp.com

Unable to connect to NetApp VSC for VMware Plug-in after changing vCenter IP address

NetApp University

NetApp HCI Technical Training:
Driving NetApp Sales: HCI Pre-Sales technical Training
NetApp HCI Fundamentals
Element Fundamentals

Veeam

Native snapshot integration for NetApp HCI and SolidFire

VMware

Best Practices for running VMware vSphere on NetApp ONTAP

Miscellaneous

Let’s Encrypt is a free, automated, and open Certificate Authority
FREE SSL Certificate Wizard

Tuesday, 12 February 2019

Prospecting for NetApp Verified Architectures

I’ve come across a few NetApp Verified Architectures in my time and thought they were pretty cool (similarly fabulous to Flexpod Design Guides.) But I’ve never seen a list of NVAs, and knowing that they are usually PDFs on https://www.netapp.com/us/media/ with the name nva-XXXX, or nva-XXXX-design, or nva-XXXX-deploy, I thought I’d try prospecting for them, using similar code to my NetApp Technical Report (TR) PowerShell Collector Script.

Full list of the NVAs discovered:

FlexPod Express with VMware vSphere 6.5 and FAS2600 (DEPLOY)

FlexPod Datacenter with Apprenda for PaaS (DESIGN)
Including Red Hat OpenStack 8, Docker Containers, NetApp Jenkins Plugin, and ONTAP 9

FlexPod Express with Microsoft Windows 2016 Hyper-V and FAS2600 (DEPLOY)

Converged Infrastructure Solution with NetApp E-Series and Splunk (DESIGN)

FlexPod Datacenter with Microsoft Applications and NetApp AFF A-Series (DESIGN)

FlexPod Datacenter with Microsoft Exchange 2016, SharePoint 2016, and NetApp AFF A300 (DEPLOY)

NetApp and Broadcom Modern SAN Cloud-Connected Flash Solution (DESIGN)
Oracle and SUSE NetApp Verified Architecture Design Edition

NetApp ONTAP AI, Powered by NVIDIA (DEPLOY)
Scalable AI Infrastructure for Real-World Deep Learning Use Cases: Deployment Guide

NetApp ONTAP AI, Powered by NVIDIA (DESIGN)
Scalable AI Infrastructure: Designing for Real-World Deep Learning Use Cases

VMware Private Cloud on NetApp HCI (DESIGN)

VMware Private Cloud on NetApp HCI (DESIGN)

FlexPod Express with VMware vSphere 6.7 and NetApp AFF A220 (DEPLOY)

Red Hat OpenShift Container Platform with NetApp HCI (DEPLOY)

Red Hat OpenShift Container Platform with NetApp HCI (DESIGN)

Red Hat OpenShift Container Platform with NetApp HCI (DESIGN)

FlexPod Express with Cisco UCS C-Series and AFF A220 Series (DESIGN)

NetApp and Broadcom Modern SAN Cloud-Connected Flash Solution (DESIGN)
Oracle and SUSE NetApp Verified Architecture Design Edition

NetApp and Broadcom Modern SAN Cloud-Connected Flash Solution (DESIGN)
MongoDB and SUSE NetApp Verified Architecture Design Edition

VMware Validated Design for NetApp HCI (DESIGN)
VVD 4.2 Architecture Design

VMware End-User Computing with NetApp HCI and NVIDIA GPUs (DESIGN)

FlexPod Express with VMware vSphere 6.7U1 and NetApp AFF A220 with Direct-Attached IP-Based Storage (DESIGN)

The Script Used to Prospect for NVAs:


[String]$DownloadFolder = "C:\NVAs\"
[String]$LogFilePath = "C:\NVAs\log.txt"
[Int]$RangeStart = 1000
[Int]$RangeEnd   = 1200
[System.Array]$Title = "","","",""

## Generic display function:
Function Wr{Param($P,$I="WHITE");Write-Host $P -ForegroundColor $I}

## Download the NVAs:
Import-Module BitsTransfer
For($i=$RangeStart; $i -le $RangeEnd; $i++){

  [String]$Title[1] = "nva-$i"
  [String]$Title[2] = "nva-$i-deploy"
  [String]$Title[3] = "nva-$i-design"
 
  For($t = 1;$t -le 3;$t++){
 
    [String]$WebUrl = ("https://www.netapp.com/us/media/" + $Title[$t] + ".pdf")
    [String]$SavePath = ($DownloadFolder + $Title[$t] + ".pdf")
   
    ## Get the header:
    $hdr = $NULL
    Try{$hdr = Invoke-WebRequest $WebUrl -Method Head}
    Catch{"Dead link: $WebUrl" | Out-File $LogFilePath -Append}
   
    ## If we have a header:
    If($hdr){
     
      ## Only download updated versions:
      $Download = $FALSE     
      If(Test-Path $SavePath){
        $SavedLRT = [DateTime]((Get-ChildItem $SavePath).LastWriteTime)
        $WebFileLRT = [DateTime]($hdr.headers."last-modified")
        If($WebFileLRT.Ticks -gt $SavedLRT.Ticks){
          [String]$OutputString = ("UPDATED: " + $Title[$t])
          $OutputString | Out-File $LogFilePath -Append
          Wr $OutputString GREEN
          $Download = $TRUE
        }else{
          [String]$OutputString = ("NO UPDATE: " + $Title[$t])
          Wr $OutputString
        }
      }else{
        [String]$OutputString = ("NEW D/LOAD: " + $Title[$t])
        $OutputString | Out-File $LogFilePath -Append
        Wr $OutputString GREEN
        $Download = $TRUE
      }
     
      ## Download:
      If($Download){
        Start-BitsTransfer -Source $WebUrl -Destination $SavePath
      }
     
    }else{
      Wr "DEAD LINK : $WebUrl"
    }
  }
}


Image: Discovery in Action