new file, lots of edits

This commit is contained in:
greg-lindsay
2022-02-16 15:16:47 -08:00
parent a40f3abc47
commit 146ba68626
5 changed files with 1994 additions and 502 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -76,7 +76,7 @@ NIC requirements:
Networking support:
- External virtual switch to support outbound and inbound network communication (we will create this during the installation process)
| Minimum requirement | Branch Office / Small Enterprise | Large Enterprise |
| | Branch Office / Small Enterprise | Large Enterprise |
| -- | --- | --- |
| OS| Windows Server 2019*/2022 <br> Windows 10*/11 (Pro or Enterprise) with Hyper-V Support <br><br>* Windows 10 and Windows Server 2019 build 17763 or later | Same |
|NIC | 1 Gbps | 5 Gbps |
@ -87,234 +87,614 @@ Networking support:
## Steps to Set Up Microsoft Connected Cache
Summary of steps required to deploy Microsoft Connected Cache to your server:
1. Provide Microsoft with the Azure subscription you will use for Microsoft Connected Cache
2. Create the Microsoft Connected Cache Resource in Azure
3. Create a Microsoft Connected Cache Node
4. Edit Cache Node Information
5. Install Microsoft Connected Cache on a Server or VM
6. Verify Proper Functioning Microsoft Connected Cache Server
7. Common Issues
For questions regarding these instructions contact: **msconnectedcache@microsoft.com**
Provide Microsoft with the Azure Subscription ID
As part of the Microsoft Connected Cache preview onboarding process the Azure subscription ID will have been provided to Microsoft. Instructions to create a subscription id are here: https://aka.ms/MCC-Azure-Subscription
NOTE:
Please contact Microsoft and provide this information if you have not already. You will not be able to proceed if you skip this step.
Create the Microsoft Connected Cache Resource in Azure
The Microsoft Connected Cache Azure management portal is used to create and manage Microsoft Connected Cache nodes. An Azure Subscription ID is used to grant access to the preview and to create the Microsoft Connected Cache resource in Azure and Cache nodes.
Use the following link and log in to Azure
https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_ConnectedCache_EntHidden
1. [Provide Microsoft with the Azure subscription you will use for Microsoft
Connected Cache](#provide-microsoft-with-the-azure-subscription-id)
2. [Create the Microsoft Connected Cache Resource in
Azure](#create-the-microsoft-connected-cache-resource-in-azure)
3. [Create a Microsoft Connected Cache
Node](#create-a-microsoft-connected-cache-node-in-azure)
4. [Edit Cache Node Information](#edit-cache-node-information)
5. [Install Microsoft Connected Cache on a Server or
VM](#install-microsoft-connected-cache-on-windows)
6. [Verify Proper Functioning Microsoft Connected Cache
Server](#verify-proper-functioning-microsoft-connected-cache-server)
7. Review [common Issues](#_Common_Issues) if needed.
For any questions regarding these instructions contact:
[msconnectedcache@microsoft.com](mailto:msconnectedcache@microsoft.com)
## Provide Microsoft with the Azure Subscription ID
As part of the Microsoft Connected Cache preview onboarding process the Azure
subscription ID will have been provided to Microsoft. Instructions to create a
subscription id are here: <https://aka.ms/MCC-Azure-Subscription>
> [!IMPORTANT]
> [**contact Microsoft**](mailto:mccforenterprise@microsoft.com?subject=[MCC%20for%20Enterprise]%20Please%20add%20our%20Azure%20subscription%20to%20the%20allow%20list) and provide this information if you have not already. You will not be able to proceed if you skip this step.
**Please** [**contact
Microsoft**](mailto:mccforenterprise@microsoft.com?subject=[MCC%20for%20Enterprise]%20Please%20add%20our%20Azure%20subscription%20to%20the%20allow%20list)
**and provide this information if you have not already. You will not be able to
proceed if you skip this step.**
## Create the Microsoft Connected Cache Resource in Azure
The Microsoft Connected Cache Azure management portal is used to create and
manage Microsoft Connected Cache nodes. An Azure Subscription ID is used to
grant access to the preview and to create the Microsoft Connected Cache resource
in Azure and Cache nodes.
##### Use the following link and log in to Azure
<https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_ConnectedCache_EntHidden>
1. On the Azure Portal home page, Choose Create a resource
![eMCC emg02](images/emcc02.png)
2. Type "Microsoft Connected Cache" into the search box and be sure to hit the
Enter key to show search results.
**NOTE:**
**You will not see Microsoft Connected Cache in the drop down box, you need
to type it and press enter to see the result**
3. Select “Microsoft Connected Cache” and select “Create” on the next screen to
start the process of creating the Microsoft Connected Cache resource.
![eMCC emg03](images/emcc03.png)
![eMCC emg04](images/emcc04.png)
4. Fill in the required fields to create the Microsoft Connected Cache
resource.
- Choose the subscription provided to Microsoft.
- Azure resource groups are logical groups of resources. Create a new
resource group and choose a name for your resource group.
- Choose “(US) **West US**” for the location of the resource. This choice
will not impact Microsoft Connected Cache if the physical location is
not in the West US, it is just a limitation of the preview.
**NOTE:**
**Your MCC resource will not be created properly if you do not select
“(US) West US”**
- Choose a name for the Microsoft Connected Cache resource.
> [!NOTE]
> Your MCC resource must not contain the word “Microsoft” in it.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;![eMCC emg05](images/emcc05.png)
5. Once all the information has been entered, click on the “Review + Create”
button. Once validation is complete, click the “Create” button to start the
resource creation.
![eMCC emg06](images/emcc06.png)
### Error: Validation failed
- If you get a Validation failed error message on your portal, it is likely
because you selected the Location as US West 2 or another location.
- To bypass this error, navigate to the previous step and choose (US) West US.
![eMCC emg07](images/emcc07.png)
## Create a Microsoft Connected Cache Node in Azure
Creating a Microsoft Connected Cache node is a multi-step process and the first
step is to access the Microsoft Connected Cache private preview management
portal.
1. After the successful resource creation click on the "Go to resource".
2. Under Cache Node Management section on the leftmost panel, click on Cache
Nodes.
![eMCC emg08](images/emcc08.png)
3. On the Cache Nodes blade, click on the Create Cache Node button.
![eMCC emg09](images/emcc09.png)
4. Clicking the Create Cache Node button will open the Create Cache Node page,
Cache Node Name is the only field required for cache node creation.
| **Field Name** | **Expected Value** | **Description** |
|---------------------|--------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| **Cache Node Name** | Alphanumeric name that includes no spaces. | The name of the cache node. You may choose names based on location like Seattle-1. This name must be unique cannot be changed later. |
5. Enter the information for the Cache Node and click on the Create button.
![eMCC emg10](images/emcc09.5.png)
If there are errors, the form will provide guidance on how to correct the
errors.
Once the Microsoft Connected Cache Node has been created, the installer
instructions will be exposed. More details on the installer instructions will be
addressed later in this doc can be found at the [Install Connected
Cache](#install-microsoft-connected-cache-on-windows) section.
![eMCC emg02](images/emcc02.png)
![eMCC emg03](images/emcc03.png)
![eMCC emg04](images/emcc04.png)
![eMCC emg05](images/emcc05.png)
![eMCC emg06](images/emcc06.png)
![eMCC emg07](images/emcc07.png)
![eMCC emg08](images/emcc08.png)
![eMCC emg09](images/emcc09.png)
![eMCC emg10](images/emcc10.png)
### Edit Cache Node Information
Cache nodes can be deleted here by clicking the check box to the left of a Cache
Node Name and then clicking the delete toolbar item. Be aware that if a cache
node is deleted, there is no way to recover the cache node or any of the
information related to the cache node.
![eMCC emg11](images/emcc11.png)
## Install Microsoft Connected Cache on Windows
Installing Microsoft Connected Cache on your Windows machine is a
straightforward process. A PowerShell script performs the following tasks:
- Installs the Azure CLI
- Downloads, Installs, and Deploys EFLOW
- Enables Microsoft Update so EFLOW can stay up to date
- Creates a Virtual Machine
- Enables the firewall and opens ports 80 and 22 for inbound and outbound
traffic. Port 80 is used by Microsoft Connected Cache and port 22 is used
for SSH communications.
- Configures Connected Cache tuning settings.
- Creates the necessary *FREE* Azure resource - IoT Hub/IoT Edge.
- Deploys the Microsoft Connected Cache container to server.
### Running the installer
1. Download and unzip mccinstaller.zip from the create cache node page or cache
node configuration page which contains the necessary installation files
![eMCC emg12](images/emcc12.png)
![eMCC emg13](images/emcc13.png)
Files contained in the mccinstaller.zip file:
- installmcc.ps1 main installer file.
- installEflow.ps1 Installs the necessary prerequisites like the Linux VM,
IoT Edge runtime and Docker and makes necessary host OS settings to
optimization caching performance.
- resourceDeploymentForConnectedCache.ps1 Creates Azure cloud resources
required to support MCC control plane.
- mccdeployment.json Deployment manifest used by IoT Edge to deploy the MCC
container and configure settings on the container like cache drive(s)
location size(s).
- updatemcc.ps1 The update script used to upgrade MCC to a particular
version
- mccupdate.json Used as part of the update script
1. Open Windows PowerShell as administrator and navigate to the location of
these files
> [!NOTE]
> Ensure that Hyper-V is enabled on your device.
**Windows 10:** [Enable Hyper-V on Windows 10 \| Microsoft
Docs](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
**Windows Server:** [Install the Hyper-V role on Windows Server \| Microsoft
Docs](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/get-started/install-the-hyper-v-role-on-windows-server)
**DO NOT** use PowerShell ISE, PowerShell 6.x, or PowerShell 7.x. Only Windows
PowerShell version 5.x is supported.
### If you are installing MCC on a **local** Virtual Machine:
1. Enable Nested Virtualization
Set -VMProcessor -VMName **\<"VM name"\>** -ExposeVirtualizationExtensions
\$true
2. Enable Mac Spoofing
Get-VMNetworkAdapter -VMName **\<"VM name"\>**\| Set-VMNetworkAdapter
\-MacAddressSpoofing On
**Virtual Machine should be in the OFF state while enabling Nested Virtualization and Mac Spoofing**
3. Set the execution policy
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
**NOTE:**
**After setting the execution policy, you will see the following message.
Please select [A] Yes to all to proceed.**
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust.
Changing the execution policy might expose you to the security risks
described in the about_Execution_Policies help topic at
https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the
execution policy?
[Y] Yes **[A] Yes to All** [N] No [L] No to All [S] Suspend [?] Help
(default is "N"):
4. Copy the command from the portal and run it in Windows PowerShell
![eMCC emg13](images/emcc13.png)
**NOTE:**
**After running the command, and multiple times throughout the installation
process, you will receive the following notice. Please select [R] Run once
to proceed.**
Security warning
Run only scripts that you trust. While scripts from the internet can be
useful, this script can potentially harm your computer. If you trust this
script, use the Unblock-File cmdlet to allow the script to run without this
warning message. Do you want to run
C:\\Users\\mccinstaller\\Eflow\\installmcc.ps1?
[D] Do not run **[R] Run once** [S] Suspend [?] Help (default is "D"):
3. Choose whether you would like to create a new virtual switch or select an
existing one. Name your switch and select the Net Adapter to use for the
switch. A computer restart will be required if you are creating a new
switch.
**NOTE:**
**Restarting your computer after creating a switch is recommended. You will
notice network delays during installation if the computer has not been
restarted.**
**If you restarted your computer after creating a switch, start from Step 2
above and skip step 5.**
![eMCC emg14](images/emcc14.png)
4. Re-run the script after the restart. This time, select “No” when asked to
create a new switch. Enter the number corresponding to the switch you
previously created.
![eMCC emg15](images/emcc15.png)
5. Decide whether you would like to use dynamic or static address for the Eflow
VM
![eMCC emg16](images/emcc16.png)
**NOTE:**
**Choosing a dynamic IP address will allow your DHCP server to assign the IP
to the MCC. Every time the MCC restarts, there will be a new IP address
assigned.**
**We recommend using a static IP address so you do not have to change this
value in your management solution for every MCC restart.**
6. Choose where you would like to download, install, and store the virtual hard
disk for EFLOW. You will also be asked how much memory, storage, and cores
you would like to allocate for the VM. In this example, we chose the default
values for all prompts
7. Follow the Azure Device Login link and sign into the Azure Portal
![eMCC emg17](images/emcc17.png)
8. If this is your first MCC deployment, please select n so that we can
create a new IoT Hub. If you have already configured MCC before, we want to
group your MCCs in the same IoT Hub, select “y”.
1. You will be shown a list of existing IoT Hubs in your Azure
Subscription, enter the number corresponding to the IoT Hub to select
it. (You will likely have only 1 IoT Hub in your subscription, in which
case you want to enter “1”)
![eMCC emg18](images/emcc18.png)
![eMCC emg19](images/emcc19.png)
![eMCC emg20](images/emcc20.png)
![eMCC emg21](images/emcc21.png)
![eMCC emg22](images/emcc22.png)
![eMCC emg23](images/emcc23.png)
![eMCC emg24](images/emcc24.png)
![eMCC emg25](images/emcc25.png)
![eMCC emg26](images/emcc26.png)
![eMCC emg27](images/emcc27.png)
![eMCC emg28](images/emcc28.png)
![eMCC emg29](images/emcc29.png)
1. On the Azure Portal home page, Choose Create a resource
2. Type "Microsoft Connected Cache" into the search box and be sure to hit the Enter key to show search results.
NOTE:
You will not see Microsoft Connected Cache in the drop down box, you need to type it and press enter to see the result
3. Select “Microsoft Connected Cache” and select “Create” on the next screen to start the process of creating the Microsoft Connected Cache resource.
4. Fill in the required fields to create the Microsoft Connected Cache resource.
• Choose the subscription provided to Microsoft.
• Azure resource groups are logical groups of resources. Create a new resource group and choose a name for your resource group.
• Choose “(US) West US” for the location of the resource. This choice will not impact Microsoft Connected Cache if the physical location is not in the West US, it is just a limitation of the preview.
NOTE:
Your MCC resource will not be created properly if you do not select “(US) West US”
• Choose a name for the Microsoft Connected Cache resource. NOTE:
Your MCC resource must not contain the word “Microsoft” in it
5. Once all the information has been entered, click on the “Review + Create” button. Once validation is complete, click the “Create” button to start the resource creation.
Error: Validation failed
• If you get a Validation failed error message on your portal, it is likely because you selected the Location as US West 2 or another location.
• To bypass this error, navigate to the previous step and choose (US) West US.
Create a Microsoft Connected Cache Node in Azure
Creating a Microsoft Connected Cache node is a multi-step process and the first step is to access the Microsoft Connected Cache private preview management portal.
1. After the successful resource creation click on the "Go to resource".
2. Under Cache Node Management section on the leftmost panel, click on Cache Nodes.
3. On the Cache Nodes blade, click on the Create Cache Node button.
4. Clicking the Create Cache Node button will open the Create Cache Node page, Cache Node Name is the only field required for cache node creation.
Field Name
Expected Value
Description
Cache Node Name
Alphanumeric name that includes no spaces.
The name of the cache node. You may choose names based on location like Seattle-1. This name must be unique cannot be changed later.
5. Enter the information for the Cache Node and click on the Create button.
If there are errors, the form will provide guidance on how to correct the errors.
Once the Microsoft Connected Cache Node has been created, the installer instructions will be exposed. More details on the installer instructions will be addressed later in this doc can be found at the Install Connected Cache section.
Edit Cache Node Information
Cache nodes can be deleted here by clicking the check box to the left of a Cache Node Name and then clicking the delete toolbar item. Be aware that if a cache node is deleted, there is no way to recover the cache node or any of the information related to the cache node.
Install Microsoft Connected Cache on Windows
Installing Microsoft Connected Cache on your Windows machine is a straightforward process. A PowerShell script performs the following tasks:
• Installs the Azure CLI
• Downloads, Installs, and Deploys EFLOW
• Enables Microsoft Update so EFLOW can stay up to date
• Creates a Virtual Machine
• Enables the firewall and opens ports 80 and 22 for inbound and outbound traffic. Port 80 is used by Microsoft Connected Cache and port 22 is used for SSH communications.
• Configures Connected Cache tuning settings.
• Creates the necessary FREE Azure resource - IoT Hub/IoT Edge.
• Deploys the Microsoft Connected Cache container to server.
Running the installer
1. Download and unzip mccinstaller.zip from the create cache node page or cache node configuration page which contains the necessary installation files
Files contained in the mccinstaller.zip file:
• installmcc.ps1 main installer file.
• installEflow.ps1 Installs the necessary prerequisites like the Linux VM, IoT Edge runtime and Docker and makes necessary host OS settings to optimization caching performance.
• resourceDeploymentForConnectedCache.ps1 Creates Azure cloud resources required to support MCC control plane.
• mccdeployment.json Deployment manifest used by IoT Edge to deploy the MCC container and configure settings on the container like cache drive(s) location size(s).
• updatemcc.ps1 The update script used to upgrade MCC to a particular version
• mccupdate.json Used as part of the update script
2. Open Windows PowerShell as administrator and navigate to the location of these files
NOTE:
Ensure that Hyper-V is enabled on your machine:
Windows 10: Enable Hyper-V on Windows 10 | Microsoft Docs
Windows Server: Install the Hyper-V role on Windows Server | Microsoft Docs
DO NOT use PowerShell ISE, PowerShell 6.x, or PowerShell 7.x. Only Windows PowerShell version 5.x is supported.
NOTE:
If you are installing MCC on a local Virtual Machine:
1. Enable Nested Virtualization
Set -VMProcessor -VMName <"VM name"> -ExposeVirtualizationExtensions $true
2. Enable Mac Spoofing
Get-VMNetworkAdapter -VMName <"VM name">| Set-VMNetworkAdapter -MacAddressSpoofing On
Virtual Machine should be in the OFF state while enabling Nested Virtualization and Mac Spoofing
3. Set the execution policy
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
NOTE:
After setting the execution policy, you will see the following message. Please select [A] Yes to all to proceed.
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
4. Copy the command from the portal and run it in Windows PowerShell
NOTE:
After running the command, and multiple times throughout the installation process, you will receive the following notice. Please select [R] Run once to proceed.
Security warning
Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run C:\Users\mccinstaller\Eflow\installmcc.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):
5. Choose whether you would like to create a new virtual switch or select an existing one. Name your switch and select the Net Adapter to use for the switch. A computer restart will be required if you are creating a new switch.
NOTE:
Restarting your computer after creating a switch is recommended. You will notice network delays during installation if the computer has not been restarted.
If you restarted your computer after creating a switch, start from Step 2 above and skip step 5.
6. Re-run the script after the restart. This time, select “No” when asked to create a new switch. Enter the number corresponding to the switch you previously created.
7. Decide whether you would like to use dynamic or static address for the Eflow VM
NOTE:
Choosing a dynamic IP address will allow your DHCP server to assign the IP to the MCC. Every time the MCC restarts, there will be a new IP address assigned.
We recommend using a static IP address so you do not have to change this value in your management solution for every MCC restart.
8. Choose where you would like to download, install, and store the virtual hard disk for EFLOW. You will also be asked how much memory, storage, and cores you would like to allocate for the VM. In this example, we chose the default values for all prompts
9. Follow the Azure Device Login link and sign into the Azure Portal
10. If this is your first MCC deployment, please select n so that we can create a new IoT Hub. If you have already configured MCC before, we want to group your MCCs in the same IoT Hub, select “y”.
a. You will be shown a list of existing IoT Hubs in your Azure Subscription, enter the number corresponding to the IoT Hub to select it. (You will likely have only 1 IoT Hub in your subscription, in which case you want to enter “1”)
11. Your MCC deployment is now complete
a. If you do not see any errors, please continue to the next section to validate your MCC deployment
b. After validating your MCC is properly functional, please visit your management solution (e.g., Intune) to set the cache host policy to the IP address of your MCC.
Delivery Optimization settings for Windows 10 in Microsoft Intune | Microsoft Docs
c. If you had errors during your deployment, visit the Troubleshooting section in this document
Verify Proper Functioning Microsoft Connected Cache Server
Verify Client Side
9. Your MCC deployment is now complete
1. If you do not see any errors, please continue to the next section to
validate your MCC deployment
2. After validating your MCC is properly functional, please visit your
management solution (e.g., Intune) to set the cache host policy to the
IP address of your MCC.
[Delivery Optimization settings for Windows 10 in Microsoft Intune \|
Microsoft
Docs](https://docs.microsoft.com/en-us/mem/intune/configuration/delivery-optimization-windows)
3. If you had errors during your deployment, visit the Troubleshooting
section in this document
## Verify Proper Functioning Microsoft Connected Cache Server
###
### Verify Client Side
Lets connect to the EFLOW VM and check if MCC is properly running
1. Open PowerShell as an Administrator
2. Enter the following commands:
Connect-EflowVm
sudo -s
iotedge list
You should see MCC, edgeAgent, and edgeHub running. If you see edgeAgent or edgeHub but not MCC, please try this command in a few minutes. The MCC container can take a few minutes to deploy
Verify Server Side
For a validation of properly functioning Microsoft Connected Cache, execute the following command in the EFLOW VM or any device in the network. Replace <CacheServerIP> with the IP address of the cache server.
wget http://<CacheServerIP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
1. Open PowerShell as an Administrator
2. Enter the following commands:
Connect-EflowVm
sudo -s
iotedge list
![eMCC emg20](images/emcc20.png)
You should see MCC, edgeAgent, and edgeHub running. If you see edgeAgent or
edgeHub but not MCC, please try this command in a few minutes. The MCC container
can take a few minutes to deploy
###
### Verify Server Side
For a validation of properly functioning Microsoft Connected Cache, execute the
following command in the EFLOW VM or any device in the network. Replace
\<CacheServerIP\> with the IP address of the cache server.
wget
[http://\<CacheServerIP\>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com]()
A successful test result will look like this:
![eMCC emg21](images/emcc21.png)
OR
![eMCC emg22](images/emcc22.png)
Similarly, enter this URL from a browser in the network:
http://YourCacheServerIP/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
[http://YourCacheServerIP/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com]()
If the test fails, see the common issues section for more information.
Intune (or other management software) configuration for MCC
## Intune (or other management software) configuration for MCC
##
Example of setting the cache host policy to the MCCs IP address / FQDN:
Common Issues
PowerShell Issues
If you are seeing errors similar to this: “The term Get-Something is not recognized as the name of a cmdlet, function, script file, or operable program.”
1. Ensure you are running Windows PowerShell version 5.x.
2. Run $PSVersionTable and ensure youre running version 5.x and NOT version 6 or 7
3. Ensure you have Hyper-V enabled:
Windows 10: Enable Hyper-V on Windows 10 | Microsoft Docs
Windows Server: Install the Hyper-V role on Windows Server | Microsoft Docs
Verify Running Microsoft Connected Cache Container
Connect to the Connected Cache server and check the list of running IoT Edge modules using the following commands:
![eMCC emg23](images/emcc23.png)
# Common Issues
##### PowerShell Issues
If you are seeing errors similar to this: “The term Get-Something is not
recognized as the name of a cmdlet, function, script file, or operable program.”
1. Ensure you are running Windows PowerShell version 5.x.
2. Run \$PSVersionTable and ensure youre running version 5.x and **NOT**
version 6 or 7
3. Ensure you have Hyper-V enabled:
**Windows 10:** [Enable Hyper-V on Windows 10 \| Microsoft
Docs](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
**Windows Server:** [Install the Hyper-V role on Windows Server \| Microsoft
Docs](https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/get-started/install-the-hyper-v-role-on-windows-server)
##### Verify Running Microsoft Connected Cache Container
Connect to the Connected Cache server and check the list of running IoT Edge
modules using the following commands:
Connect-EflowVm
sudo iotedge list
If edgeAgent and edgeHub containers are listed, but not “MCC”, you may view the status of the IoTEdge security manager using the command:
sudo iotedge list
![eMCC emg24](images/emcc24.png)
If edgeAgent and edgeHub containers are listed, but not “MCC”, you may view the
status of the IoTEdge security manager using the command:
sudo journalctl -u iotedge -f
For example, this command will provide the current status of the starting, stopping of a container, or the container pull and start as is shown in the sample below:
For example, this command will provide the current status of the starting,
stopping of a container, or the container pull and start as is shown in the
sample below:
![eMCC emg25](images/emcc25.png)
Use this command to check the IoT Edge Journal
sudo journalctl -u iotedge f
Please note: You should consult the IoT Edge troubleshooting guide (Common issues and resolutions for Azure IoT Edge) for any issues you may encounter configuring IoT Edge, but we have listed a few issues below that we hit during our internal validation.
Diagnostics Script
If you are having issues with your MCC, we included a diagnostics script which will collect all your logs and zip them into a single file. You can then send us these logs via email for the MCC team to debug.
Please note: You should consult the IoT Edge troubleshooting guide ([Common
issues and resolutions for Azure IoT
Edge](https://docs.microsoft.com/en-us/azure/iot-edge/troubleshoot)) for any
issues you may encounter configuring IoT Edge, but we have listed a few issues
below that we hit during our internal validation.
# Diagnostics Script
If you are having issues with your MCC, we included a diagnostics script which
will collect all your logs and zip them into a single file. You can then send us
these logs via email for the MCC team to debug.
To run this script:
1. Navigate to the following folder in the MCC installation files:
mccinstaller > Eflow > Diagnostics
2. Run the following commands:
"Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process"
./collectMccDiagnostics.ps1
3. The script stores all the debug files into a folder and then creates a tar file. After the script is finished running, it will output the path of the tar file which you can share with us (should be “<currentpath>\mccdiagnostics\support_bundle_$timestamp.tar.gz”)
4. Email the MCC team and attach this file asking for debugging support. Screenshots of the error along with any other warnings you saw will be helpful during out debugging process.
Updating Microsoft Connected Cache
Throughout the private preview phase, we will send you security and feature updates for MCC. Please follow these steps to perform the update.
Run the following command with the arguments we provided in the email to update your MCC:
.\updatemcc.ps1 version="<VERSION>" tenantid="<TENANTID>" customerid="<CUSTOMERID>" cachenodeid="<CACHENODEID>" customerkey="<CUSTOMERKEY>"
E.g. ./updatemcc.ps1 version="msconnectedcacheprod.azurecr.io/mcc/linux/iot/mcc-ubuntu-iot-amd64:1.2.1.659" tenantid="72f988bf-86f1-41af-91ab-2d7cd011db47" customerid="99d897gg-86f1-41af-91ab-4jau6ske0sdf" cachenodeid=" cd01sdfh-435n-0das-56gh90dfrt67 " customerkey="h90d234f-vbnm-lk43-0742khsd45hj”
Uninstalling Microsoft Connected Cache
Please contact the MCC Team before uninstalling to let us know if you are facing issues.
1. Navigate to the following folder in the MCC installation files:
mccinstaller \> Eflow \> Diagnostics
2. Run the following commands:
"Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process"
.\collectMccDiagnostics.ps1
3. The script stores all the debug files into a folder and then creates a tar
file. After the script is finished running, it will output the path of the
tar file which you can share with us (should be
“**\<currentpath\>**\\mccdiagnostics\\support_bundle_\$timestamp.tar.gz”)
4. [Email the MCC
team](mailto:mccforenterprise@microsoft.com?subject=Debugging%20Help%20Needed%20for%20MCC%20for%20Enterprise)
and attach this file asking for debugging support. Screenshots of the error
along with any other warnings you saw will be helpful during out debugging
process.
# Updating Microsoft Connected Cache
Throughout the private preview phase, we will send you security and feature
updates for MCC. Please follow these steps to perform the update.
Run the following command with the **arguments** we provided in the email to
update your MCC:
```
# .\updatemcc.ps1 version="**\<VERSION\>**" tenantid="**\<TENANTID\>**" customerid="**\<CUSTOMERID\>**" cachenodeid="**\<CACHENODEID\>**" customerkey="**\<CUSTOMERKEY\>**"
```
For example:
```
# .\updatemcc.ps1 version="msconnectedcacheprod.azurecr.io/mcc/linux/iot/mcc-ubuntu-iot-amd64:1.2.1.659" tenantid="72f988bf-86f1-41af-91ab-2d7cd011db47" customerid="99d897gg-86f1-41af-91ab-4jau6ske0sdf" cachenodeid=" cd01sdfh-435n-0das-56gh90dfrt67 " customerkey="h90d234f-vbnm-lk43-0742khsd45hj”
```
# Uninstalling Microsoft Connected Cache
Please contact the MCC Team before uninstalling to let us know if you are facing
issues.
This script will remove the following:
1. EFLOW + Linux VM
2. IoT Edge
3. Edge Agent
4. Edge Hub
5. MCC
6. Moby CLI
7. Moby Engine
To delete MCC, go to Control Panel > Uninstall a program > Select Azure IoT Edge LTS > Uninstall
Appendix
IoT Edge runtime The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices. The runtime sits on the IoT Edge device, and performs management and communication operations. The runtime performs several functions: • Installs and update workloads (Docker containers) on the device. • Maintains Azure IoT Edge security standards on the device. • Ensures that IoT Edge modules (Docker containers) are always running. • Reports module (Docker containers) health to the cloud for remote monitoring. • Manages communication between an IoT Edge device and the cloud. For more information on Azure IoT Edge, please see the Azure IoT Edge documentation https://docs.microsoft.com/azure/iot-edge/about-iot-edge.
EFLOW
What is Azure IoT Edge for Linux on Windows | Microsoft Docs
Install Azure IoT Edge for Linux on Windows | Microsoft Docs
PowerShell functions for Azure IoT Edge for Linux on Windows | Microsoft Docs
EFLOW FAQ and Support: Support · Azure/iotedge-eflow Wiki (github.com)
Now ready for Production: Linux IoT Edge Modules on Windows - YouTube
Routing local Windows Clients to an MCC
Get the IP address of your Microsoft Connected Cache using ifconfig
There are multiple methods that can be used to apply a policy to PCs that should participate in downloading from the Microsoft Connected Cache .
Registry Key
1. EFLOW + Linux VM
2. IoT Edge
3. Edge Agent
4. Edge Hub
5. MCC
6. Moby CLI
7. Moby Engine
To delete MCC, go to Control Panel \> Uninstall a program \> Select Azure IoT
Edge LTS \> Uninstall
# Appendix
## IoT Edge runtime
The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices.
The runtime sits on the IoT Edge device, and performs management and
communication operations. The runtime performs several functions:
- Installs and update workloads (Docker containers) on the device.
- Maintains Azure IoT Edge security standards on the device.
- Ensures that IoT Edge modules (Docker containers) are always running.
- Reports module (Docker containers) health to the cloud for remote monitoring.
- Manages communication between an IoT Edge device and the cloud.
For more information on Azure IoT Edge, please see the Azure IoT Edge
documentation <https://docs.microsoft.com/en-us/azure/iot-edge/about-iot-edge>.
## EFLOW
[What is Azure IoT Edge for Linux on Windows \| Microsoft
Docs](https://docs.microsoft.com/en-us/azure/iot-edge/iot-edge-for-linux-on-windows?view=iotedge-2018-06&preserve-view=true)
[Install Azure IoT Edge for Linux on Windows \| Microsoft
Docs](https://docs.microsoft.com/en-us/azure/iot-edge/how-to-provision-single-device-linux-on-windows-symmetric?view=iotedge-2018-06&tabs=azure-portal%2Cpowershell#install-iot-edge)
[PowerShell functions for Azure IoT Edge for Linux on Windows \| Microsoft
Docs](https://docs.microsoft.com/en-us/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions?view=iotedge-2018-06)
EFLOW FAQ and Support: [Support · Azure/iotedge-eflow Wiki
(github.com)](https://github.com/Azure/iotedge-eflow/wiki/Support#how-can-i-apply-updates-to-eflow)
[Now ready for Production: Linux IoT Edge Modules on Windows -
YouTube](https://www.youtube.com/watch?v=pgqVCg6cxVU&ab_channel=MicrosoftIoTDevelopers)
## Routing local Windows Clients to an MCC
##### Get the IP address of your Microsoft Connected Cache using ifconfig
There are multiple methods that can be used to apply a policy to PCs that should
participate in downloading from the Microsoft Connected Cache .
##### Registry Key
You can either set your Microsoft Connected Cache IP or FQDN using:
1. Registry Key in 1709 and higher - [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization] "DOCacheHost"=" " From an elevated PowerShell or command shell: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" /v DOCacheHost /t REG_SZ /d "10.137.187.38" /f
2. MDM Path in 1809 or higher- .Vendor/MSFT/Policy/Config/DeliveryOptimization/DOCacheHost
3. In build 1809 (RS5) and higher you can apply the policy via Group Policy Editor. The policy to apply is DOCacheHost. To configure the clients to pull content from the Microsoft Connected Cache by Group Policy setting the Cache Server Hostname (Setting found under Computer Configuration, Administrative Templates, Windows Components, Delivery Optimization) to the IP of your Microsoft Connected Cache For example 10.137.187.38.
Verify Content using the DO Client
To verify that Delivery Optimization client can download content using Microsoft Connected Cache you can execute the following steps:
1. Download a game or application from the Microsoft Store.
2. Verify downloads came from Microsoft Connected Cache by one of two methods
a. Using PowerShell Cmdlet Get-DeliveryOptimizationStatus you should see BytesFromCacheServer test
b. Looking at the Delivery Optimization Activity Monitor
1. Registry Key in 1709 and higher -
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\DeliveryOptimization]
"DOCacheHost"=" "
From an elevated PowerShell or command shell:
reg add
"HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\DeliveryOptimization"
/v DOCacheHost /t REG_SZ /d "10.137.187.38" /f
1. MDM Path in 1809 or higher-
.Vendor/MSFT/Policy/Config/DeliveryOptimization/DOCacheHost
2. In build 1809 (RS5) and higher you can apply the policy via Group Policy
Editor. The policy to apply is **DOCacheHost**. To configure the clients to
pull content from the Microsoft Connected Cache by Group Policy setting the
Cache Server Hostname (Setting found under Computer Configuration,
Administrative Templates, Windows Components, Delivery Optimization) to the
IP of your Microsoft Connected Cache For example 10.137.187.38.
![eMCC emg26](images/emcc26.png)
**Verify Content using the DO Client**
To verify that Delivery Optimization client can download content using Microsoft
Connected Cache you can execute the following steps:
1. Download a game or application from the Microsoft Store.
![eMCC emg27](images/emcc27.png)
1. Verify downloads came from Microsoft Connected Cache by one of two methods
1. Using PowerShell Cmdlet Get-DeliveryOptimizationStatus you should see
BytesFromCacheServer test
![eMCC emg28](images/emcc28.png)
2. Looking at the Delivery Optimization Activity Monitor
![eMCC emg29](images/emcc29.png)

View File

@ -0,0 +1,293 @@
---
title: Microsoft Connected Cache for Enterprises
manager: dougeby
description: Details on Microsoft Connected Cache (MCC) for Enterprises.
keywords: updates, downloads, network, bandwidth
ms.prod: w10
ms.mktglfcycl: deploy
audience: itpro
author: carmenf
ms.localizationpriority: medium
ms.author: carmenf
ms.collection: M365-modern-desktop
ms.topic: article
---
# Microsoft Connected Cache for Enterprises
**Applies to**
- Windows 10
- Windows 11
## Overview
Microsoft Connected Cache (MCC) preview is a software-only caching solution that delivers Microsoft content within Enterprise networks. MCC can be deployed to as many bare-metal servers or VMs as needed and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying the [client policy](/mem/intune/configuration/delivery-optimization-settings.md#local-server-caching) using your management tool, such as Intune.
Microsoft Connected Cache is a Hybrid (mix of on-prem and cloud resources) SaaS solution built as an Azure IoT Edge module, a Docker compatible Linux container, that is deployed to your Windows devices. The Delivery Optimization team chose IoT Edge for Linux on Windows (EFLOW) as a secure, reliable container management infrastructure. EFLOW is a Linux virtual machine, based on Microsoft's first party CBL-Mariner operating system. Its built with the IoT Edge runtime and validated as a tier 1 supported environment for IoT Edge workloads. Microsoft Connected Cache will be a Linux IoT Edge module running on the Windows Host OS.
Even though your Microsoft Connected Cache scenario is not related to IoT, Azure IoT Edge is used as a more generic Linux container deployment and management infrastructure. The Azure IoT Edge runtime sits on your designated MCC device and performs management and communication operations. The runtime performs several functions important to manage Microsoft Connected Cache on your edge device:
1. Installs and updates Microsoft Connected Cache on your edge device.
2. Maintains Azure IoT Edge security standards on your edge device.
3. Ensures that Microsoft Connected Cache is always running.
4. Reports Microsoft Connected Cache health and usage to the cloud for remote monitoring.
To deploy a functional Microsoft Connected Cache to your device, you must obtain the necessary keys that will provision the Connected Cache instance to communicate with Delivery Optimization services and enable the device to cache and deliver content.
Figure 1 below describes the architecture of Microsoft Connected Cache built using IoT Edge.
For more details information on Azure IoT Edge, please see the [Azure IoT Edge documentation](/azure/iot-edge/about-iot-edge).
## How Microsoft Connected Cache Works
1. The Azure Management Portal used to create the Microsoft Connected Cache nodes.
2. The Microsoft Connected Cache container deployed and provisioned to the server using the installer provided in the portal.
3. Set the client policy in your management solution to point to the IP Address/FQDN of the cache server
4. Microsoft end-user devices make the range requests for content from the Microsoft Connected Cache node.
5. Microsoft Connected Cache node pulls content from the CDN, seeds its local cache stored on disk and delivers the content to the client.
6. Subsequent requests from end-user devices for content will now come from cache.
7. If the Microsoft Connected Cache node is unavailable, the client will pull content from CDN to ensure uninterrupted service for your subscribers.
![eMCC emg01](images/emcc01.png)
Figure 1: Each number in the diagram corresponds to the steps above
## Enterprise Requirements for Microsoft Connected Cache
1. **Azure subscription** Microsoft Connected Cache management portal is hosted within Azure and is used to create the Connected Cache [Azure resource](/azure/cloud-adoption-framework/govern/resource-consistency/resource-access-management.md) and IoT Hub resource both are free services.
We will use your Azure subscription ID to take care of some provisioning with our services, first, to give you access to the preview. The Microsoft Connected Cache server requirement for an Azure subscription will cost you nothing. If you do not have an Azure subscription already, you can create an Azure [Pay-As-You-Go](https://azure.microsoft.com/offers/ms-azr-0003p/) account which requires a credit card for verification purposes. For more information, see the [Azure Free Account FAQ](https://azure.microsoft.com/free/free-account-faq/).
The resources used for the preview and in the future when this product is ready for production will be completely free to you, like other caching solutions.
2. **Hardware to host MCC** - The recommended configuration will serve approximately 35,000 managed devices downloading a 2GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps.
**EFLOW Requires Hyper-V support**
- On Windows 10, enable Hyper-V
- On Windows Server, install the Hyper-V role and create a default network switch
Disk recommendations:
- Using an SSD is recommended as cache read speed of SSD is superior to HDD
NIC requirements:
- Multiple NICs on a single MCC instance are not supported.
- 1 Gbps NIC is the minimum speed recommended but any NIC is supported.
- For best performance, NIC and BIOS should support SR-IOV
Networking support:
- External virtual switch to support outbound and inbound network communication (we will create this during the installation process)
| | Branch Office / Small Enterprise | Large Enterprise |
| -- | --- | --- |
| OS| Windows Server 2019*/2022 <br> Windows 10*/11 (Pro or Enterprise) with Hyper-V Support <br><br>* Windows 10 and Windows Server 2019 build 17763 or later | Same |
|NIC | 1 Gbps | 5 Gbps |
|Disk | SSD <br>1 drive <br>50GB each |SSD <br>1 drive <br>200GB each |
|Memory | 4GB | 8GB |
|Cores | 4 | 8 |
## Steps to Set Up Microsoft Connected Cache
Summary of steps required to deploy Microsoft Connected Cache to your server:
1. Provide Microsoft with the Azure subscription you will use for Microsoft Connected Cache
2. Create the Microsoft Connected Cache Resource in Azure
3. Create a Microsoft Connected Cache Node
4. Edit Cache Node Information
5. Install Microsoft Connected Cache on a Server or VM
6. Verify Proper Functioning Microsoft Connected Cache Server
7. Common Issues
For questions regarding these instructions contact: **msconnectedcache@microsoft.com**
Provide Microsoft with the Azure Subscription ID
As part of the Microsoft Connected Cache preview onboarding process the Azure subscription ID will have been provided to Microsoft. Instructions to create a subscription id are here: https://aka.ms/MCC-Azure-Subscription
NOTE:
Please contact Microsoft and provide this information if you have not already. You will not be able to proceed if you skip this step.
Create the Microsoft Connected Cache Resource in Azure
The Microsoft Connected Cache Azure management portal is used to create and manage Microsoft Connected Cache nodes. An Azure Subscription ID is used to grant access to the preview and to create the Microsoft Connected Cache resource in Azure and Cache nodes.
Use the following link and log in to Azure
https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_ConnectedCache_EntHidden
1. On the Azure Portal home page, Choose Create a resource
2. Type "Microsoft Connected Cache" into the search box and be sure to hit the Enter key to show search results.
NOTE:
You will not see Microsoft Connected Cache in the drop down box, you need to type it and press enter to see the result
3. Select “Microsoft Connected Cache” and select “Create” on the next screen to start the process of creating the Microsoft Connected Cache resource.
4. Fill in the required fields to create the Microsoft Connected Cache resource.
• Choose the subscription provided to Microsoft.
• Azure resource groups are logical groups of resources. Create a new resource group and choose a name for your resource group.
• Choose “(US) West US” for the location of the resource. This choice will not impact Microsoft Connected Cache if the physical location is not in the West US, it is just a limitation of the preview.
NOTE:
Your MCC resource will not be created properly if you do not select “(US) West US”
• Choose a name for the Microsoft Connected Cache resource. NOTE:
Your MCC resource must not contain the word “Microsoft” in it
5. Once all the information has been entered, click on the “Review + Create” button. Once validation is complete, click the “Create” button to start the resource creation.
Error: Validation failed
• If you get a Validation failed error message on your portal, it is likely because you selected the Location as US West 2 or another location.
• To bypass this error, navigate to the previous step and choose (US) West US.
Create a Microsoft Connected Cache Node in Azure
Creating a Microsoft Connected Cache node is a multi-step process and the first step is to access the Microsoft Connected Cache private preview management portal.
1. After the successful resource creation click on the "Go to resource".
2. Under Cache Node Management section on the leftmost panel, click on Cache Nodes.
3. On the Cache Nodes blade, click on the Create Cache Node button.
4. Clicking the Create Cache Node button will open the Create Cache Node page, Cache Node Name is the only field required for cache node creation.
Field Name
Expected Value
Description
Cache Node Name
Alphanumeric name that includes no spaces.
The name of the cache node. You may choose names based on location like Seattle-1. This name must be unique cannot be changed later.
5. Enter the information for the Cache Node and click on the Create button.
If there are errors, the form will provide guidance on how to correct the errors.
Once the Microsoft Connected Cache Node has been created, the installer instructions will be exposed. More details on the installer instructions will be addressed later in this doc can be found at the Install Connected Cache section.
Edit Cache Node Information
Cache nodes can be deleted here by clicking the check box to the left of a Cache Node Name and then clicking the delete toolbar item. Be aware that if a cache node is deleted, there is no way to recover the cache node or any of the information related to the cache node.
Install Microsoft Connected Cache on Windows
Installing Microsoft Connected Cache on your Windows machine is a straightforward process. A PowerShell script performs the following tasks:
• Installs the Azure CLI
• Downloads, Installs, and Deploys EFLOW
• Enables Microsoft Update so EFLOW can stay up to date
• Creates a Virtual Machine
• Enables the firewall and opens ports 80 and 22 for inbound and outbound traffic. Port 80 is used by Microsoft Connected Cache and port 22 is used for SSH communications.
• Configures Connected Cache tuning settings.
• Creates the necessary FREE Azure resource - IoT Hub/IoT Edge.
• Deploys the Microsoft Connected Cache container to server.
Running the installer
1. Download and unzip mccinstaller.zip from the create cache node page or cache node configuration page which contains the necessary installation files
Files contained in the mccinstaller.zip file:
• installmcc.ps1 main installer file.
• installEflow.ps1 Installs the necessary prerequisites like the Linux VM, IoT Edge runtime and Docker and makes necessary host OS settings to optimization caching performance.
• resourceDeploymentForConnectedCache.ps1 Creates Azure cloud resources required to support MCC control plane.
• mccdeployment.json Deployment manifest used by IoT Edge to deploy the MCC container and configure settings on the container like cache drive(s) location size(s).
• updatemcc.ps1 The update script used to upgrade MCC to a particular version
• mccupdate.json Used as part of the update script
2. Open Windows PowerShell as administrator and navigate to the location of these files
NOTE:
Ensure that Hyper-V is enabled on your machine:
Windows 10: Enable Hyper-V on Windows 10 | Microsoft Docs
Windows Server: Install the Hyper-V role on Windows Server | Microsoft Docs
DO NOT use PowerShell ISE, PowerShell 6.x, or PowerShell 7.x. Only Windows PowerShell version 5.x is supported.
NOTE:
If you are installing MCC on a local Virtual Machine:
1. Enable Nested Virtualization
Set -VMProcessor -VMName <"VM name"> -ExposeVirtualizationExtensions $true
2. Enable Mac Spoofing
Get-VMNetworkAdapter -VMName <"VM name">| Set-VMNetworkAdapter -MacAddressSpoofing On
Virtual Machine should be in the OFF state while enabling Nested Virtualization and Mac Spoofing
3. Set the execution policy
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
NOTE:
After setting the execution policy, you will see the following message. Please select [A] Yes to all to proceed.
Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose you to the security risks described in the about_Execution_Policies help topic at https:/go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):
4. Copy the command from the portal and run it in Windows PowerShell
NOTE:
After running the command, and multiple times throughout the installation process, you will receive the following notice. Please select [R] Run once to proceed.
Security warning
Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run C:\Users\mccinstaller\Eflow\installmcc.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):
5. Choose whether you would like to create a new virtual switch or select an existing one. Name your switch and select the Net Adapter to use for the switch. A computer restart will be required if you are creating a new switch.
NOTE:
Restarting your computer after creating a switch is recommended. You will notice network delays during installation if the computer has not been restarted.
If you restarted your computer after creating a switch, start from Step 2 above and skip step 5.
6. Re-run the script after the restart. This time, select “No” when asked to create a new switch. Enter the number corresponding to the switch you previously created.
7. Decide whether you would like to use dynamic or static address for the Eflow VM
NOTE:
Choosing a dynamic IP address will allow your DHCP server to assign the IP to the MCC. Every time the MCC restarts, there will be a new IP address assigned.
We recommend using a static IP address so you do not have to change this value in your management solution for every MCC restart.
8. Choose where you would like to download, install, and store the virtual hard disk for EFLOW. You will also be asked how much memory, storage, and cores you would like to allocate for the VM. In this example, we chose the default values for all prompts
9. Follow the Azure Device Login link and sign into the Azure Portal
10. If this is your first MCC deployment, please select n so that we can create a new IoT Hub. If you have already configured MCC before, we want to group your MCCs in the same IoT Hub, select “y”.
a. You will be shown a list of existing IoT Hubs in your Azure Subscription, enter the number corresponding to the IoT Hub to select it. (You will likely have only 1 IoT Hub in your subscription, in which case you want to enter “1”)
11. Your MCC deployment is now complete
a. If you do not see any errors, please continue to the next section to validate your MCC deployment
b. After validating your MCC is properly functional, please visit your management solution (e.g., Intune) to set the cache host policy to the IP address of your MCC.
Delivery Optimization settings for Windows 10 in Microsoft Intune | Microsoft Docs
c. If you had errors during your deployment, visit the Troubleshooting section in this document
Verify Proper Functioning Microsoft Connected Cache Server
Verify Client Side
Lets connect to the EFLOW VM and check if MCC is properly running
1. Open PowerShell as an Administrator
2. Enter the following commands:
Connect-EflowVm
sudo -s
iotedge list
You should see MCC, edgeAgent, and edgeHub running. If you see edgeAgent or edgeHub but not MCC, please try this command in a few minutes. The MCC container can take a few minutes to deploy
Verify Server Side
For a validation of properly functioning Microsoft Connected Cache, execute the following command in the EFLOW VM or any device in the network. Replace <CacheServerIP> with the IP address of the cache server.
wget http://<CacheServerIP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
A successful test result will look like this:
OR
Similarly, enter this URL from a browser in the network:
http://YourCacheServerIP/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
If the test fails, see the common issues section for more information.
Intune (or other management software) configuration for MCC
Example of setting the cache host policy to the MCCs IP address / FQDN:
Common Issues
PowerShell Issues
If you are seeing errors similar to this: “The term Get-Something is not recognized as the name of a cmdlet, function, script file, or operable program.”
1. Ensure you are running Windows PowerShell version 5.x.
2. Run $PSVersionTable and ensure youre running version 5.x and NOT version 6 or 7
3. Ensure you have Hyper-V enabled:
Windows 10: Enable Hyper-V on Windows 10 | Microsoft Docs
Windows Server: Install the Hyper-V role on Windows Server | Microsoft Docs
Verify Running Microsoft Connected Cache Container
Connect to the Connected Cache server and check the list of running IoT Edge modules using the following commands:
Connect-EflowVm
sudo iotedge list
If edgeAgent and edgeHub containers are listed, but not “MCC”, you may view the status of the IoTEdge security manager using the command:
sudo journalctl -u iotedge -f
For example, this command will provide the current status of the starting, stopping of a container, or the container pull and start as is shown in the sample below:
Use this command to check the IoT Edge Journal
sudo journalctl -u iotedge f
Please note: You should consult the IoT Edge troubleshooting guide (Common issues and resolutions for Azure IoT Edge) for any issues you may encounter configuring IoT Edge, but we have listed a few issues below that we hit during our internal validation.
Diagnostics Script
If you are having issues with your MCC, we included a diagnostics script which will collect all your logs and zip them into a single file. You can then send us these logs via email for the MCC team to debug.
To run this script:
1. Navigate to the following folder in the MCC installation files:
mccinstaller > Eflow > Diagnostics
2. Run the following commands:
"Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process"
./collectMccDiagnostics.ps1
3. The script stores all the debug files into a folder and then creates a tar file. After the script is finished running, it will output the path of the tar file which you can share with us (should be “<currentpath>\mccdiagnostics\support_bundle_$timestamp.tar.gz”)
4. Email the MCC team and attach this file asking for debugging support. Screenshots of the error along with any other warnings you saw will be helpful during out debugging process.
Updating Microsoft Connected Cache
Throughout the private preview phase, we will send you security and feature updates for MCC. Please follow these steps to perform the update.
Run the following command with the arguments we provided in the email to update your MCC:
.\updatemcc.ps1 version="<VERSION>" tenantid="<TENANTID>" customerid="<CUSTOMERID>" cachenodeid="<CACHENODEID>" customerkey="<CUSTOMERKEY>"
E.g. ./updatemcc.ps1 version="msconnectedcacheprod.azurecr.io/mcc/linux/iot/mcc-ubuntu-iot-amd64:1.2.1.659" tenantid="72f988bf-86f1-41af-91ab-2d7cd011db47" customerid="99d897gg-86f1-41af-91ab-4jau6ske0sdf" cachenodeid=" cd01sdfh-435n-0das-56gh90dfrt67 " customerkey="h90d234f-vbnm-lk43-0742khsd45hj”
Uninstalling Microsoft Connected Cache
Please contact the MCC Team before uninstalling to let us know if you are facing issues.
This script will remove the following:
1. EFLOW + Linux VM
2. IoT Edge
3. Edge Agent
4. Edge Hub
5. MCC
6. Moby CLI
7. Moby Engine
To delete MCC, go to Control Panel > Uninstall a program > Select Azure IoT Edge LTS > Uninstall
Appendix
IoT Edge runtime The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices. The runtime sits on the IoT Edge device, and performs management and communication operations. The runtime performs several functions: • Installs and update workloads (Docker containers) on the device. • Maintains Azure IoT Edge security standards on the device. • Ensures that IoT Edge modules (Docker containers) are always running. • Reports module (Docker containers) health to the cloud for remote monitoring. • Manages communication between an IoT Edge device and the cloud. For more information on Azure IoT Edge, please see the Azure IoT Edge documentation https://docs.microsoft.com/azure/iot-edge/about-iot-edge.
EFLOW
What is Azure IoT Edge for Linux on Windows | Microsoft Docs
Install Azure IoT Edge for Linux on Windows | Microsoft Docs
PowerShell functions for Azure IoT Edge for Linux on Windows | Microsoft Docs
EFLOW FAQ and Support: Support · Azure/iotedge-eflow Wiki (github.com)
Now ready for Production: Linux IoT Edge Modules on Windows - YouTube
Routing local Windows Clients to an MCC
Get the IP address of your Microsoft Connected Cache using ifconfig
There are multiple methods that can be used to apply a policy to PCs that should participate in downloading from the Microsoft Connected Cache .
Registry Key
You can either set your Microsoft Connected Cache IP or FQDN using:
1. Registry Key in 1709 and higher - [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization] "DOCacheHost"=" " From an elevated PowerShell or command shell: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" /v DOCacheHost /t REG_SZ /d "10.137.187.38" /f
2. MDM Path in 1809 or higher- .Vendor/MSFT/Policy/Config/DeliveryOptimization/DOCacheHost
3. In build 1809 (RS5) and higher you can apply the policy via Group Policy Editor. The policy to apply is DOCacheHost. To configure the clients to pull content from the Microsoft Connected Cache by Group Policy setting the Cache Server Hostname (Setting found under Computer Configuration, Administrative Templates, Windows Components, Delivery Optimization) to the IP of your Microsoft Connected Cache For example 10.137.187.38.
Verify Content using the DO Client
To verify that Delivery Optimization client can download content using Microsoft Connected Cache you can execute the following steps:
1. Download a game or application from the Microsoft Store.
2. Verify downloads came from Microsoft Connected Cache by one of two methods
a. Using PowerShell Cmdlet Get-DeliveryOptimizationStatus you should see BytesFromCacheServer test
b. Looking at the Delivery Optimization Activity Monitor

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,350 @@
---
title: Microsoft Connected Cache for Internet Service Providers
manager: dougeby
description: Details on Microsoft Connected Cache (MCC) for Internet Service Providers (ISPs).
keywords: updates, downloads, network, bandwidth
ms.prod: w10
ms.mktglfcycl: deploy
audience: itpro
author: carmenf
ms.localizationpriority: medium
ms.author: carmenf
ms.collection: M365-modern-desktop
ms.topic: article
---
# Microsoft Connected Cache for Internet Service Providers
**Applies to**
- Windows 10
- Windows 11
## Overview
Microsoft Connected Cache (MCC) preview is a software-only caching solution that delivers Microsoft content within ISP networks. MCC can be deployed to as many bare-metal servers or VMs as needed and is managed from a cloud portal. Microsoft cloud services handle routing of consumer devices to the cache server for content downloads.
Microsoft Connected Cache is a Hybrid (mix of on-prem and cloud resources) solution composed of a Docker compatible Linux container deployed to your server and a cloud management portal. Microsoft chose Azure IoT Edge (more information on IoT Edge in the appendix) as a secure and reliable control plane, and even though your scenario is not related to IoT, Azure IoT Edge is our secure Linux container deployment and management infrastructure. Azure IoT Edge consists of three components that the Microsoft Connected Cache infrastructure will utilize:
1. A cloud-based interface that enables secure, remote installation, monitoring, and management of Microsoft Connected Cache nodes.
2. A runtime that securely manages the modules deployed to each device.
3. Modules/containers that run the Microsoft Connected Cache functionality on your device.
## How Microsoft Connected Cache Works
1. The Azure Management Portal used to create and manage Microsoft Connected Cache nodes.
2. The Microsoft Connected Cache container deployed and provisioned to the server.
3. The Azure Management Portal used to configure Microsoft Delivery Optimization Services to route traffic to the Microsoft Connected Cache server by providing two pieces of information:
a. The publicly accessible IPv4 address of the server hosting the Microsoft Connected Cache container.
b. The CIDR blocks that represent the client IP address space, which should be routed to the Microsoft Connected Cache node.
4. Microsoft end-user devices periodically connect with Microsoft Delivery Optimization Services, and the services match the IP address of the client with the IP address of the corresponding Microsoft Connected Cache node.
5. Microsoft end-user devices make the range requests for content from the Microsoft Connected Cache node.
6. Microsoft Connected Cache node pulls content from the CDN, seeds its local cache stored on disk and delivers the content to the client.
7. Subsequent requests from end-user devices for content will now come from cache.
8. If the Microsoft Connected Cache node is unavailable, the client will pull content from CDN to ensure uninterrupted service for your subscribers.
![MCC overview 1](images/imcc01.png)
## ISP Requirements for Microsoft Connected Cache
1. Azure subscription Microsoft Connected Cache management portal is hosted within Azure and is used to create the Connected Cache Azure resource and IoT Hub resource both are free services.
We will use your Azure subscription ID to take care of some provisioning with our services, first, to give you access to the preview. The Microsoft Connected Cache server requirement for an Azure subscription will cost you nothing. If you do not have an Azure subscription already, you can create an Azure Pay-As-You-Go account which requires a credit card for verification purposes. Please visit Azure Free Account FAQ | Microsoft Azure for more information.
Again, the resources used for the preview and in the future when this product is ready for production will be completely free to you, like other caching solutions.
Please note: If you request Exchange or Public peering in the future, business emails must be used to register ASN's as Microsoft does not accept gmail or other non-business emails.
2. Hardware to host MCC - The recommended configuration will serve approximately 35,000 consumer devices downloading a 2GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps.
Some notes on the disk requirements:
• Using SSDs is recommended as cache read speed of SSD is superior to HDD.
• Using multiple disks is recommended to improve cache performance.
• RAID disk configurations are discouraged as cache performance will be impacted. If using RAID disk configurations ensure striping.
• Maximum number of disks supported is 10.
Some notes on the NIC requirements:
• Multiple NICs on a single MCC instance are not supported.
• 10Gbps NIC is the minimum speed recommended but any NIC is supported.
Minimum Recommended Server Ubuntu 20.04 LTS VM or Physical Server Ubuntu 20.04 LTS VM or Physical Server (Preferred) NIC 10 Gbps > = 10 Gbps Disk • SSD • 1 2 drives minimum • 2 TB each minimum
• SSD • 2 4 drives minimum. Max 10 drives. • 2 TB each minimum
Memory 8 GB 32 GB or more Cores 4 8 or more
## Steps to Set Up Microsoft Connected Cache
Below is the summary of steps required to deploy Microsoft Connected Cache to your server. If you prefer following video instructions along with this document, here are part 1 (portal demo) and part 2 (installer demo).
1. Provide Microsoft with the Azure subscription you will use for Microsoft Connected Cache
2. Create the Microsoft Connected Cache Resource in Azure
3. Create a Microsoft Connected Cache Node
- IP space approval information
4. Edit Cache Node Information
5. Set up a server with Ubuntu 20.04 or an Ubuntu VM running on Windows Server 2019
6. Install Microsoft Connected Cache on a Server or VM
7. Verify Proper Functioning Microsoft Connected Cache Server
8. View the Microsoft Connected Cache Summary Report
9. Common Issues
For questions regarding these instructions contact: **msconnectedcache@microsoft.com**
## Provide Microsoft with the Azure Subscription ID
As part of the Microsoft Connected Cache preview onboarding process the Azure subscription ID will have been provided to Microsoft. Please contact Microsoft and provide this information if you have not already.
## Create the Microsoft Connected Cache Resource in Azure
Link to video instructions: https://aka.ms/MCC-ISP-PortalDemo
The Microsoft Connected Cache Azure management portal is used to create and manage Microsoft Connected Cache nodes. An Azure Subscription ID is used to grant access to the preview and to create the Microsoft Connected Cache resource in Azure and Cache nodes.
Use the following link and log in to Azure https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_ConnectedCacheHidden
• Choose Create a resource
![iMCC img02](images/imcc02.png)
• Type " Microsoft Connected Cache" into the search box and be sure to hit the Enter key to show search results.
• Select “Microsoft Connected Cache” and select “Create” on the next screen to start the process of creating the Microsoft Connected Cache resource.
![iMCC img03](images/imcc03.png)
![iMCC img04](images/imcc04.png)
![iMCC img05](images/imcc05.png)
![iMCC img06](images/imcc06.png)
![iMCC img07](images/imcc07.png)
![iMCC img08](images/imcc08.png)
![iMCC img09](images/imcc09.png)
![iMCC img10](images/imcc10.png)
![iMCC img11](images/imcc11.png)
![iMCC img12](images/imcc12.png)
![iMCC img13](images/imcc13.png)
![iMCC img14](images/imcc14.png)
![iMCC img15](images/imcc15.png)
![iMCC img16](images/imcc16.png)
![iMCC img17](images/imcc17.png)
![iMCC img18](images/imcc18.png)
![iMCC img19](images/imcc19.png)
![iMCC img20](images/imcc20.png)
![iMCC img21](images/imcc21.png)
![iMCC img22](images/imcc22.png)
![iMCC img23](images/imcc23.png)
![iMCC img24](images/imcc24.png)
![iMCC img25](images/imcc25.png)
![iMCC img26](images/imcc26.png)
![iMCC img27](images/imcc27.png)
![iMCC img28](images/imcc28.png)
![iMCC img29](images/imcc29.png)
![iMCC img30](images/imcc30.png)
![iMCC img31](images/imcc31.png)
![iMCC img32](images/imcc32.png)
![iMCC img33](images/imcc33.png)
![iMCC img34](images/imcc34.png)
![iMCC img35](images/imcc35.png)
![iMCC img36](images/imcc36.png)
![iMCC img37](images/imcc37.png)
![iMCC img38](images/imcc38.png)
![iMCC img39](images/imcc39.png)
![iMCC img40](images/imcc40.png)
![iMCC img41](images/imcc41.png)
![iMCC img42](images/imcc42.png)
![iMCC img43](images/imcc43.png)
![iMCC img44](images/imcc44.png)
![iMCC img45](images/imcc45.png)
![iMCC img46](images/imcc46.png)
![iMCC img47](images/imcc47.png)
![iMCC img48](images/imcc48.png)
![iMCC img49](images/imcc49.png)
![iMCC img50](images/imcc50.png)
![iMCC img51](images/imcc51.png)
![iMCC img52](images/imcc52.png)
![iMCC img53](images/imcc53.png)
• Fill in the required fields to create the Microsoft Connected Cache resource.
• Choose the subscription provided to Microsoft.
• Azure resource groups are logical groups of resources. Create a new resource group and choose a name for your resource group.
• Choose “US West” for the location of the resource. This choice will not impact Microsoft Connected Cache if the physical location is not in the West US, it is just a limitation of the preview.
• Choose a name for the Microsoft Connected Cache resource.
• Once all the information has been entered, click on the “Review + Create” button. Once validation is complete, click the “Create” button to start the resource creation.
Error: Validation failed
• If you get a Validation failed error message on your portal, it is likely because you selected the Location as US West 2.
• To bypass this error, navigate to the previous step and choose (US) West US.
Create a Microsoft Connected Cache Node
Creating a Microsoft Connected Cache node is a multi-step process and the first step is to access the Microsoft Connected Cache private preview management portal.
1. After the successful resource creation click on the "Go to resource".
2. Under Cache Node Management section on the leftmost panel, click on Cache Nodes.
3. On the Cache Nodes blade, click on the Create Cache Node button.
4. Clicking the Create Cache Node button will open the Create Cache Node page, Cache Node Name is the only field required for initial cache node creation, but end-user devices will not request content without proper configuration of the other values. The table below describes the information required.
Field Name
Expected Value
Description
Cache Node Name
Alphanumeric name that includes no spaces.
The name of the cache node. You may choose names based on location like Seattle-1. This name must be unique cannot be changed later.
Server IP Address
IPv4 Address
IP address of your Microsoft Connected Cache server. Used to route end-user
devices in your network to the server for Microsoft content downloads. Please note: IP address must be publicly accessible.
Address Range/CIDR Blocks
IPv4 CIDR notation
IP Address Range/CIDR blocks that should be routed to the Microsoft Connected Cache server as a comma separated list. For example: 2.21.234.0/24 , 3.22.235.0/24 , 4.23.236.0/24
Enable Cache Node
Enable/Disable Radio Button
Enable and the cache node will receive content requests. Disable and the cache node will not receive content requests. Cache nodes are enabled by default.
Hovering on the info next to each field will populate the details of that field.
There are two other read-only fields on this page that are populated after the cache node is created.
Field Name
Description
IP Space
Number of Ips addresses that will be routed to your cache server.
Activation Keys
Set of keys to activate your cache node with the Microsoft Connected Cache services. Copy the keys for use during install. The CustomerID is your Azure subscripiton ID.
5. Enter the information for the Cache Node and click on the Create button. In the screenshot below only the Cache Node Name is provided, but all information can be included if desired.
If there are errors the form will provide guidance on how to correct the errors. For example:
• The cache node name is in use in the resource or is an incorrect format.
• If the CIDR block notation or list is incorrect.
• The server IP or CIDR block are already in use.
In the screenshot below all information is provided.
Once the Microsoft Connected Cache Node has been created, the installer instructions will be exposed. More details on the installer instructions will be addressed later in this doc can be found at the Install Connected Cache section.
IP Space Approval Information
There are three states for IP space (screenshot below) that are explained in the table below. The preview will require approval from Microsoft CIDR block ranges that contain more than 50,000 IP addresses. In the future Microsoft Connected Cache configuration will support BGP and will therefore have automatic routing capabilities.
IP Space Status
Description
Valid
The IP space is below the 50,000 IP space threshold and the space does not overlap with existing cache nodes.
In Review
The IP space exceeds the 50,000 IP space and is under review with Microsoft to ensure valid IP space.
Attention Required
The IP space has been reviewed and an issue was discovered. Some examples include:
• IP space overlap with existing cache node belonging to another customer.
• IP space was exceedingly large.
Contact Microsoft for more information if your IP space has this status.
Edit Cache Node Information
IP address or CIDR information can be modified for existing Microsoft Connected Cache nodes in the portal.
To edit IP address or CIDR information click on the Cache Node Name which will open the Cache Node Configuration page. Cache nodes can be deleted here by clicking the check box to the left of a Cache Node Name and then clicking the delete toolbar item. Be aware that if a cache node is deleted, there is no way to recover the cache node or any of the information related to the cache node.
The Server IP Address, Address Range/CIDR Blocks, and Enable Cache Node are all editable as show in the screenshot below.
Set up a server with SR or an Ubuntu VM running on Windows Server
The Microsoft Connected Cache module is optimized for Ubuntu 20.04 LTS. Install Ubuntu 20.04 LTS on bare metal or VM of your choice. As discussed earlier, the recommended configuration (details below) will serve approximately 35,000 consumer devices downloading a 2GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps. Minimum Recommended Server Ubuntu 20.04 LTS VM or Physical Server Ubuntu 20.04 LTS VM or Physical Server (Preferred) NIC 10 Gbps 10 Gbps Disk • SSD • 1 2 drives minimum • 2 TB each minimum
• SSD • 2 4 drives minimum • 2 TB each minimum
Memory 8 GB 32 GB or more
Cores 4 8 or more
Install Microsoft Connected Cache on a Server or VM
Link to video instructions: https://aka.ms/MCC-ISP-InstallerDemo
Installing Microsoft Connected Cache on your bare metal server or VM is a straightforward process. A Bash script installer performs the following tasks:
• Azure IoT Edge relies on an OCI-compatible container runtime. The script will install the Moby engine and CLI.
• Installs IoT Edge.
• Installs SSH to support remote access to the server
• Enables the firewall and opens ports 80 and 22 for inbound and outbound traffic. Port 80 is used by Microsoft Connected Cache and port 22 is used for SSH communications.
• Configures Connected Cache tuning settings.
• Creates the necessary FREE Azure resource - IoT Hub/IoT Edge.
• Deploys the Microsoft Connected Cache container to server.
Note
Please ensure Port 5000 is open so Microsoft can verify proper functioning of the cache server
Steps to install Microsoft Connected Cache
1. Download and unzip mccinstaller.zip from the create cache node page or cache node configuration page which contains the necessary installation files.
Files contained in the mccinstaller.zip file:
• installmcc.sh main installer file.
• installIotEdge.sh Installs the necessary prerequisites like IoT Edge runtime and Docker and makes necessary host OS settings to optimization caching performance.
• resourceDeploymentForConnectedCache.sh Creates Azure cloud resources required to support MCC control plane.
• mccdeployment.json Deployment manifest used by IoT Edge to deploy the MCC container and configure settings on the container like cache drive(s) location size(s).
2. Copy all 4 installation files to your server or Linux VM
3. Before proceeding any further, ensure that you have a data drive configured on your Linux VM. You will need to specify the location for this cache drive on step 9. For instructions on mounting a disk, follow these steps: Attach a data disk to a Linux VM | Microsoft Docs
4. Open a terminal and change the access permissions to execute on the installmcc.sh Bash script file using chmod.
sudo chmod +x installmcc.sh
5. Copy the Bash script line provided and run the Bash script from the terminal.
6. You will be prompted to login to the Azure Portal using a device code.
7. You will be prompted to enter the Azure Container Registry (ACR) password for access to the MCC container.
8. You will then be prompted with the number of drives to configure.
9. The script will prompt for location and size of the cache drive(s).
WARNING
The permissions / ownerships on the cache drive location will be changed to everyone via chmod 777
Do not point the cache drive location to any of the following: “.”, “./var”, “/”, “<space>
Specifying any of the directories mentioned above will corrupt the VM and you will need to provision a new one.
10. If this is your first Microsoft Connected Cache deployment, select “n” when prompted for an IoT Hub. If this is not your first MCC deployment, you can use an existing IoT hub from your previous MCC installation. After selecting “Y”, we will display your existing IoT Hubs, you can copy and paste the resulting IoT Hub name to continue.
11. If there are no errors go to the next step.
• If there are errors, inspect the installer logs which are under /etc/mccresourcecreation/.
• If there were follow the instructions to trouble shoot IoT edge https://docs.microsoft.com/azure/iot-edge/troubleshoot
Verify Proper Functioning Microsoft Connected Cache Server
Verify Client Side
Log into to the Connected Cache server or ssh and run this command from a terminal to see the running modules (containers).
sudo iotedge list
If edgeAgent and edgeHub containers are listed, but not “MCC”, you may view the status of the IoTEdge security manager using the command:
sudo journalctl -u iotedge -f
For example, this command will provide the current status of the starting, stopping of a container, or the container pull and start as is shown in the sample below:
Verify Server Side
It can take a few minutes for the container to deploy.
For a validation of properly functioning Microsoft Connected Cache, execute the following command in the terminal of the cache server or any device in the network. Replace <CacheServerIP> with the IP address of the cache server.
wget http://<CacheServerIP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
A successful test result will look like this:
Similarly, enter this URL from a browser in the network:
http://<CacheServerIP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
If the test fails, see the common issues section for more information.
Common Issues
Please note: You should consult the IoT Edge troubleshooting guide (Common issues and resolutions for Azure IoT Edge) for any issues you may encounter configuring IoT Edge, but we have listed a few issues below that we hit during our internal validation.
Use this command to check the IoT Edge Journal
sudo journalctl -u iotedge f
DNS Needs to be Configured
If after running the check the IoT Edge setup/install state
sudo iotedge check --verbose
If you see the following issues with ports 5671, 443, and 8883 - it will manifest like the screenshot below, it means your IoT Edge device needs to update the DNS for Docker.
Follow these steps to configure the device to work with your DNS.
1. Use ifconfig to find appropriate NIC adapter name.
ifconfig
2. Run
nmcli device show <network adapter>
to show you the DNS name for Ethernet adapter. For example to show DNS information for eno1:
nmcli device show eno1
3. Open/create the Docker configuration file used to configure the DNS server
sudo nano /etc/docker/daemon.json
4. Paste the following into the daemon.json file (In the screenshot above IP4.DNS[1] is used) { "dns": ["x.x.x.x"]}
5. Save the file changes to daemon.json Please note: You may need to change permissions on this file. For example, sudo chmod 555 /etc/docker/daemon.json
6. Restart Docker (to pick up the new DNS) and restart IoTEdge sudo systemctl restart dockersudo systemctl daemon-reloadsudo restart IoTEdge
Diagnostics Script
If you are having issues with your MCC, we included a diagnostics script which will collect all your logs and zip them into a single file. You can then send us these logs via email for the MCC team to debug.
To run this script:
1. Navigate to the following folder in the MCC installation files:
mccinstaller > MccResourceInstall > Diagnostics
2. Run the following commands:
sudo chmod +x collectMccDiagnostics.sh
sudo ./collectMccDiagnostics.sh
3. The script stores all the debug files into a folder and the creates a tar file. After the script is finished running, it will output the path of the tar file which you can share with the MCC team (should be "/etc/mccdiagnostics/support_bundle_$timestamp.tar.gz")
4. Email the MCC team and attach this file asking for debugging support. Screenshots of the error along with any other warnings you saw will be helpful during out debugging process.
Updating your MCC
Throughout the private preview phase, we will send you security and feature updates for MCC. Please follow these steps to perform the update.
Run the following commands with the arguments we provided in the email to update your MCC:
sudo chmod +x updatemcc.sh
sudo chmod +x installIoTEdge.sh
sudo ./updatemcc.sh version="<VERSION>" tenantid="<TENANTID>" customerid="<CUSTOMERID>" cachenodeid="<CACHENODEID>" customerkey="<CUSTOMERKEY>"
e.g. sudo ./updatemcc.sh version="msconnectedcacheprod.azurecr.io/mcc/linux/iot/mcc-ubuntu-iot-amd64:1.2.1.981" tenantid="72f988bf-86f1-41af-91ab-2d7cd011db47" customerid="99d897gg-86f1-41af-91ab-4jau6ske0sdf" cachenodeid=" cd01sdfh-435n-0das-56gh90dfrt67 " customerkey="h90d234f-vbnm-lk43-0742khsd45hj”
Uninstalling MCC
In the zip file, you will find uninstallmcc.sh which will uninstall MCC and all the related components. Please contact the MCC Team before running this script and only run this script if you are facing issues with MCC installation. Exercise caution before running this script as existing IoT workflows in this VM will also be erased.
This script will remove the following:
• IoT Edge
• Edge Agent
• Edge Hub
• MCC
• Moby CLI
• Moby Engine
To run the script, enter the following commands:
sudo chmod +x uninstallmcc.sh
sudo ./uninstallmcc.sh
Appendix
Performance of Microsoft Connected Cache in Hypervisor Environments
We have observed in Hypervisor environments the cache server peak egress at around 1.1 Gbps. If you wish to maximize the egress in hypervisor environments it is critical to make two settings changes.
1. Enable SR-IOV in the BIOS AND enable SR-IOV in the NIC properties, and finally, enable SR-IOV in the hypervisors for the MCC VM. Microsoft has found these settings to double egress within a MSFT hypervisor deployment.
2. Enable “high performance” in the BIOS as opposed to energy savings. Microsoft has found this setting change nearly doubled egress a MSFT hypervisor deployment.
Setting up a VM on Windows Server
You may choose to set up hardware that will natively run Ubuntu 20.04 LTS or an Ubuntu VM. The steps below detail setting up a VM on Windows.
1. Download the ISO
a. Download Ubuntu Desktop
b. Download Ubuntu Server
2. Start the new VM wizard the give your VM a name and choose a location for the VM.
3. Choose Generation 2 VM and specify the startup memory. Please note: as it states, you cannot change to Generation 2 after you created the VM.
4. Choose the network adapter you wish to use.
5. Set the virtual hard disk parameters. Please note: you should specify enough space for the OS and the content that will be cached. That sample below allocates a terabyte.
6. Install from the ISO for Ubuntu 20.04 LTS that you downloaded.
7. Finish the creation of the Ubuntu VM.
8. Before you start the Ubuntu VM make sure secure boot is disabled and that you have allocated multiple cores to the VM. The example below has allocated 12, but your configuration may vary.
9. Start the VM and choose the option that will Install Ubuntu. Choose your default language.
10. Choose the options you wish for installing updates and third party hardware. In the screenshot below, we have chosen to download updates and install third party software drivers.
11. If you had a previous version of Ubuntu installed, we recommend erasing and installing Ubuntu 16.04. Choose your time zone, and keyboard layout.
12. Choose your username, a name for your computer and password. Remember, everything is case sensitive in Linux. You will be asked to reboot in order to complete the installation.
13. Important: When prompted with the option to upgrade, decline.
14.
Your Ubuntu VM should now be ready for the next step: Install Microsoft Connected Cache on Your Server or VM
IoT Edge runtime The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices. The runtime sits on the IoT Edge device, and performs management and communication operations. The runtime performs several functions: • Installs and update workloads (Docker containers) on the device. • Maintains Azure IoT Edge security standards on the device. • Ensures that IoT Edge modules (Docker containers) are always running. • Reports module (Docker containers) health to the cloud for remote monitoring. • Manages communication between an IoT Edge device and the cloud. For more information on Azure IoT Edge, please see the Azure IoT Edge documentation https://docs.microsoft.com/azure/iot-edge/about-iot-edge.