From d05cff6fc792a4a23dc4c615116b3000c0d0e089 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:32:52 -0700 Subject: [PATCH 01/20] Edits to MCC monitoring page --- windows/deployment/do/mcc-ent-monitoring.md | 83 ++++++++++++------ .../images/mcc-ent-cache-node-summary.png | Bin 0 -> 11749 bytes .../images/mcc-ent-key-metric-charts.png | Bin 0 -> 51903 bytes 3 files changed, 57 insertions(+), 26 deletions(-) create mode 100644 windows/deployment/images/mcc-ent-cache-node-summary.png create mode 100644 windows/deployment/images/mcc-ent-key-metric-charts.png diff --git a/windows/deployment/do/mcc-ent-monitoring.md b/windows/deployment/do/mcc-ent-monitoring.md index fd1e2c5e51..356df8fdeb 100644 --- a/windows/deployment/do/mcc-ent-monitoring.md +++ b/windows/deployment/do/mcc-ent-monitoring.md @@ -14,48 +14,79 @@ appliesto: ms.date: 09/04/2024 --- -# Monitor Microsoft Connected Cache cache node usage +# Monitor cache node usage -Tracking the status and performance of your MCC cache node is essential to making sure that you're getting the most out of the service. +Tracking the status of your MCC node is essential to making sure you are getting the most out of the service. - +For advanced monitoring, navigate to the "Metrics" section under the "Monitoring" tab. Here you will be able to access more sampled metrics (hits, misses, inbound traffic) and specify different aggregations (count, avg, min, max, sum). You can then use this data to create customized dashboards and configure alerts. Overall, this section is designed to cater to your specific monitoring needs and preferences. -## Cache node summary +Between the two monitoring sections, you will be able to gather essential insights into the health, performance, and efficiency of your MCC nodes. -The Cache Node Summary box on your Azure portal +## Basic Monitoring + +### Cache node summary + +The preset monitoring data for MCC is displayed on the Overview page in the Azure portal. Below are the metrics you will find in the "Cache Node Summary" dashboard, along with their descriptions. Please take note that this dashboard only reflects data from all cache nodes the last 24 hours. The filters that are displayed below the dashboard only affect the data shown in the "Key Metrics" charts. + + +![Screenshot of cache node summary in the Azure portal interface.](../images/mcc-ent-cache-node-summary.png) | Metric | Description | | --- | --- | -| Healthy nodes | The MCC service will periodically request heartbeat messages from your MCC node to determine if it's functioning as expected. | -| Unhealthy nodes | If the cache node doesn't respond, it is labeled as unhealthy. | -| Max in | The maximum egress (in Mb/sec.) that your node has pulled in at any given time. This statistic isn't dependent on the time filter near the charts. | -| Max out | The minimum egress (in Mb/sec.) that your node has pushed out at any given time. | -| Average in | The average ingress (in Mb/sec.) that your node has pulled in over its lifetime. This statistic isn't dependent on the time filter near the charts. | -| Average out | The average egress (in Mb/sec.) that your node has pushed out over its lifetime. | -| Cache efficiency | The percentage of all requests that your MCC node receives that are ultimately delivered by your MCC node. An effective node is generally expected to have an efficiency >95%. | +| Healthy nodes | Your MCC node will frequently send heartbeat messages to our backend. If your node has responded in the last 24 hours, it will be labeled as healthy. | +| Unhealthy nodes | If your node has not sent a heartbeat message in the last 24 hours, it will be labeled as unhealthy. | +| Max in | The maximum ingress in Mbps (Megabits per second) that your node has pulled from CDN in the last 24 hours. | +| Max out | The minimum egress in Mbps that your node has pushed out to devices in your network over the last 24 hours. | +| Average in | The average ingress in Mbps that your node has pulled from CDN in the last 24 hours. | +| Average out | The average egress in Mbps that your node has pushed out to devices in your network over the last 24 hours. | +| Cache efficiency | The percentage of all content requests your MCC node receives that are ultimately delivered by your MCC node. An well-performing node should have an efficiency > 90%. | -## Charts +### Key Metrics -### Filters +The two monitoring charts on the Overview page more visually represent the usage of your MCC node, as well as the types cached content delivered by your node over various time intervals. -- Will only filter the data shown in the two charts, scalable from 1 hour to 30 days -- Can view data by individual cache nodes or the average of all your active MCC nodes. + +![Screenshot of key metric charts in the Azure portal interface.](../images/mcc-ent-key-metric-charts.png) -### Outbound traffic +#### Filters -- The egress (in Mb/sec) that your MCC node is pushing out at specific time intervals +Both filters displayed will only impact the data shown in the 2 charts below. -### Volume by Content Type + - By time: View data from the last 1 hour to 30 days + - By cache node: View data from individual cache nodes or the sum of all your active MCC nodes. -- The volume of content that your MCC cache node is distributing, broken down by the hostname used to download said content +#### Outbound Traffic Chart -## Additional metrics +This chart displays the egress in Mbps that your MCC node was delivering at specific timestamps. The value in the chart's key represents the average egress over the specified time period. -### Custom metrics +#### Volume by Content Type -- Navigate to the "Metrics" tab in the left-hand toolbar -- Configure chart as desired using the provided metrics +This chart displays the amount (in GB) of each supported content type that your MCC node is delivering at specific timestamps. You can find the complete list of supported content types here: [Microsoft Connected Cache content and services endpoints | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/delivery-optimization-endpoints) - \ No newline at end of file +The content types in the key are sorted from highest to lowest volume an each have a distinct color. The bar chart is stacked such that you can visually compare total volume being delivered at different timestamps + +## Advanced Monitoring + +To expand upon the metrics shown in the Overview tab, navigate to the "Metrics" tab in the left side toolbar of Azure Portal. + +Listed below are the additional metrics you can access in this section: + +| Metric | Description | +| --- | --- | +| Inbound | The number of content requests your MCC node receives over a specified period of time. | +| Hits | The number of times your MCC node fulfills a content request by pulling from its cache. | +| Misses | The number of times your MCC node is not able to fulfill a content request by pulling from its cache | + +### Customizable Dashboards + +Once you select the charts you would like to track, you can save them over to a personalized dashboard. This dashboard enables you to configure the chart title, filters, range, legend, and more. You can also use this personalized dashboard to set up alerts that will notify you if your MCC dips in performance. + +Some scenarios where you would want to set up these alerts: + • My MCC node is being shown as unhealthy and I want to know exactly when it stopped egressing last. +A new Xbox update just released last night and I want to know if my MCC node is helping deliver this content to my client machines. + +## Additional Metrics + +Once the content has left the MCC to be delivered, the node cannot track whether the content has successfully been delivered. To access client-side data, you can refer to this page: [Monitor Delivery Optimization | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/waas-delivery-optimization-monitor) \ No newline at end of file diff --git a/windows/deployment/images/mcc-ent-cache-node-summary.png b/windows/deployment/images/mcc-ent-cache-node-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..596b382728342dae1cbc9637de2c4aa8aa0d6d92 GIT binary patch literal 11749 zcmd_QS6Gux+b#?$@CYJSRH_O{2c<|eK}EXKduR%Xbfij2q6i`&AYHmh2@oI<2ps|< zAiehz0UYFS-Dsl7#P^K zwVoI;Fq}rwe;@pFiXI1QN37EmMqeY%#|#yNJR5Z5jPs*sj~E!L;@OU#Gtup{-ddKv z3=Et?e*>eok>DQ&2FYOUCyz|t*y0z?hMG()oNT9`RXK#AfQR|>2C*m)D|0h zj-Fiqk8zX#G~Ljc#~?&RL@J4lbYsHO$|?ga%~-g)q7lnAbD93=A<6G(e_LkNq05|Z zF)$xor^k1HcGKgxkATedBeh)f=VsIR()3Wq3-|CpELoxVq z=T_AgLtM<5D=w_vpygzx?>b+Z=@8@!J*$=h`vJI4jh}fi>s)Gb_+YO2NzT5+oAseZ zB|iG!#Scy8_;ZgWOpKPtmZlGsT4h1{;K!BKzi^D`M6@KLH6b8AYhq;dXneW6n_koHojvP z){I!fMRcYLfR3rzx%^0exLireaStY_Q07!sW;5y~2Dm+#ATX&yUAcL}Nc}rmth0It zx=$o3NK>@U7fs3}UC*P#5`-K@p}7n5ZKXtd;j2`$N{E>D?H&5yj&-YP2C~F&nZ$OZ zHqRi?8)frB>k%CM;Dezj_`%i9>yHZw2Q}6tDjNi}sZmXZX@RX@b zBj4PuGO8hN=*foInP5HmMcf|G)QgMwA93*3mS3>}yL=%N)sLo{!`&jxxP6oExO%1q zu{?g6jcW~wL6rsWdUqUC9H-HQgrjMPz@Jb;)s2b(x1f)3JN%%ptd>&aLZ}i!-XH|hXNEzG$qOJbWAeo|1hP%3{iCd9qd+A(8A)cyPKf;)Wxk+54zqW44E(= zYVho=Hsg|lY>=NXb@G8pAb|%g?tA+)Lm5wRTuREB@Qr^8v1{>uz0IbrA5p!vCajDm zuM=a&m7$g=k*f1A2TVkFdlEM$kK$M_hAq)7Ci@Ej-=5b!DKZcEjWTVvr2eNqT4 zjAwsFV{p;|b!&dm;)$wwN`%h+wW9*TkY-YG#*ELN6LUr>Mp!J}EpPvKP|9g=Gwb+9A*+~5PX7v|m z&p^*vcA#gTxll=?9p1zjZT7C3#+#Gwh|+ML55dY4sE7W>eCg$N!&dJ}XF6@mL)g?J zr_iQ8xl=Cmt>z)gpj~OL`rGiVr4SRhE>Q9xniH{v#(!MBXbNl1+S-=wI({4d6Q-Yo z`uMEt~`^OKXF|TEyXsn{W^V>(&k(?V!>Qu`7`1TzzMtA4g1{pDUK&I{E z$PeEmP8=zGX9vhfTG}?wU2#ZntUq*YyyjbZ1dz0+C=K@ZffXI5$mATn!c2n6?gBwS zyeR9FtG)a~zdoI7AOaAW0?(0MK3)n(1&uVpLE2H4q%ZAaJ~2i9YsX3!KDH4yaDWAk zdQg>gnAehFWYozpW2Y@ePR~fK$bhAJV;woj)kO&ve)@r@zgl)*$z@F>q%GEw zD#1e-;n0I@B({)`eDo?Y(T>=7IF%y+5c?Ru(u0}x8=n0fXpQgwfZq7*JS%Ant$#(z z6ei#n=5yHStCQW-8weyx%Rhb0kve?wU>vH7F?1rX_o0(J#IEvreU3nc(eF9*KAzhN-KFtT3gqn6exp5y;y+gQzMLXsHQmL zM#5iEFk!-^na&)0G--b}`#mvRs$W$| z9Bnn#l=j^=;yG~!E7Ls7K>*o8#BU~TBwt<2h^y`lG+@XpqQ zU8|DqE*8h;qxN{xi{1#xv_&lP`W` z#G$fY7;>})a8_}EiVLhJgg^s9Y_uXAvR6%7iv=MGfE;`$pg-czTqjBp&LVi>iYhY) z>V88GDsj2f%!DbEU;m)<*J-hmIazv#mcCu-j)xT%&RjlQ{ENJTkYjh$s~D@YD~}7D z+`NYzd~b}yd0RI!+p)@d-nbZNh^KEAq@QDlklZ~HjsHBMO>_zQzBnNOlQjQ;ycWvLU)&|iF8D*YdL zntZ?Y+f()t`jdxOO(rdLssDo3|4l9a1B?I9IQM^S7O2P-BvC_5L_|whw^~?i9Es13 ze}nrBNO*hbe~S1ZBiL<>nJi~;AW~R-_}_55m&?sX^)E^I#FZK!-wFwg?8(&G64hPY z2l2njKPQZ^8u`wm{1Q8JSxP8VxQ=)4&@f~(aYm*V|F$mv48DZ*rZ^8ZQqhK`*l|^~ z@T%dT<&@j;_=Ypf_!p};`SpUWxEl%!Hx{ zArNP+o@eB2NEsq&OA)dFyFtq~ngmRuXJ8l51*IaPg^}i_OY--dO^rm$Y2J7y^plsU#r70>BZLcx%R9z zP`g44rtT|{I$IYrlV^L=WEEaUD2>(51U|pTZ)fSqPiQLWZX^xW)Sj1o=pXo|BU-Jc zd$W1M{m(ifB+a8>p<>zHuC|@`%<6h3_tvC%c`X3kQ#e2UqxITk=$~=#S%Tcx!1v!z zYwppq(rwCBT8jer&@My5k+%n#>m)$g4{kNZ!b?*|jrKuxUVPv`Bq{i7*4lE%-Dr|zcYLE{PsV04 zAg{e9i?V8K)Rinserj5oiLhLoIFH0&n_MPFpOKT*_5J|YN8rwv+S}?!cd9nxy)(iW zcwO(|f0PO@_fYiQGiUo2wyT`mX~99@*6S0OZzbIW09^r?xf;=zmJM z^$pbOkT7^;AxsIkO@&;uR5aa=*{qJ4RneI-p}?DRh4e>cos1Pe++J4SirXOACQDY` zaiEsPSJ2FPX+CB@zqMTRpj1 zqu=c;EVe4DB7z&H6{W(C`^%z8{yZasWz87htuLU>*)dKuk&-}79&Va=j#cvws45<< zaK3#p#aJhzB>6T6s)%#c|0~a7;W-M#6E|Zjus0>VyMU?^u&8(N+H3wN$4TC{JwUhh z-m3NUJgVTMpM7|@tK8iwHDy~;Zq5y*#wA)qKzV{^h}hNWV4=&g~UX@Mizrq{(GMJ{r%jkV$F%o z2_@#UO8U<(gW7b`iI#i?NAA;;#zWRLzwXtBi{N(c8^(_8<)>N-r@aO?ik!Qy40bKB z6sWMD%Uf<1{CEhw#yHX;!PQ^OQZ7koQ;sO80!%+btI^ktJ3}7pf$5i^3O~K-EUw zpZ-|B!@jvBU%l{F#Sf~L{Fw;SORBB}hO0CQYPvVLyRIeX9A5s&Q@UhWyDIrMcQIuqD?~nj}ySLn?4sNb{(h!ek#UwH)Q>Ll1@#Dd*3a(dduqTKsXQl42aj8 zz1)^#tmzhY0y)u>zL04}5jdBTmTy<=W>!m38_6t~x|6lIRIE7a(KYXlh;)_g>*xBW z+bn@`Dqjde;*w5JHg{#Kz|&F}CZd4Fw#}>-%?I1P?>Fv{H?7GRK#Jw4nX?aLpRdc` zEDht_zTab+iE{HBR+ zN$jM)yUqIn3hQ-Z*>Z8iW$>UNi)Aw+MB+rl{k>V;4RH-#F1T7xfxTZHl4olUP`i?j zYN&ErTvGsCRkn{{tIRLl^$T*l)RzkVT4xq#pzC+9mdrJ_uq1__@ z)+on4@kE#q2VK;D8?Y0RHpq}n;IQ1ly7i&0osIP)mdxeT5rZX}^TDchrbOY2xbnQJ z@_)|yL}w6Q>HZOs$}~|C>NHKXs__CF#9i2KQa=wtQnTRitncr?Jrk_mq4W;ss2962 zRevgo{M+_pV9;llEas@pCeQjV$HZT{WPI)j+ zwEM#Zz|66i2T?IJnv6?&@?fwBO-VN&>V(mqQgl42_cH)%#n_blEJMQv1k0Z18JKYM|+_Dmv z0i5?yEuJpoP?yNUuz!0KV9LnFku5utqUiDOPMCV2i}!3?wV`QdvDe-nz|)UmlVI+2 zpxT#~uUd88oj9?PvU^%&npVI}s*O*#ID2G?$SPs3WKpber!?cYVtJElR%SAvsP_Bd z$9v!RiBmtRfis{Bh4Q>6OM!t$m8eVaYkG=&-6xpiGq zheFe(w2u-=;w(`6X z!`U{M*_HWNE}6cjdVLI@qN>ioiEjvBCIte*5`5A7dABw@Of)qEmAgB~XqVWo^+yAC z)26p|<~k2SAex_MNQL~1yn0RIA9b&k!f$%v^9urpym$+ltuS_bWm^f$%0FQaYPvJ+ z*)2D#M&s(mYLmNE{tj|K=g~@36D^yi5i@w6j1rKgYy7 z_SSkbVH%E)1B1_(-ne+c+S{#tgXRDg>|8JcA%oN#=Hd$jxDzLc3QB=PN_S<7@+GAJ z;UX%bLOLVgx3a#n-kxljwZba6-CtYVstWu?-=W8256Zvg?{?3qP(=H??$qi>KFL|q*4w|LGP0KVvcaE|0q0(G(5 zm5LL_$&%UIG}lkRdXpwkEvghfxHreA>rq!_8GD-#Eeg-rE}EIT^pnvG+{buUGf1#_ z?CoM^F7(*%DSsH1^}c_2EupwIrd2n%zh@v_cH833!_f5N=V`W6SP#n!6_-|pG%Ai# zCzhRDRc)sIj4LF5C5z0UzY9bGCM8x~_jX}>Amh%R@6V?`^9FT}W0xIcS}L{&E~?az zT`0yxkbFi8d7aD?3gs5_EOSpHRisRUstHe$QbKHV1J|#yb;wS9+zn1IOfek_!&|a9 zvQ0A~H2imk198M$fWN8pkPQF4{J;&21PEtUt~mp&@&2|bmSXFw!(?r|sQGw)#s7Cv zFk{)7yC4c40^W9^(`+2WJTJ=}weHJI@*6lVmw4Se^P20&>@Vs~r3Vs<^ z{d|BK4NxGd!(?Y!+haldcEi52K*$c3ID1;((5WY=R{rg1tKuxFB`w`NX!x0^{-)AO z?fp0p)yZde1PtP%+A1+@AuxH7#HoJYWuO3U#p{7&RO4>0x2bci$JS8^>19#8dpkKQ zMLdzSd_4KspIGBwd0R8=%D`bq^B4U~g`brx{b$?0T;`Y%xxlx$`(tpeL`F9b6R6ty zBtFXPzG64v=gzW6wiKyS?2^&QKpnzD29>UJW4)#A+-tp>n*1wQ zt#np+GbZZ)5$CAU*0uAa=$^d`5mf{z~)4OF@n>qjG3hf8k%w#8R~s5tcg90B7qq5$?*kt=j0)gM* z-}=94GXMYaZt8z5XaA4(@&B^<9rT;Wt)>K4R@Twc(XA*}lsgqGu&C^)FZdOb-KG*> zv^ZPy4!~{#)DbPE2L{37vZ_?_zqgac=?C?WyTA8p`u}qO4Kc^Q>DrAXg_LPyr~I7E zoJkE&TerLMwf~9)MaLrJPjPG8>FZ3(<&_QrIsPZ>xWGUW;>!+D@qYQc4HxrKSgB5e zRP=WAt1Xye&7XHHiz4Mwa$ZN}1k{GU{Nil5L~bf@jpH8eC4u)5p=l~eC@EeS`o)KB zia9EgSW%`wa@$REw=o#9kE@Oud+*f@axDzLXG&0i4QwptXg7VbV)oO=H_hlkko2@6 zsP!7wlHeoGZE)Cn`s)>W8Ge47&rNXsT&un*{#s{~TiGx1KXZLRi2ze(pS#x~?nk9Z zVKypLs!6Ix6~)mgI#*?u_Ds{xay9H7u)Z?H-c@EYkeLEr=LA&-L@*9yV7rU zA%!`bbI=lG#H4@MH7>S6sicKkX4Tk}Q!zMx>twB}DsPO=d*{Ipz)|(ro|`e?4wx-l zTFt!uz$ejZv6(%HCmgV|+O zWp9oNFXTM#oI|?%ceTh8H;@6T&L7}G*6QO^^5RVg8BUXgng5Cn2~42xGXg%nl*edz znYPywBtFPkS54UJ0IIrku@lq|Dpb*}9-S^T4CpKEy6Og5 z%glrZQu-Rr@9gV?bTz*dV%VF|l+D91Wp z@UiiIiI+QxX-3aEy(yQSy^1OMB%2m%3Y8`wafo6cBsBs z+U0*xuF7bhiwf?GiE|GCnqobI!I~3asNoMZn!mqX(*iwcGR8XI4A% z*KZLsI0BFF4gHsIxxTKgI+VN^d>P(!X}`0}GSpFFgk~?#Rzp^k4N+Mc@2O>z6z&ON>lcQsqxptE-*2YH^w+F(C*X z+FDw5bJ)Use*40IMULkGh#V5&CAQJ-yqZ0AikIDH#l!OakEP4HmQZ-RgEf14X+nqT zv$<5@wj*r@M4D_2sTiu@x_58Cc{i1GOVH~`1i$rgsl zAWuC5UL9#oQB$_{LAM4EC<hJ&rT{` zK_ES?u{Fuvp{xNz)t>zG>Vfs^HP?DIZ_mip%>}KDKNhYiisS zA6m)+D%gsam1?-6XOxyP>2?h#=eszdO2`|WLB1b@W*iQFDFpajw`8==%HXsvGkFao zxVQ#uLSY0=cixX}Xx%se88cfFl%;*_*x>xc^~$eVr6P)@!`~m^!GT5h`GfU;No=!Sd+Po2}_-*V0)wE_b zKuBo>xdz88nOlg+TWpp7mQ-9gKRHeoq{Z7l>#8{I7Q(8WEx z+3-O4Yw*bepnRBq5G;ua8~q8u72P?A>)M-fUzLI5HCr&me^Hf^Q zcV4a_x~h@_oId*&M!)}=$kVgyf_u%`wTN3Y`g09~gg9V!b6B^LR)22F_Z(H?P0cX# zS*c03GDu@SU<&IywPCb^%W+dGuF;bn;PaWQa5;h2yf^o${t0(**!kAynPg))LOtFyOUx_zyPEp!=5d>^eG$S zAQ#3n6b1buCz_@j=DR7v~y{H)GY zri=Kps4blj*it`%?=?+Dyxd-Ck!-fPFmYR(uG^TV8xcg4mD0;zv#)61)Y-7>9qDDy zAMeNh>;oJuvTv8Zo)O}1E`~Tf39C<8af0_=L^6uVi}Huq?m1K>edcQ3ZIst*xs$;T z386#lLDQSI=DO1?XWiZj2i(`6@GVTWKI*;c3|Y9hLi(v^37K9F`m0@-i_}HCY0J3P zLV&V|*TRhEpj-sx)_po;hMgQ9?TiHLKFGb=$tCcG53z$+xaks3x@5TW1V`d~6Z}*Y zXZnGU8{O;5>puVeB<$FJ?ms$*s@|Df_eN;Of}9gx+(4Q^p2xGLSI$S2Rgpquo2&C) zLFoJ4z`;@Od3W!)EZ9b@Wp4V)r_%9;M>_T!X*^14(VLmH#yojFucmpamk;CIKgbTY zn{urrDvm09e5HPxy_McHfkas13{{fdYW(`j&Wn?Z$ic_THnl==zd5|%*KDVtLCf?m zl5x|*g$61G72?;u4!!2kbf)5I{dbSo$r#nG0edIkHVt_)hN{JO6e z3S2Iik>eXjTz-Qc83$$FuY|$*lwkCo@{UcKjZ1+M-=FQ3D4Odd|Hq;cX_5|ez?0aC zYl=h7j;^+%<%iSpZ(U32$B*gbQ$Lw}X`zd%H zKoZ!CpC%i9{ryQ1v-q>yb_YN61`?1uM YaK>T~@X~lXy$A+vb-gDQkL|<$KS+=yJ^%m! literal 0 HcmV?d00001 diff --git a/windows/deployment/images/mcc-ent-key-metric-charts.png b/windows/deployment/images/mcc-ent-key-metric-charts.png new file mode 100644 index 0000000000000000000000000000000000000000..b1d05e6103139bef459935e9c4bfeffd5aa30ae7 GIT binary patch literal 51903 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

%MAGf*ROrS^FXxm?1IK}F;pgcanvRoXd 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�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 literal 0 HcmV?d00001 From 2bd433cd1799264de907de6ca4ec046bd39b3318 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:37:39 -0700 Subject: [PATCH 02/20] Renaming cli page --- ...-ent-manage-cache-using-cli.md => mcc-ent-manage-using-cli.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename windows/deployment/do/{mcc-ent-manage-cache-using-cli.md => mcc-ent-manage-using-cli.md} (100%) diff --git a/windows/deployment/do/mcc-ent-manage-cache-using-cli.md b/windows/deployment/do/mcc-ent-manage-using-cli.md similarity index 100% rename from windows/deployment/do/mcc-ent-manage-cache-using-cli.md rename to windows/deployment/do/mcc-ent-manage-using-cli.md From b2a5749c44158060c220df83458ca9e6f3d42711 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:39:38 -0700 Subject: [PATCH 03/20] Rename troubleshooting page --- ...port-and-troubleshooting.md => mcc-ent-troubleshooting.md} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename windows/deployment/do/{mcc-ent-support-and-troubleshooting.md => mcc-ent-troubleshooting.md} (95%) diff --git a/windows/deployment/do/mcc-ent-support-and-troubleshooting.md b/windows/deployment/do/mcc-ent-troubleshooting.md similarity index 95% rename from windows/deployment/do/mcc-ent-support-and-troubleshooting.md rename to windows/deployment/do/mcc-ent-troubleshooting.md index 4199588658..467471df0a 100644 --- a/windows/deployment/do/mcc-ent-support-and-troubleshooting.md +++ b/windows/deployment/do/mcc-ent-troubleshooting.md @@ -1,6 +1,6 @@ --- -title: MCC support and troubleshooting -description: Details on how to troubleshoot and seek support for Microsoft Connected Cache for Enterprise (MCC). +title: MCC troubleshooting +description: Details on how to troubleshoot common issues for Microsoft Connected Cache for Enterprise (MCC). ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to From c35dbee783eeaa9c6a61dd5d715c6d2f4845e936 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:42:39 -0700 Subject: [PATCH 04/20] Update TOC with new page names --- windows/deployment/do/TOC.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/TOC.yml b/windows/deployment/do/TOC.yml index 5fdeb51d86..4ebaba436e 100644 --- a/windows/deployment/do/TOC.yml +++ b/windows/deployment/do/TOC.yml @@ -50,7 +50,7 @@ - name: Deploy MCC to Windows href: mcc-ent-deploy-to-windows.md - name: Using CLI to create and manage cache nodes - href: mcc-ent-manage-cache-using-cli.md + href: mcc-ent-manage-using-cli.md - name: Verify cache node functionality href: mcc-ent-verify-cache-node.md - name: Monitor cache node @@ -64,7 +64,7 @@ - name: Frequent Asked Questions href: mcc-ent-faq.yml - name: Support and troubleshooting - href: mcc-ent-support-and-troubleshooting.md + href: mcc-ent-troubleshooting.md - name: MCC for Enterprise and Education (early preview) href: mcc-ent-private-preview.md - name: Release notes From e1546f1fd789e2753207bc30d3e4ad8130f8831c Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 17:47:43 -0700 Subject: [PATCH 05/20] Replace MCC with Connected Cache --- .../do/mcc-ent-create-resource-and-cache.md | 46 +++++----- .../deployment/do/mcc-ent-deploy-to-linux.md | 14 +-- .../do/mcc-ent-deploy-to-windows.md | 26 +++--- windows/deployment/do/mcc-ent-edu-overview.md | 90 ++++++++++--------- windows/deployment/do/mcc-ent-faq.yml | 12 +-- .../deployment/do/mcc-ent-manage-using-cli.md | 20 ++--- windows/deployment/do/mcc-ent-monitoring.md | 38 ++++---- .../deployment/do/mcc-ent-prerequisites.md | 35 ++++---- .../deployment/do/mcc-ent-private-preview.md | 14 +-- .../deployment/do/mcc-ent-release-notes.md | 16 ++-- .../deployment/do/mcc-ent-troubleshooting.md | 18 ++-- .../do/mcc-ent-uninstall-cache-node.md | 18 ++-- .../do/mcc-ent-update-cache-node.md | 26 +++--- .../do/mcc-ent-verify-cache-node.md | 24 ++--- 14 files changed, 200 insertions(+), 197 deletions(-) diff --git a/windows/deployment/do/mcc-ent-create-resource-and-cache.md b/windows/deployment/do/mcc-ent-create-resource-and-cache.md index f1bb077c2b..3cfc44f9f2 100644 --- a/windows/deployment/do/mcc-ent-create-resource-and-cache.md +++ b/windows/deployment/do/mcc-ent-create-resource-and-cache.md @@ -1,6 +1,6 @@ --- -title: Create and configure MCC cache nodes -description: Details on how to create and configure Microsoft Connected Cache for Enterprise and Education (MCC) cache nodes. +title: Create and configure Microsoft Connected Cache nodes +description: Details on how to create and configure Microsoft Connected Cache for Enterprise and Education cache nodes. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -16,17 +16,17 @@ ms.date: 06/03/2024 # Create Microsoft Connected Cache Azure resource and cache nodes -This article outlines how to create and configure your Microsoft Connected Cache for Enterprise and Education (MCC) cache nodes. The creation and configuration of your cache node takes place in Azure. The deployment of your cache node requires downloading and running an OS-specific provisioning package on your host machine. +This article outlines how to create and configure your Microsoft Connected Cache for Enterprise and Education cache nodes. The creation and configuration of your cache node takes place in Azure. The deployment of your cache node requires downloading and running an OS-specific provisioning package on your host machine. ## Prerequisites 1. **Azure Pay-As-You-Go subscription**: Microsoft Connected Cache is a free-of-charge service hosted in Azure. You'll need a pay-as-you-go Azure subscription in order to onboard to our service. To create a subscription, go to [pay-as-you-go subscription page](https://azure.microsoft.com/offers/ms-azr-0003p/). -2. **Hardware to host MCC**: The recommended configuration serves approximately 35,000 managed devices, downloading a 2-GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps. +2. **Hardware to host Connected Cache**: The recommended configuration serves approximately 35,000 managed devices, downloading a 2-GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps. -For more information on sizing and OS requirements, see [the prerequisites for using MCC](mcc-ent-prerequisites.md). +For more information on sizing and OS requirements, see [the prerequisites for using Connected Cache](mcc-ent-prerequisites.md). -## Create MCC Azure resource +## Create Connected Cache Azure resource # [Azure portal](#tab/portal) @@ -58,9 +58,9 @@ For more information on sizing and OS requirements, see [the prerequisites for u * Install Azure CLI extension **mcc** by following the instructions [here](/cli/azure/azure-cli-extensions-overview#how-to-install-extensions). - * Resource group under which an MCC resource can be created. Use the [az group create](/cli/azure/group#az-group-create) command to create a new Resource group if you don't already have one. + * Resource group under which a Connected Cache resource can be created. Use the [az group create](/cli/azure/group#az-group-create) command to create a new Resource group if you don't already have one. -#### Create MCC Azure resource +#### Create Connected Cache Azure resource Replace the following placeholders with your own information: * *\*: Name of an existing resource group in your subscription. @@ -73,7 +73,7 @@ az mcc ent resource create --mcc-resource-name --resource-group --- -## Create MCC cache node +## Create Connected Cache cache node # [Azure portal](#tab/portal) @@ -117,7 +117,7 @@ az mcc ent node create --cache-node-name --mcc-resource-name *: The size of cache drive. Must be at least 50 Gb. * *\*: If proxy needs to be enabled or not.
Accepted values: enabled, disabled
- Proxy should be set to enabled if the cache node will need to pass through a network proxy to download content. The provided proxy will also be used during deployment of the MCC cache node to your host machine. + Proxy should be set to enabled if the cache node will need to pass through a network proxy to download content. The provided proxy will also be used during deployment of the Connected Cache cache node to your host machine. * *\*: The proxy host name or ip address. Required if proxy is set to enabled. * *\*: Proxy port number. Required if proxy is set to enabled. * *\*: Update ring the cache node should have.
@@ -158,7 +158,7 @@ az mcc ent node update --cache-node-name --mcc-resource-name
-### Configure Windows MCC +### Configure Windows-hosted Connected Cache node Use the following command to configure cache node for deployment to a **Windows** host machine. Replace the following placeholders with your own information: @@ -171,7 +171,7 @@ Replace the following placeholders with your own information: * *\*: The size of cache drive. Must be at least 50 Gb. * *\*: If proxy needs to be enabled or not.
Accepted values: enabled, disabled
- Proxy should be set to enabled if the cache node will need to pass through a network proxy to download content. The provided proxy will also be used during deployment of the MCC cache node to your host machine. + Proxy should be set to enabled if the cache node will need to pass through a network proxy to download content. The provided proxy will also be used during deployment of the Connected Cache cache node to your host machine. * *\*: The proxy host name or ip address. Required if proxy is set to enabled. * *\*: Proxy port number. Required if proxy is set to enabled. * *\*: Update ring the cache node should have.
@@ -240,7 +240,7 @@ To deploy cache nodes using Azure CLI, see #### Proxy settings
-You can choose to enable or disable proxy settings on your cache node. Proxy should be set to enabled if the cache node will need to pass through a network proxy to download content. The provided proxy will also be used during deployment of the MCC cache node to your host machine. +You can choose to enable or disable proxy settings on your cache node. Proxy should be set to enabled if the cache node will need to pass through a network proxy to download content. The provided proxy will also be used during deployment of the Connected Cache node to your host machine.
@@ -258,14 +258,14 @@ You can choose to enable or disable proxy settings on your cache node. Proxy sho ## Other operations on resource and cache nodes
-### List all MCC resource +### List all Connected Cache resources # [Azure portal](#tab/portal) -Navigate to the resource group under which you would like to see the MCC resources. +Navigate to the resource group under which you would like to see the Connected Cache resources. # [Azure CLI](#tab/cli) -Use the following command to list all the MCC resources under the resource group. +Use the following command to list all the Connected Cache resources under the resource group. Replace the following placeholders with your own information: * *\*: An existing resource group in your subscription. @@ -279,7 +279,7 @@ az mcc ent resource list --resource-group ### List all cache nodes # [Azure portal](#tab/portal) -On the left pane, click on 'Cache Nodes' under 'Cache Node Management' to see all the cache nodes under the MCC resource. +On the left pane, click on 'Cache Nodes' under 'Cache Node Management' to see all the cache nodes under the Connected Cache resource. # [Azure CLI](#tab/cli) @@ -296,14 +296,14 @@ az mcc ent node list --mcc-resource-name --resource-group ---
-### Delete MCC resource +### Delete Connected Cache resource # [Azure portal](#tab/portal) -Navigate to the MCC resource to delete and click on the delete button on top. +Navigate to the Connected Cache resource to delete and click on the delete button on top. # [Azure CLI](#tab/cli) -Use the following command to delete the MCC resource. +Use the following command to delete the Connected Cache resource. Replace the following placeholders with your own information: * *\*: Name of the resource group in your subscription. @@ -319,7 +319,7 @@ az mcc ent node delete --cache-node-name --mcc-resource-name [!IMPORTANT] > - Microsoft Connected Cache is currently a preview feature. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). -Microsoft Connected Cache (MCC) for Enterprise and Education (preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. MCC can be managed from an Azure portal or through Azure CLI and can be deployed to as many Windows devices, Linux devices, or VMs as needed. Managed Windows devices can be configured to download cloud content from a Connected Cache server by applying the client policy using management tools such as Intune.
+Microsoft Connected Cache for Enterprise and Education (preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. Connected Cache can be managed from an Azure portal or through Azure CLI and can be deployed to as many Windows devices, Linux devices, or VMs as needed. Managed Windows devices can be configured to download cloud content from a Connected Cache server by applying the client policy using management tools such as Intune. -Microsoft Connected Cache (MCC) for Enterprise and Education (preview) is a standalone cache for customers moving towards modern management and away from Configuration Manager distribution points. For information about Microsoft Connected Cache in Configuration Manager (generally available, starting Configuration Manager version 2111), see [Microsoft Connected Cache in Configuration Manager](/configmgr/core/plan-design/hierarchy/microsoft-connected-cache). +Microsoft Connected Cache for Enterprise and Education (preview) is a standalone cache for customers moving towards modern management and away from Configuration Manager distribution points. For information about Microsoft Connected Cache in Configuration Manager (generally available, starting Configuration Manager version 2111), see [Microsoft Connected Cache in Configuration Manager](/configmgr/core/plan-design/hierarchy/microsoft-connected-cache). -Microsoft Connected Cache deployed directly to Windows relies on [Windows Subsystem for Linux](/windows/wsl/about) and either a [Group Managed Service Account](/windows-server/identity/ad-ds/manage/group-managed-service-accounts/group-managed-service-accounts/getting-started-with-group-managed-service-accounts), local user account, or domain user account are required to run WSL. WSL needs to run in a user context and any user, even if the currently logged-in user, could be used to run WSL and Microsoft Connected Cache.
+Microsoft Connected Cache deployed directly to Windows relies on [Windows Subsystem for Linux](/windows/wsl/about) and either a [Group Managed Service Account](/windows-server/identity/ad-ds/manage/group-managed-service-accounts/group-managed-service-accounts/getting-started-with-group-managed-service-accounts), local user account, or domain user account are required to run WSL. WSL needs to run in a user context and any user, even if the currently logged-in user, could be used to run WSL and Microsoft Connected Cache. -### Supported scenarios and deployments +## Supported scenarios and configurations -Microsoft Connected Cache for Enterprise and Education (preview) is intended to support the following content delivery scenarios:
-* Pre-provisioning of devices using Windows Autopilot
-* Co-managed clients that get monthly update and Win32 apps from Microsoft Intune. For more information, see Support for Intune Win32 apps.
-* Cloud-only managed devices, such as Intune-enrolled devices without the Configuration Manager client, that get monthly update and Win32 apps from Microsoft Intune. For more information, see Support for cloud-managed devices.
+Microsoft Connected Cache for Enterprise and Education (preview) is intended to support the following content delivery scenarios: + +- Pre-provisioning of devices using Windows Autopilot +- Co-managed clients that get monthly updates and Win32 apps from Microsoft Intune +- Cloud-only managed devices, such as Intune-enrolled devices without the Configuration Manager client, that get monthly updates and Win32 apps from Microsoft Intune Microsoft Connected Cache is built for flexible deployments to support a number of enterprise configurations: -##### Branch office +### Branch office + Customers may have globally dispersed offices that meet the following parameters: -* 10 – 50 Windows Clients -* No dedicated server hardware -* Internet bandwidth is great to limited (satellite internet) -* Possibly intermittent connectivity -
-To support the branch the branch office scenario, customers can deploy to a Windows 11 client (see Host machine requirements) device. -##### Large Enterprise +- 10 – 50 Windows Clients +- No dedicated server hardware +- Internet bandwidth is great to limited (satellite internet) +- Possibly intermittent connectivity + +To support the branch office scenario, customers can deploy a Connected Cache node to a Windows 11 client device. + +### Large Enterprise + Customers may have office spaces, data centers, or Azure deployments that meet the following parameters: -* 100's or 1,000's of Windows devices (client or server). -* Existing hardware – Decommissioned DP, file server, cloud print server -* Azure VMs and Azure Virtual Desktop -* Internet bandwidth is great to limited (T1) +- 100's or 1,000's of Windows devices (client or server). +- Existing hardware – Decommissioned DP, file server, cloud print server +- Azure VMs and Azure Virtual Desktop +- Internet bandwidth is great to limited (T1) -### Supported content types +To support the large enterprise scenario, customers can deploy a Connected Cache node to a server running Windows Server 2022 or Ubuntu 22.04. + +See [Connected Cache node host machine requirements](mcc-ent-prerequisites.md) for recommended host machine specifications in each configuration. + +| Enterprise configuration | Download speed range | Download speeds and approximate content volume delivered in 8 Hours | +|---|---|---| +|Branch Office|< 1 Gbps Peak| 500 Mbps => 1,800 GB

250 Mbps => 900 GB

100 Mbps => 360 GB

50 Mbps => 180 GB| +|Small to Medium Enterprises/Autopilot Provisioning Center (50 - 500 devices in a single location) |1 - 5 Gbps| 5 Gbps => 18,000 GB

3 Gbps => 10,800 GB

1 Gbps => 3,600 GB| +|Medium to Large Enterprises/Autopilot Provisioning Center (500 - 5,000 devices in a single location) |5 - 101 Gbps Peak| 9 Gbps => 32,400 GB

5 Gbps => 18,000 GB

3 Gbps => 10,800 GB| + +## Supported content types When clients download cloud-managed content, they use Delivery Optimization from the cache server installed on a Windows server or VM. Cloud-managed content includes the following types: -* Windows updates: Windows feature and quality updates -* Office Click-to-Run apps: Microsoft 365 Apps and updates -* Client apps: Intune, store apps, and updates -* Endpoint protection: Windows Defender definition updates -For the full list of content endpoints that Microsoft Connected Cache for Enterprise and Education supports, see [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md).
+- Windows updates: Windows feature and quality updates +- Office Click-to-Run apps: Microsoft 365 Apps and updates +- Client apps: Intune, store apps, and updates +- Endpoint protection: Windows Defender definition updates -### Hardware or VM Requirements -See [Host machine requirements](mcc-ent-prerequisites.md) for complete details. - -|Deployment Scenarios| Download Speed Range | Download Speeds and Content Volume Delivered in 8 Hours | VM/Hardware Recommendation | -|---|---|---|---| -|Branch Office|< 1 Gbps Peak| 500 Mbps - 1,800 GB

250 Mbps - 900 GB

100 Mbps - 360 GB

50 Mbps - 180 GB| 4 Cores

Up to 8 GB Memory with 4 GB of Free

100 GB free disk space| -|Small to Medium Enterprises/Autopilot Provisioning Center - 50 - 500 devices in a single location|1 - 5 Gbps| 5 Gbps - 18,000 GB

3 Gbps - 10,800 GB

1 Gbps - 3,600 GB| 8 Cores

Up to 16 GB Memory with 4 GB of Free

500 GB free disk space| -|Medium to Large Enterprises/Autopilot Provisioning Center - 500 - 5,000 devices|5 - 101 Gbps Peak| 9 Gbps - 32,400 GB

5 Gbps - 18,000 GB

3 Gbps - 10,800 GB| 16 Cores

32 GB Memory with 4 GB of Free

2 200-500 GB SSDs| - -
+For the full list of content endpoints that Microsoft Connected Cache for Enterprise and Education supports, see [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md). ## How it works -The following diagram displays an overview of how MCC functions:
- -:::image type="content" source="./images/mcc_ent_publicpreview.png" alt-text="Diagram displaying the components of MCC." lightbox="./images/mcc_ent_publicpreview.png"::: +The following diagram displays an overview of how Connected Cache functions: +:::image type="content" source="./images/mcc_ent_publicpreview.png" alt-text="Diagram displaying the components of Connected Cache." lightbox="./images/mcc_ent_publicpreview.png"::: 1. The Azure management portal for Microsoft Connected Cache or CLI are used to create cache nodes, configure deployments, including unauthenticated proxy settings. 1. Prepare Windows or Linux devices. If deploying to Windows devices, prepare accounts - gMSA, local user account, domain account. Deploy to Windows or Linux devices using scripts. @@ -88,8 +91,7 @@ The following diagram displays an overview of how MCC functions:
1. Devices can fallback to CDN if cache server is unavailable for any reason or use Delivery Optimization delay fallback to http (CDN )settings to prefer the local cache server. Customers can view data regarding Microsoft Connected Cache downloads on management portal and Windows Update for Business reports - -## Next step +## Next steps >[!div class="nextstepaction"] ->[Create MCC Azure resources](mcc-ent-create-resource-and-cache.md) \ No newline at end of file +>[Create Connected Cache Azure resources](mcc-ent-create-resource-and-cache.md) \ No newline at end of file diff --git a/windows/deployment/do/mcc-ent-faq.yml b/windows/deployment/do/mcc-ent-faq.yml index 653c5676a0..e099a27f79 100644 --- a/windows/deployment/do/mcc-ent-faq.yml +++ b/windows/deployment/do/mcc-ent-faq.yml @@ -1,7 +1,7 @@ ### YamlMime:FAQ metadata: - title: MCC Frequently Asked Questions - description: The following article is a list of frequently asked questions for Microsoft Connected Cache for Enterprise (MCC). + title: Microsoft Connected Cache for Enterprise and Education Frequently Asked Questions + description: The following article is a list of frequently asked questions for Microsoft Connected Cache for Enterprise. ms.service: windows-client ms.subservice: itpro-updates ms.topic: faq @@ -25,8 +25,8 @@ sections: questions: - question: What are the licesning requirement? answer: Microsoft Connected Cache for Enterprise and Education is available to all Windows E3, E5 and F3 and Education A3 and A5 customers. - - question: Is there a charge to create MCC resources and cache node on Azure? - answer: No. You won't be charged to create MCC resource and cache nodes on Azure. However, you need an Azure pay-as-you-go subscription to create the resources but there is no charge for the resource itself. + - question: Is there a charge to create Connected Cache resources and cache node on Azure? + answer: No. You won't be charged to create Connected Cache resource and cache nodes on Azure. However, you need an Azure pay-as-you-go subscription to create the resources but there is no charge for the resource itself. - question: Is there a nondisclosure agreement to sign? answer: No, a nondisclosure agreement isn't required. - question: What will Microsoft Connected Cache for Enterprise and Education do for me? @@ -40,7 +40,7 @@ sections: - [Azure pay-as-you-go subscription](https://azure.microsoft.com/offers/ms-azr-0003p/). - [Hardware to host Microsoft Connected Cache](mcc-ent-edu-overview.md) - [Host machine requirements](mcc-ent-prerequisites.md) - - question: What host OS do I need to deploy MCC? + - question: What host OS do I need to deploy Connected Cache? answer: You can use Linux or Windows OS. Depending on the OS, the provisioning script and certain provisioning steps are different. - question: What content is cached by Microsoft Connected Cache? answer: For more information about content cached, see [Delivery Optimization and Microsoft Connected Cache content endpoints](delivery-optimization-endpoints.md). @@ -64,7 +64,7 @@ sections: answer: No. It's important to keep the Microsoft Connected Cache software up to date, especially when it comes to security issues. Microsoft validates updates prior to releasing Enterprises Connected Cache updates and only releases updates when it's necessary to keep customers secure or to ensure the continued successful operation of Connected Cache nodes for customers. - question: How do I set up CLI? answer: For more information, see [How to install the Azure CLI](/cli/azure/install-azure-cli). - - question: How do I install MCC extension? + - question: How do I install the Microsoft Connected Cache Azure CLI extension? answer: For more information, see [Install the Microsoft Connected Cache extension](mcc-ent-manage-cache-using-cli.md#prerequisites). - question: What do I do if I have to set up or change existing proxy? answer: You can enable proxy and provide proxy information on Azure portal or use the CLI. Don't forget to rerun the provisioning script after making any proxy changes. For more information, see [Set up or change existing proxy](mcc-ent-create-resource-and-cache.md#proxy-settings). diff --git a/windows/deployment/do/mcc-ent-manage-using-cli.md b/windows/deployment/do/mcc-ent-manage-using-cli.md index c48dd5e04b..6faca3726f 100644 --- a/windows/deployment/do/mcc-ent-manage-using-cli.md +++ b/windows/deployment/do/mcc-ent-manage-using-cli.md @@ -1,6 +1,6 @@ --- -title: Manage MCC cache nodes using CLI -description: Details on how to manage Microsoft Connected Cache for Enterprise (MCC) cache nodes via Azure CLI commands. +title: Manage Microsoft Connected Cache nodes using CLI +description: Details on how to manage Microsoft Connected Cache for Enterprise cache nodes via Azure CLI commands. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -20,18 +20,18 @@ ms.date: 06/03/2024
-This article outlines how to create, configure, and deploy Microsoft Connected Cache for Enterprise (MCC) cache nodes using Azure CLI. +This article outlines how to create, configure, and deploy Microsoft Connected Cache for Enterprise cache nodes using Azure CLI. ## Prerequisites: 1. **Install Azure CLI**: [How to install the Azure CLI](/cli/azure/install-azure-cli) -1. **Install MCC extension**: Install MCC extension via the command below +1. **Install Connected Cache extension**: Install Connected Cache extension via the command below ```azurecli-interactive az extension add --name mcc ``` -To learn more about installting extensions, visit [Install the MCC extension.](/cli/azure/azure-cli-extensions-overview#how-to-install-extensions) +To learn more about installting extensions, visit [Install the Connected Cache extension.](/cli/azure/azure-cli-extensions-overview#how-to-install-extensions)

@@ -50,11 +50,11 @@ az group create --name myrg --location westus Once the resource group is created, you'll need to create a Microsoft Connected Cache for Enterprise resource. -### 2. Create an MCC Azure resource +### 2. Create a Connected Cache Azure resource -An MCC Azure resource is a top-level Azure resource under which cache nodes can be created. +A Connected Cache Azure resource is a top-level Azure resource under which cache nodes can be created. -To create an MCC Azure resource, use `az mcc ent resource create` +To create an Connected Cache Azure resource, use `az mcc ent resource create` ```azurecli-interactive az mcc ent resource create --mcc-resource-name mymccresource --resource-group myrg @@ -63,7 +63,7 @@ az mcc ent resource create --mcc-resource-name mymccresource --resource-group my
>[!IMPORTANT] ->In the output, look for operationStatus. **operationStatus = Succeeded** indicates that our services have successfully started creating MCC resource. +>In the output, look for operationStatus. **operationStatus = Succeeded** indicates that our services have successfully started creating your Connected Cache resource.
@@ -142,7 +142,7 @@ az mcc ent node get-provisioning-details --cache-node-name mycachenode --mcc-res ### Example script: -Below is a pseudocode example of how to script bulk creation and configuration of an MCC Azure resource and multiple MCC cache nodes. +Below is a pseudocode example of how to script bulk creation and configuration of a Connected Cache Azure resource and multiple Connected Cache cache nodes. ![Screenshot of cache node summary in the Azure portal interface.](../images/mcc-ent-cache-node-summary.png) | Metric | Description | | --- | --- | -| Healthy nodes | Your MCC node will frequently send heartbeat messages to our backend. If your node has responded in the last 24 hours, it will be labeled as healthy. | +| Healthy nodes | Your Connected Cache node will frequently send heartbeat messages to our backend. If your node has responded in the last 24 hours, it will be labeled as healthy. | | Unhealthy nodes | If your node has not sent a heartbeat message in the last 24 hours, it will be labeled as unhealthy. | | Max in | The maximum ingress in Mbps (Megabits per second) that your node has pulled from CDN in the last 24 hours. | | Max out | The minimum egress in Mbps that your node has pushed out to devices in your network over the last 24 hours. | | Average in | The average ingress in Mbps that your node has pulled from CDN in the last 24 hours. | | Average out | The average egress in Mbps that your node has pushed out to devices in your network over the last 24 hours. | -| Cache efficiency | The percentage of all content requests your MCC node receives that are ultimately delivered by your MCC node. An well-performing node should have an efficiency > 90%. | +| Cache efficiency | The percentage of all content requests your Connected Cache node receives that are ultimately delivered by your Connected Cache node. An well-performing node should have an efficiency > 90%. | ### Key Metrics -The two monitoring charts on the Overview page more visually represent the usage of your MCC node, as well as the types cached content delivered by your node over various time intervals. +The two monitoring charts on the Overview page more visually represent the usage of your Connected Cache node, as well as the types cached content delivered by your node over various time intervals. ![Screenshot of key metric charts in the Azure portal interface.](../images/mcc-ent-key-metric-charts.png) @@ -55,15 +55,15 @@ The two monitoring charts on the Overview page more visually represent the usage Both filters displayed will only impact the data shown in the 2 charts below. - By time: View data from the last 1 hour to 30 days - - By cache node: View data from individual cache nodes or the sum of all your active MCC nodes. + - By cache node: View data from individual cache nodes or the sum of all your active Connected Cache nodes. #### Outbound Traffic Chart -This chart displays the egress in Mbps that your MCC node was delivering at specific timestamps. The value in the chart's key represents the average egress over the specified time period. +This chart displays the egress in Mbps that your Connected Cache node was delivering at specific timestamps. The value in the chart's key represents the average egress over the specified time period. #### Volume by Content Type -This chart displays the amount (in GB) of each supported content type that your MCC node is delivering at specific timestamps. You can find the complete list of supported content types here: [Microsoft Connected Cache content and services endpoints | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/delivery-optimization-endpoints) +This chart displays the amount (in GB) of each supported content type that your Connected Cache node is delivering at specific timestamps. You can find the complete list of supported content types here: [Microsoft Connected Cache content and services endpoints | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/delivery-optimization-endpoints) The content types in the key are sorted from highest to lowest volume an each have a distinct color. The bar chart is stacked such that you can visually compare total volume being delivered at different timestamps @@ -75,18 +75,18 @@ Listed below are the additional metrics you can access in this section: | Metric | Description | | --- | --- | -| Inbound | The number of content requests your MCC node receives over a specified period of time. | -| Hits | The number of times your MCC node fulfills a content request by pulling from its cache. | -| Misses | The number of times your MCC node is not able to fulfill a content request by pulling from its cache | +| Inbound | The number of content requests your Connected Cache node receives over a specified period of time. | +| Hits | The number of times your Connected Cache node fulfills a content request by pulling from its cache. | +| Misses | The number of times your Connected Cache node is not able to fulfill a content request by pulling from its cache | ### Customizable Dashboards -Once you select the charts you would like to track, you can save them over to a personalized dashboard. This dashboard enables you to configure the chart title, filters, range, legend, and more. You can also use this personalized dashboard to set up alerts that will notify you if your MCC dips in performance. +Once you select the charts you would like to track, you can save them over to a personalized dashboard. This dashboard enables you to configure the chart title, filters, range, legend, and more. You can also use this personalized dashboard to set up alerts that will notify you if your Connected Cache node dips in performance. Some scenarios where you would want to set up these alerts: - • My MCC node is being shown as unhealthy and I want to know exactly when it stopped egressing last. -A new Xbox update just released last night and I want to know if my MCC node is helping deliver this content to my client machines. + • My Connected Cache node is being shown as unhealthy and I want to know exactly when it stopped egressing last. +A new Xbox update just released last night and I want to know if my Connected Cache node is helping deliver this content to my client machines. ## Additional Metrics -Once the content has left the MCC to be delivered, the node cannot track whether the content has successfully been delivered. To access client-side data, you can refer to this page: [Monitor Delivery Optimization | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/waas-delivery-optimization-monitor) \ No newline at end of file +Once the content has left the Connected Cache node, the node cannot track whether the content has successfully been delivered to the requesting Windows client. To access client-side data, you can refer to this page: [Monitor Delivery Optimization | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/waas-delivery-optimization-monitor) \ No newline at end of file diff --git a/windows/deployment/do/mcc-ent-prerequisites.md b/windows/deployment/do/mcc-ent-prerequisites.md index f95d8fb53d..95765edf54 100644 --- a/windows/deployment/do/mcc-ent-prerequisites.md +++ b/windows/deployment/do/mcc-ent-prerequisites.md @@ -1,6 +1,6 @@ --- -title: MCC prerequisites -description: Details of prerequisites and recommendations for using Microsoft Connected Cache for Enterprise and Education (MCC). +title: Microsoft Connected Cache for Enterprise and Education prerequisites +description: Details of prerequisites and recommendations for using Microsoft Connected Cache for Enterprise and Education. ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual @@ -15,17 +15,17 @@ ms.date: 09/27/2024 # Microsoft Connected Cache for Enterprise and Education Requirements -This article details the requirements and recommendations for using Microsoft Connected Cache for Enterprise and Education (MCC). +This article details the requirements and recommended specifications for using Microsoft Connected Cache for Enterprise and Education. ## Licensing requirements -- **Valid Azure subscription**: To use the Microsoft Connected Cache for Enterprise and Education (MCC) service, you'll need a valid Azure subscription that can be used to provision the necessary [Azure resources](/azure/cloud-adoption-framework/govern/resource-consistency/resource-access-management). +- **Valid Azure subscription**: To use the Microsoft Connected Cache for Enterprise and Education service, you'll need a valid Azure subscription that can be used to provision the necessary [Azure resources](/azure/cloud-adoption-framework/govern/resource-consistency/resource-access-management). If you don't 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 Azure resources used for MCC will be free to you during this public preview. + The Azure resources used for Connected Cache will be free to you during this public preview. -- **E3/E5 or A3/A5 license**: Your organization must have one of the following license subscriptions for each device that downloads content from an MCC cache node. +- **E3/E5 or A3/A5 license**: Your organization must have one of the following license subscriptions for each device that downloads content from an Connected Cache node. - [Windows Enterprise E3 or E5](/windows/whats-new/windows-licensing#windows-11-enterprise), included in [Microsoft 365 F3, E3, or E5](https://www.microsoft.com/microsoft-365/enterprise/microsoft365-plans-and-pricing?msockid=32c407b43d5968050f2b13443c746916) - Windows Education A3 or A5, included in [Microsoft 365 A3 or A5](https://www.microsoft.com/education/products/microsoft-365?msockid=32c407b43d5968050f2b13443c746916#Education-plans) @@ -34,7 +34,7 @@ This article details the requirements and recommendations for using Microsoft Co ### General requirements -- Any previous installations of MCC must be [uninstalled](mcc-ent-uninstall-cache-node.md) before installing the latest version of MCC. +- Any previous installations of Connected Cache must be [uninstalled](mcc-ent-uninstall-cache-node.md) from the host machine before installing the latest version of Connected Cache. - [These listed endpoints](delivery-optimization-endpoints.md) must be reachable by the host machine. - The host machine must have no other services / applications utilizing port 80 (for example, ConfigManager or Distribution Point). - The host machine must have at least 4 GB of free memory. @@ -55,18 +55,19 @@ This article details the requirements and recommendations for using Microsoft Co - Red Hat Enterprise Linux (RHEL) 8.* or 9.* - If using RHEL, the default container engine (Podman) must be replaced with [Moby](https://github.com/moby/moby#readme) -### Networking recommendations for host machines +### Recommended host machine networking specifications -- Multiple network interface cards (NICs) on a single MCC instance aren't supported. +- Multiple network interface cards (NICs) on a single Connected Cache host machine isn't supported. - 1 Gbps NIC is the minimum speed recommended but any NIC is supported. - The NIC and BIOS should support SR-IOV for best performance. -### Host machine sizing recommendations +### Recommended host machine hardware specifications -| Component | Branch Office / Small Enterprise | Large Enterprise | -| --- | --- | --- | -| OS| Windows Server 2022
Windows 11 (Pro or Enterprise) | Same | -|NIC | 1 Gbps | 5 Gbps | -|Disk | SSD
1 drive
50 GB each |SSD
1 drive
200 GB each | -|Memory | 4 GB | 8 GB | -|Cores | 4 | 8 | +Based on your [enterprise configuration](mcc-ent-edu-overview.md), it is recommended to deploy your Connected Cache nodes to host machines that meet the following recommended hardware specifications. + +| | Branch Office | Small Enterprise | Large Enterprise | +| --- | --- | --- | --- | +| CPU cores | 4 | 8 | 16 | +| Memory | 8 GB, 4GB free | 16 GB, 4GB free | 32 GB, 4GB free | +| Disk storage | 100 GB free | 500 GB free | 2x 200-500 GB free | +| NIC | 1 Gbps | 5 Gbps | 10 Gbps | diff --git a/windows/deployment/do/mcc-ent-private-preview.md b/windows/deployment/do/mcc-ent-private-preview.md index 03c549f395..83b9aaa5aa 100644 --- a/windows/deployment/do/mcc-ent-private-preview.md +++ b/windows/deployment/do/mcc-ent-private-preview.md @@ -1,6 +1,6 @@ --- -title: MCC Private Preview -description: Details on Microsoft Connected Cache for Enterprise (MCC) Private Preview +title: Microsoft Connected Cache for Enterprise and Education Private Preview +description: Details on Microsoft Connected Cache for Enterprise Private Preview ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual @@ -12,15 +12,15 @@ appliesto: ms.date: 06/03/2024 --- -# Microsoft Connected Cache for Enterprise and Education (MCC) Private Preview +# Microsoft Connected Cache for Enterprise and Education Private Preview -If you participated in the MCC early preview, thank you for your collaboration and feedback. +If you participated in the Connected Cache early preview, thank you for your collaboration and feedback. -To continue using MCC, we strongly recommend that you upgrade your existing cache nodes to the Public Preview release. Cache nodes created and deployed during early preview should still function but can no longer be managed or monitored remotely via the MCC Azure service. +To continue using Connected Cache, we strongly recommend that you upgrade your existing cache nodes to the Public Preview release. Cache nodes created and deployed during early preview should still function but can no longer be managed or monitored remotely via the Connected Cache Azure service. -As such, we strongly recommend you [recreate your existing resources in Azure](mcc-ent-create-resource-and-cache.md) and then [redeploy the MCC caching software to your host machines](mcc-ent-deploy-to-windows.md) using the latest OS-specific installer. +As such, we strongly recommend you [recreate your existing resources in Azure](mcc-ent-create-resource-and-cache.md) and then [redeploy the Connected Cache software to your host machines](mcc-ent-deploy-to-windows.md) using the latest OS-specific installer. ## Next step > [!div class="nextstepaction"] -> [View documentation for MCC Public Preview](mcc-ent-edu-overview.md) +> [View documentation for Connected Cache Public Preview](mcc-ent-edu-overview.md) diff --git a/windows/deployment/do/mcc-ent-release-notes.md b/windows/deployment/do/mcc-ent-release-notes.md index 45efd09f1b..9fd4a23d38 100644 --- a/windows/deployment/do/mcc-ent-release-notes.md +++ b/windows/deployment/do/mcc-ent-release-notes.md @@ -1,6 +1,6 @@ --- -title: MCC Release Notes -description: Release Notes for Microsoft Connected Cache for Enterprise and Education (MCC). +title: Microsoft Connected Cache Release Notes +description: Release Notes for Microsoft Connected Cache for Enterprise and Education. ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual @@ -14,9 +14,9 @@ appliesto: ms.date: 09/27/2024 --- -# Release Notes for Microsoft Connected Cache for Enterprise and Education (MCC) +# Release Notes for Microsoft Connected Cache for Enterprise and Education -This article contains details about the latest releases of MCC. Since MCC is a Preview service, some releases may contain breaking changes that will be highlighted as such. +This article contains details about the latest releases of Connected Cache. Since Connected Cache is a Preview service, some releases may contain breaking changes that will be highlighted as such. ## Release v0.1.0 (Public Preview launch) @@ -30,11 +30,11 @@ This article contains details about the latest releases of MCC. Since MCC is a P - Added new "Outbound egress" and "Volume by Content type" monitoring charts to Azure portal user interface - Added ability to create custom monitoring charts under the Metrics tab in the Azure portal user interface -- Added support for creating both Windows-hosted and Linux-hosted cache nodes under the same MCC Azure resource -- Added Azure CLI support for programmatic creation and management of MCC Azure resources and cache nodes +- Added support for creating both Windows-hosted and Linux-hosted cache nodes under the same Connected Cache Azure resource +- Added Azure CLI support for programmatic creation and management of Connected Cache Azure resources and cache nodes - Added support for unauthenticated proxy and cloud proxy integration -- Added ability to set each cache node's Update Ring to govern cadence of MCC container updates +- Added ability to set each cache node's Update Ring to govern cadence of Connected Cache container updates ## Related content -- [Overview of MCC](mcc-ent-edu-overview.md) +- [Overview of Connected Cache](mcc-ent-edu-overview.md) diff --git a/windows/deployment/do/mcc-ent-troubleshooting.md b/windows/deployment/do/mcc-ent-troubleshooting.md index 467471df0a..c7e47ea564 100644 --- a/windows/deployment/do/mcc-ent-troubleshooting.md +++ b/windows/deployment/do/mcc-ent-troubleshooting.md @@ -1,6 +1,6 @@ --- -title: MCC troubleshooting -description: Details on how to troubleshoot common issues for Microsoft Connected Cache for Enterprise (MCC). +title: Microsoft Connected Cache for Enterprise and Education troubleshooting +description: Details on how to troubleshoot common issues for Microsoft Connected Cache for Enterprise. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -15,9 +15,9 @@ ms.date: 09/27/2024 --- -# Troubleshoot Microsoft Connected Cache for Enterprise and Education (MCC) +# Troubleshoot Microsoft Connected Cache for Enterprise and Education -This article contains instructions on how to troubleshoot different issues you may encounter while using MCC. These issues are categorized by the task in which they may be encountered. For example, this next section covers troubleshooting [MCC Azure resource creation](mcc-ent-create-resource-and-cache.md). +This article contains instructions on how to troubleshoot different issues you may encounter while using Connected Cache. These issues are categorized by the task in which they may be encountered. For example, this next section covers troubleshooting [Connected Cache Azure resource creation](mcc-ent-create-resource-and-cache.md). ## Steps to obtain an Azure subscription ID @@ -26,11 +26,11 @@ This article contains instructions on how to troubleshoot different issues you m ## Troubleshooting Azure resource creation -MCC Azure resource creation can be initiated using either the Azure portal or the Azure CLI command set. If you're encountering an error during resource creation, check that you have the necessary RPaaS permissions and have filled out all required fields. +Connected Cache Azure resource creation can be initiated using either the Azure portal or the Azure CLI command set. If you're encountering an error during resource creation, check that you have the necessary RPaaS permissions and have filled out all required fields. ## Troubleshooting cache node issue -If you are facing issues with your cache node, it could be due to cache node being on the early preview version of MCC. Cache nodes belonging to early preview version will be under MCC resource that will have 'early preview' in its name. Please delete these cache nodes and associated MCC resource and create a new MCC resource on the new version. -For detailed instructions on creating MCC resource, see [Create MCC Azure resources](mcc-ent-create-resource-and-cache.md) +If you are facing issues with your cache node, it could be due to cache node being on the early preview version of Connected Cache. Cache nodes belonging to early preview version will be under Connected Cache resource that will have 'early preview' in its name. Please delete these cache nodes and associated Connected Cache resource and create a new Connected Cache resource on the new version. +For detailed instructions on creating Connected Cache resource, see [Create Connected Cache Azure resources](mcc-ent-create-resource-and-cache.md) ## Troubleshooting cache node deployment @@ -61,9 +61,9 @@ Optional: You have two options for manually curated links in this pattern: Next ## Diagnose and Solve -If this article isn't resolving the issue you're facing with your cache node, you can use the **Diagnose and solve problems** functionality within your MCC resource to continue troubleshooting. **Diagnose and solve problems** contains solutions to most common problems that users might face as they onboard. +If this article isn't resolving the issue you're facing with your cache node, you can use the **Diagnose and solve problems** functionality within your Connected Cache resource to continue troubleshooting. **Diagnose and solve problems** contains solutions to most common problems that users might face as they onboard. -You can find **Diagnose and solve problems** on the left pane within your MCC resource. +You can find **Diagnose and solve problems** on the left pane within your Connected Cache resource. Within **Diagnose and solve problems**, select **Troubleshoot** under the type of problem you're facing and follow the prompts that narrow down the solution to the issue. diff --git a/windows/deployment/do/mcc-ent-uninstall-cache-node.md b/windows/deployment/do/mcc-ent-uninstall-cache-node.md index 3d554c99a0..07c4678b1e 100644 --- a/windows/deployment/do/mcc-ent-uninstall-cache-node.md +++ b/windows/deployment/do/mcc-ent-uninstall-cache-node.md @@ -1,6 +1,6 @@ --- -title: Uninstall MCC cache nodes -description: Details on how to uninstall Microsoft Connected Cache for Enterprise and Education (MCC) from a host machine. +title: Uninstall Microsoft Connected Cache for Enterprise and Education cache nodes +description: Details on how to uninstall Microsoft Connected Cache for Enterprise and Education from a host machine. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -14,22 +14,22 @@ appliesto: ms.date: 09/27/2024 --- -# Uninstall MCC caching software from a host machine +# Uninstall Connected Cache caching software from a host machine -This article describes how to uninstall Microsoft Connected Cache for Enterprise and Education (MCC) caching software from a host machine. These steps should be taken after deleting the cache node in the Azure portal. +This article describes how to uninstall Microsoft Connected Cache for Enterprise and Education caching software from a host machine. These steps should be taken after deleting the cache node in the Azure portal. -## Steps to uninstall MCC from a Windows host machine +## Steps to uninstall Connected Cache from a Windows host machine -1. Launch a PowerShell window *as administrator* and navigate to the MCC installation directory (C:\mcconwsl01 by default) +1. Launch a PowerShell window *as administrator* and navigate to the Connected Cache installation directory (C:\mcconwsl01 by default) 1. Run the `uninstallmcconwsl.ps1` script -## Steps to uninstall MCC from a Linux host machine +## Steps to uninstall Connected Cache from a Linux host machine -The `uninstallmcc.sh` script within the provisioning package uninstalls the MCC caching software and all related components, including: +The `uninstallmcc.sh` script within the provisioning package uninstalls the Connected Cache caching software and all related components, including: - IoT Edge - IoT Edge Agent - IoT Edge Hub -- MCC +- Connected Cache container - Moby CLI - Moby engine diff --git a/windows/deployment/do/mcc-ent-update-cache-node.md b/windows/deployment/do/mcc-ent-update-cache-node.md index 604ac96ddd..960f2a289d 100644 --- a/windows/deployment/do/mcc-ent-update-cache-node.md +++ b/windows/deployment/do/mcc-ent-update-cache-node.md @@ -1,6 +1,6 @@ --- -title: Update MCC cache nodes -description: Details on how Microsoft Connected Cache for Enterprise and Education (MCC) cache nodes are updated by Microsoft. +title: Update Microsoft Connected Cache for Enterprise and Education cache nodes +description: Details on how Microsoft Connected Cache for Enterprise and Education cache nodes are updated by Microsoft. ms.service: windows-client ms.subservice: itpro-updates ms.topic: how-to @@ -13,28 +13,28 @@ appliesto: - ✅ Microsoft Connected Cache for Enterprise and Education ms.date: 09/27/2024 --- -# Configure container update frequency for Microsoft Connected Cache for Enterprise and Education (MCC) +# Configure container update frequency for Microsoft Connected Cache for Enterprise and Education -Microsoft Connected Cache for Enterprise and Education (MCC) caching software is deployed to host machines as a container. The container OS and any software component within the container need to be updated to address security vulnerabilities and improve quality and performance. These Microsoft-published container updates are referred to as "MCC updates" in this article. +Microsoft Connected Cache for Enterprise and Education caching software is deployed to host machines as a container. The container OS and any software component within the container need to be updated to address security vulnerabilities and improve quality and performance. These Microsoft-published container updates are referred to as "Connected Cache updates" in this article. -Microsoft silently deploys MCC updates to your cache nodes based on the Update Ring setting you configure for each cache node. +Microsoft silently deploys Connected Cache updates to your cache nodes based on the Update Ring setting you configure for each cache node. ## Update rings -MCC cache nodes can be configured to either the "Fast" or "Slow" update ring. If configured to update as part of the Fast ring, the cache node will be silently updated by Microsoft soon after the update is made available. If configured to update as part of the Slow ring, the cache node is silently updated by Microsoft within five weeks of the update becoming available. +Connected Cache nodes can be configured to either the "Fast" or "Slow" update ring. If configured to update as part of the Fast ring, the cache node will be silently updated by Microsoft soon after the update is made available. If configured to update as part of the Slow ring, the cache node is silently updated by Microsoft within five weeks of the update becoming available. -In other words, configuring cache nodes to update as part of the Slow ring provides users with the option to delay the update process until they have validated that the latest MCC update works within their environment. For example, a user could configure a test cache node to update as part of the Fast ring and validate that clients can successfully interact with the test cache node after the latest MCC update has been applied. This builds confidence that service won't be interrupted when the production cache nodes are updated as part of the Slow ring. +In other words, configuring cache nodes to update as part of the Slow ring provides users with the option to delay the update process until they have validated that the latest Connected Cache update works within their environment. For example, a user could configure a test cache node to update as part of the Fast ring and validate that clients can successfully interact with the test cache node after the latest Connected Cache update has been applied. This builds confidence that service won't be interrupted when the production cache nodes are updated as part of the Slow ring. ### Update ring options >[!IMPORTANT] ->In the event of a critical security patch, Microsoft may elect to initiate an MCC update to your cache node as soon as possible (even if the cache node has been set to the Slow Ring). Visit the [Release notes](mcc-ent-release-notes.md) page for a detailed changelog of each MCC update. +>In the event of a critical security patch, Microsoft may elect to initiate an Connected Cache update to your cache node as soon as possible (even if the cache node has been set to the Slow Ring). Visit the [Release notes](mcc-ent-release-notes.md) page for a detailed changelog of each Connected Cache update. #### Fast Ring -All MCC cache nodes are configured to update as part of the Fast ring by default. MCC cache nodes in the Fast ring will be updated soon after an update is made available. Microsoft will silently update cache nodes at a time of day when update traffic is likely to be minimal, such as 3:00 AM (local time) on Saturday. +All Connected Cache nodes are configured to update as part of the Fast ring by default. Connected Cache nodes in the Fast ring will be updated soon after an update is made available. Microsoft will silently update cache nodes at a time of day when update traffic is likely to be minimal, such as 3:00 AM (local time) on Saturday. #### Slow Ring -Configuring an MCC cache node to update as part of the Slow ring provides users with the option to delay MCC software updates until the update can be validated. There are three settings that control when MCC updates will be applied to MCC cache nodes. All update ring settings can be managed from the Azure portal or through Azure CLI. +Configuring an Connected Cache node to update as part of the Slow ring provides users with the option to delay Connected Cache software updates until the update can be validated. There are three settings that control when Connected Cache updates will be applied to Connected Cache nodes. All update ring settings can be managed from the Azure portal or through Azure CLI. | Setting | Description | | --- | --- | @@ -44,15 +44,15 @@ Configuring an MCC cache node to update as part of the Slow ring provides users ## Update process -When Microsoft publishes an MCC update, the MCC service attempts to update all MCC cache nodes based on their Update Ring membership. If a cache node can't complete the silent MCC update within 6 hours of starting, an error message is surfaced in the Azure portal. +When Microsoft publishes an Connected Cache update, the Connected Cache service attempts to update all Connected Cache nodes based on their Update Ring membership. If a cache node can't complete the silent Connected Cache update within 6 hours of starting, an error message is surfaced in the Azure portal. ## Update terminology, criteria, and SLA -MCC updates will be released based on need instead of on a set cadence. +Connected Cache updates will be released based on need instead of on a set cadence. | Update type | Criteria and SLA | | --- | --- | | Security | Security updates are the highest priority and will be released based on the severity rating of the vulnerability. [Critical and High](https://nvd.nist.gov/vuln-metrics/cvss) vulnerabilities will be released by Microsoft within 60 days of discovery. [Medium and Low](https://nvd.nist.gov/vuln-metrics/cvss) vulnerabilities will be released by Microsoft within 120 days | | Quality | Quality updates fix a specific problem and addresses a noncritical, non-security-related bug. Quality updates could include performance fixes for a specific problem or changes related to cache efficiency or maximum egress for example. Quality updates are released along with security updates or when necessary to ensure proper functioning of the Microsoft Connected Cache software. | -For information on all released Microsoft Connected Cache updates, see the [MCC release notes](mcc-ent-release-notes.md). +For information on all released Microsoft Connected Cache updates, see the [Connected Cache release notes](mcc-ent-release-notes.md). diff --git a/windows/deployment/do/mcc-ent-verify-cache-node.md b/windows/deployment/do/mcc-ent-verify-cache-node.md index bf7720bce4..c190dbf048 100644 --- a/windows/deployment/do/mcc-ent-verify-cache-node.md +++ b/windows/deployment/do/mcc-ent-verify-cache-node.md @@ -1,6 +1,6 @@ --- -title: Verify MCC cache node functionality -description: Details on how to verify functionality of Microsoft Connected Cache for Enterprise and Education (MCC) cache nodes. +title: Verify Microsoft Connected Cache for Enterprise and Education cache node functionality +description: Details on how to verify functionality of Microsoft Connected Cache for Enterprise and Education cache nodes. author: chrisjlin ms.author: lichris manager: naengler @@ -9,20 +9,20 @@ ms.subservice: itpro-updates ms.topic: how-to ms.date: 09/27/2024 appliesto: -- ✅ Windows-hosted MCC cache nodes -- ✅ Linux-hosted MCC cache nodes +- ✅ Windows-hosted Connected Cache cache nodes +- ✅ Linux-hosted Connected Cache cache nodes - ✅ Microsoft Connected Cache for Enterprise and Education --- -# Verify MCC cache node functionality +# Verify Connected Cache node functionality -This article describes how to verify that a Microsoft Connected Cache for Enterprise and Education (MCC) cache node is functioning correctly. +This article describes how to verify that a Microsoft Connected Cache for Enterprise and Education cache node is functioning correctly. -These steps should be taken after deploying MCC caching software to a [Windows](mcc-ent-deploy-to-windows.md) or [Linux](mcc-ent-deploy-to-linux.md) host machine. +These steps should be taken after deploying Connected Cache software to a [Windows](mcc-ent-deploy-to-windows.md) or [Linux](mcc-ent-deploy-to-linux.md) host machine. -## Steps to verify functionality of MCC cache node +## Steps to verify functionality of Connected Cache node -1. To verify that the MCC container on the host machine is running and reachable, run the following command from the host machine: +1. To verify that the Connected Cache container on the host machine is running and reachable, run the following command from the host machine: ```powershell wget http://localhost/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com @@ -30,13 +30,13 @@ These steps should be taken after deploying MCC caching software to a [Windows]( If successful, there should be an HTTP response with StatusCode 200. -1. To verify that Windows clients in your network can reach the MCC cache node, visit the following address from a web browser on a Windows client device: +1. To verify that Windows clients in your network can reach the Connected Cache node, visit the following address from a web browser on a Windows client device: `http://[HostMachine-IP-address]/filestreamingservice/files/7bc846e0-af9c-49be-a03d-bb04428c9bb5/Microsoft.png?cacheHostOrigin=dl.delivery.mp.microsoft.com` - If successful, the Windows client device should begin to download a small image file from the MCC cache node. + If successful, the Windows client device should begin to download a small image file from the Connected Cache node. -1. To check how much content an individual Windows client has pulled from an MCC cache node, open the [Delivery Optimization activity monitor](/microsoft-365-apps/updates/delivery-optimization#viewing-data-about-the-use-of-delivery-optimization) on the Windows client device. +1. To check how much content an individual Windows client has pulled from an Connected Cache node, open the [Delivery Optimization activity monitor](/microsoft-365-apps/updates/delivery-optimization#viewing-data-about-the-use-of-delivery-optimization) on the Windows client device. You should see a donut chart titled Download Statistics. If the Windows client has pulled content from the cache node, you'll see a segment of the donut labeled "From Microsoft cache server". From 3a8faa199f352f3a86a0d829b8b4267cbdf2207b Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:06:53 -0700 Subject: [PATCH 06/20] Added steps to point clients at nodes --- windows/deployment/do/mcc-ent-deploy-to-linux.md | 6 ++++++ windows/deployment/do/mcc-ent-deploy-to-windows.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/windows/deployment/do/mcc-ent-deploy-to-linux.md b/windows/deployment/do/mcc-ent-deploy-to-linux.md index 8385641122..d674b4e504 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-linux.md +++ b/windows/deployment/do/mcc-ent-deploy-to-linux.md @@ -49,6 +49,12 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the sudo ./provisionmcc.sh customerid="enter mccResourceId here" cachenodeid=" enter cacheNodeId here " customerkey=" enter customerKey here " registrationkey="enter registrationKey here" drivepathandsizeingb="enter physicalPath value,enter sizeInGb value here" shoulduseproxy="enter true if present, enter false if not" proxyurl=http://enter proxy hostname:enter port ``` +## Steps to point Windows client devices at Connnected Cache node + +Once you have successfully deployed Connected Cache to your Linux host machine, you will need to configure your Windows client device(s) to request Microsoft content from the Connected Cache node. + +You can do this by setting the [DOCacheHost or DOCacheHostSource policies via Intune](./waas-delivery-optimization-reference.md#cache-server-hostname). + ## Next step > [!div class="nextstepaction"] diff --git a/windows/deployment/do/mcc-ent-deploy-to-windows.md b/windows/deployment/do/mcc-ent-deploy-to-windows.md index 68720ee8fa..68077a256f 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-windows.md +++ b/windows/deployment/do/mcc-ent-deploy-to-windows.md @@ -59,6 +59,12 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the ./provisionmcconwsl.ps1 -installationFolder c:\mccwsl01 -customerid [enter mccResourceId here] -cachenodeid [enter cacheNodeId here] -customerkey [enter customerKey here] -registrationkey [enter registration key] -cacheDrives "/var/mcc,enter drive size" -shouldUseProxy [enter true if present, enter false if not] -proxyurl "http://[enter proxy host name]:[enter port]" -mccRunTimeAccount $User -mccLocalAccountCredential $myLocalAccountCredential ``` +## Steps to point Windows client devices at Connnected Cache node + +Once you have successfully deployed Connected Cache to your Windows host machine, you will need to configure your Windows client device(s) to request Microsoft content from the Connected Cache node. + +You can do this by setting the [DOCacheHost or DOCacheHostSource policies via Intune](./waas-delivery-optimization-reference.md#cache-server-hostname). + ## Next step > [!div class="nextstepaction"] From bc236e351bcb7356dd6e1664e33423f35865af82 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:07:09 -0700 Subject: [PATCH 07/20] Fixed formatting on overview page --- windows/deployment/do/mcc-ent-edu-overview.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-ent-edu-overview.md b/windows/deployment/do/mcc-ent-edu-overview.md index 11ce424a3d..59c0cd45ae 100644 --- a/windows/deployment/do/mcc-ent-edu-overview.md +++ b/windows/deployment/do/mcc-ent-edu-overview.md @@ -19,7 +19,7 @@ ms.date: 05/09/2023 # Microsoft Connected Cache for Enterprise and Education Overview > [!IMPORTANT] -> - Microsoft Connected Cache is currently a preview feature. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). +> Microsoft Connected Cache is currently a preview feature. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/). Microsoft Connected Cache for Enterprise and Education (preview) is a software-only caching solution that delivers Microsoft content within Enterprise and Education networks. Connected Cache can be managed from an Azure portal or through Azure CLI and can be deployed to as many Windows devices, Linux devices, or VMs as needed. Managed Windows devices can be configured to download cloud content from a Connected Cache server by applying the client policy using management tools such as Intune. @@ -68,6 +68,7 @@ See [Connected Cache node host machine requirements](mcc-ent-prerequisites.md) f |Medium to Large Enterprises/Autopilot Provisioning Center (500 - 5,000 devices in a single location) |5 - 101 Gbps Peak| 9 Gbps => 32,400 GB

5 Gbps => 18,000 GB

3 Gbps => 10,800 GB| ## Supported content types + When clients download cloud-managed content, they use Delivery Optimization from the cache server installed on a Windows server or VM. Cloud-managed content includes the following types: - Windows updates: Windows feature and quality updates From 53de6a1d482be5fb684db5fab5b8a08bcc16a5a5 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 18:07:28 -0700 Subject: [PATCH 08/20] Fixed formatting on troubleshooting and update pages --- windows/deployment/do/mcc-ent-troubleshooting.md | 5 +++-- windows/deployment/do/mcc-ent-update-cache-node.md | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/windows/deployment/do/mcc-ent-troubleshooting.md b/windows/deployment/do/mcc-ent-troubleshooting.md index c7e47ea564..ac83190e31 100644 --- a/windows/deployment/do/mcc-ent-troubleshooting.md +++ b/windows/deployment/do/mcc-ent-troubleshooting.md @@ -29,11 +29,12 @@ This article contains instructions on how to troubleshoot different issues you m Connected Cache Azure resource creation can be initiated using either the Azure portal or the Azure CLI command set. If you're encountering an error during resource creation, check that you have the necessary RPaaS permissions and have filled out all required fields. ## Troubleshooting cache node issue + If you are facing issues with your cache node, it could be due to cache node being on the early preview version of Connected Cache. Cache nodes belonging to early preview version will be under Connected Cache resource that will have 'early preview' in its name. Please delete these cache nodes and associated Connected Cache resource and create a new Connected Cache resource on the new version. For detailed instructions on creating Connected Cache resource, see [Create Connected Cache Azure resources](mcc-ent-create-resource-and-cache.md) - ## Troubleshooting cache node deployment + TODO: Add introduction sentence(s) [Include a sentence or two to explain only what is needed to complete the procedure.] TODO: Add ordered list of procedure steps @@ -43,6 +44,7 @@ TODO: Add ordered list of procedure steps 1. Step 3 ## Troubleshooting cache node monitoring + TODO: Add introduction sentence(s) [Include a sentence or two to explain only what is needed to complete the procedure.] TODO: Add ordered list of procedure steps @@ -67,7 +69,6 @@ You can find **Diagnose and solve problems** on the left pane within your Connec Within **Diagnose and solve problems**, select **Troubleshoot** under the type of problem you're facing and follow the prompts that narrow down the solution to the issue. - ## Filing a support request TODO: Add steps for filling out a CSS ticket. diff --git a/windows/deployment/do/mcc-ent-update-cache-node.md b/windows/deployment/do/mcc-ent-update-cache-node.md index 960f2a289d..da724f7627 100644 --- a/windows/deployment/do/mcc-ent-update-cache-node.md +++ b/windows/deployment/do/mcc-ent-update-cache-node.md @@ -31,9 +31,11 @@ In other words, configuring cache nodes to update as part of the Slow ring provi >In the event of a critical security patch, Microsoft may elect to initiate an Connected Cache update to your cache node as soon as possible (even if the cache node has been set to the Slow Ring). Visit the [Release notes](mcc-ent-release-notes.md) page for a detailed changelog of each Connected Cache update. #### Fast Ring + All Connected Cache nodes are configured to update as part of the Fast ring by default. Connected Cache nodes in the Fast ring will be updated soon after an update is made available. Microsoft will silently update cache nodes at a time of day when update traffic is likely to be minimal, such as 3:00 AM (local time) on Saturday. #### Slow Ring + Configuring an Connected Cache node to update as part of the Slow ring provides users with the option to delay Connected Cache software updates until the update can be validated. There are three settings that control when Connected Cache updates will be applied to Connected Cache nodes. All update ring settings can be managed from the Azure portal or through Azure CLI. | Setting | Description | From a3418e7c6ba2477f6443c9a0a1f492599af77357 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 19:39:33 -0700 Subject: [PATCH 09/20] Acrolinx fixes --- .../deployment/do/mcc-ent-deploy-to-linux.md | 4 +- .../do/mcc-ent-deploy-to-windows.md | 6 +- windows/deployment/do/mcc-ent-edu-overview.md | 32 +++++----- .../deployment/do/mcc-ent-manage-using-cli.md | 4 +- windows/deployment/do/mcc-ent-monitoring.md | 59 +++++++++---------- .../deployment/do/mcc-ent-prerequisites.md | 6 +- .../deployment/do/mcc-ent-release-notes.md | 2 +- .../deployment/do/mcc-ent-troubleshooting.md | 2 +- .../do/mcc-ent-uninstall-cache-node.md | 2 +- .../do/mcc-ent-update-cache-node.md | 10 ++-- .../do/mcc-ent-verify-cache-node.md | 4 +- 11 files changed, 65 insertions(+), 66 deletions(-) diff --git a/windows/deployment/do/mcc-ent-deploy-to-linux.md b/windows/deployment/do/mcc-ent-deploy-to-linux.md index d674b4e504..4b3db901c2 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-linux.md +++ b/windows/deployment/do/mcc-ent-deploy-to-linux.md @@ -49,9 +49,9 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the sudo ./provisionmcc.sh customerid="enter mccResourceId here" cachenodeid=" enter cacheNodeId here " customerkey=" enter customerKey here " registrationkey="enter registrationKey here" drivepathandsizeingb="enter physicalPath value,enter sizeInGb value here" shoulduseproxy="enter true if present, enter false if not" proxyurl=http://enter proxy hostname:enter port ``` -## Steps to point Windows client devices at Connnected Cache node +## Steps to point Windows client devices at Connected Cache node -Once you have successfully deployed Connected Cache to your Linux host machine, you will need to configure your Windows client device(s) to request Microsoft content from the Connected Cache node. +Once you have successfully deployed Connected Cache to your Linux host machine, you'll need to configure your Windows client devices to request Microsoft content from the Connected Cache node. You can do this by setting the [DOCacheHost or DOCacheHostSource policies via Intune](./waas-delivery-optimization-reference.md#cache-server-hostname). diff --git a/windows/deployment/do/mcc-ent-deploy-to-windows.md b/windows/deployment/do/mcc-ent-deploy-to-windows.md index 68077a256f..d219734b31 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-windows.md +++ b/windows/deployment/do/mcc-ent-deploy-to-windows.md @@ -53,15 +53,15 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. -1. Replace the values in the following provisioning command before running it on the host machine. Note that `-mccLocalAccountCredential $myLocalAccountCredential` is only needed if you are using a Local User account as the Connected Cache runtime account. +1. Replace the values in the following provisioning command before running it on the host machine. Note that `-mccLocalAccountCredential $myLocalAccountCredential` is only needed if you're using a Local User account as the Connected Cache runtime account. ```powershell-interactive ./provisionmcconwsl.ps1 -installationFolder c:\mccwsl01 -customerid [enter mccResourceId here] -cachenodeid [enter cacheNodeId here] -customerkey [enter customerKey here] -registrationkey [enter registration key] -cacheDrives "/var/mcc,enter drive size" -shouldUseProxy [enter true if present, enter false if not] -proxyurl "http://[enter proxy host name]:[enter port]" -mccRunTimeAccount $User -mccLocalAccountCredential $myLocalAccountCredential ``` -## Steps to point Windows client devices at Connnected Cache node +## Steps to point Windows client devices at Connected Cache node -Once you have successfully deployed Connected Cache to your Windows host machine, you will need to configure your Windows client device(s) to request Microsoft content from the Connected Cache node. +Once you have successfully deployed Connected Cache to your Windows host machine, you'll need to configure your Windows client devices to request Microsoft content from the Connected Cache node. You can do this by setting the [DOCacheHost or DOCacheHostSource policies via Intune](./waas-delivery-optimization-reference.md#cache-server-hostname). diff --git a/windows/deployment/do/mcc-ent-edu-overview.md b/windows/deployment/do/mcc-ent-edu-overview.md index 59c0cd45ae..64d059bc58 100644 --- a/windows/deployment/do/mcc-ent-edu-overview.md +++ b/windows/deployment/do/mcc-ent-edu-overview.md @@ -4,9 +4,9 @@ description: Overview, supported scenarios, and content types for Microsoft Conn ms.service: windows-client ms.subservice: itpro-updates ms.topic: conceptual -ms.author: carmenf -author: cmknox -manager: aaroncz +ms.author: andyriv +author: chrisjlin +manager: naengler ms.reviewer: mstewart ms.collection: tier3 appliesto: @@ -35,27 +35,27 @@ Microsoft Connected Cache for Enterprise and Education (preview) is intended to - Co-managed clients that get monthly updates and Win32 apps from Microsoft Intune - Cloud-only managed devices, such as Intune-enrolled devices without the Configuration Manager client, that get monthly updates and Win32 apps from Microsoft Intune -Microsoft Connected Cache is built for flexible deployments to support a number of enterprise configurations: +Microsoft Connected Cache is built for flexible deployments to support several different enterprise configurations: ### Branch office -Customers may have globally dispersed offices that meet the following parameters: +Customers may have globally dispersed offices that meet some or all of the following parameters: -- 10 – 50 Windows Clients -- No dedicated server hardware -- Internet bandwidth is great to limited (satellite internet) -- Possibly intermittent connectivity +- Have 10 – 50 Windows devices on-site +- Don't have dedicated server hardware +- Have Internet bandwidth that is limited (satellite internet) +- Have intermittent Internet connectivity To support the branch office scenario, customers can deploy a Connected Cache node to a Windows 11 client device. ### Large Enterprise -Customers may have office spaces, data centers, or Azure deployments that meet the following parameters: +Customers may have office spaces, data centers, or Azure deployments that meet some or all of the following parameters: -- 100's or 1,000's of Windows devices (client or server). -- Existing hardware – Decommissioned DP, file server, cloud print server -- Azure VMs and Azure Virtual Desktop -- Internet bandwidth is great to limited (T1) +- Have 100s or 1,000s of Windows devices (desktop or server) +- Have some existing server hardware (Decommissioned Distribution Point, file server, cloud print server) +- Have Azure VMs and/or Azure Virtual Desktop deployed +- Have Internet bandwidth that is mediocre (T1 or T3 lines) To support the large enterprise scenario, customers can deploy a Connected Cache node to a server running Windows Server 2022 or Ubuntu 22.04. @@ -88,8 +88,8 @@ The following diagram displays an overview of how Connected Cache functions: 1. Prepare Windows or Linux devices. If deploying to Windows devices, prepare accounts - gMSA, local user account, domain account. Deploy to Windows or Linux devices using scripts. 1. The Microsoft Connected Cache container is deployed to the device using Azure IoT Edge container management services and the cache server begins reporting status and metrics to Delivery Optimization services. 1. The DOCacheHost setting is configured using Intune or other MDM, DHCP custom option, or registry key. -1. Devices request content from the cache server, the cache server forwards the requests to the CDN and fills the cache, the cache server delivers the content requested to the devices, and uses Peer to Peer (depending on DO Download mode settings) for all DO content. -1. Devices can fallback to CDN if cache server is unavailable for any reason or use Delivery Optimization delay fallback to http (CDN )settings to prefer the local cache server. +1. Devices request content from the cache server, the cache server forwards the requests to the CDN and fills the cache, the cache server delivers the content requested to the devices, and uses Peer to Peer (depending on DO Download mode settings) for all DO content. +1. Devices can fall back to CDN if cache server is unavailable for any reason or use Delivery Optimization delay fallback to http (CDN) settings to prefer the local cache server. Customers can view data regarding Microsoft Connected Cache downloads on management portal and Windows Update for Business reports ## Next steps diff --git a/windows/deployment/do/mcc-ent-manage-using-cli.md b/windows/deployment/do/mcc-ent-manage-using-cli.md index 6faca3726f..de3cddce1f 100644 --- a/windows/deployment/do/mcc-ent-manage-using-cli.md +++ b/windows/deployment/do/mcc-ent-manage-using-cli.md @@ -31,7 +31,7 @@ This article outlines how to create, configure, and deploy Microsoft Connected C az extension add --name mcc ``` -To learn more about installting extensions, visit [Install the Connected Cache extension.](/cli/azure/azure-cli-extensions-overview#how-to-install-extensions) +To learn more about installing extensions, visit [Install the Connected Cache extension.](/cli/azure/azure-cli-extensions-overview#how-to-install-extensions)

@@ -54,7 +54,7 @@ Once the resource group is created, you'll need to create a Microsoft Connected A Connected Cache Azure resource is a top-level Azure resource under which cache nodes can be created. -To create an Connected Cache Azure resource, use `az mcc ent resource create` +To create a Connected Cache Azure resource, use `az mcc ent resource create` ```azurecli-interactive az mcc ent resource create --mcc-resource-name mymccresource --resource-group myrg diff --git a/windows/deployment/do/mcc-ent-monitoring.md b/windows/deployment/do/mcc-ent-monitoring.md index 2fb8a62181..060afcf66f 100644 --- a/windows/deployment/do/mcc-ent-monitoring.md +++ b/windows/deployment/do/mcc-ent-monitoring.md @@ -16,77 +16,76 @@ ms.date: 09/04/2024 # Monitor cache node usage -Tracking the status of your Connected Cache node is essential to making sure you are getting the most out of the service. +Tracking the status and performance of your Connected Cache node is essential to making sure you're getting the most out of the service. -For basic monitoring, navigate to the "Overview" tab. Here you will be able to view a cache node summary dashboard and charts for key metrics. No additional work is necessary, all the monitoring in this section will function right after your Connected Cache node has been installed. +For basic monitoring, navigate to the "Overview" tab. Here you'll be able to view a collection of predefined metrics and charts. All the monitoring in this section will function right after your Connected Cache node has been deployed. -For advanced monitoring, navigate to the "Metrics" section under the "Monitoring" tab. Here you will be able to access more sampled metrics (hits, misses, inbound traffic) and specify different aggregations (count, avg, min, max, sum). You can then use this data to create customized dashboards and configure alerts. Overall, this section is designed to cater to your specific monitoring needs and preferences. +For advanced monitoring, navigate to the "Metrics" section under the "Monitoring" tab. Here you'll be able to access more sampled metrics (hits, misses, inbound traffic) and specify different aggregations (count, avg, min, max, sum). You can then use this data to create customized charts and configure alerts. -Between the two monitoring sections, you will be able to gather essential insights into the health, performance, and efficiency of your Connected Cache nodes. +Between the two monitoring sections, you'll be able to gather essential insights into the health, performance, and efficiency of your Connected Cache nodes. ## Basic Monitoring ### Cache node summary -The preset monitoring data for Connected Cache is displayed on the Overview page in the Azure portal. Below are the metrics you will find in the "Cache Node Summary" dashboard, along with their descriptions. Please take note that this dashboard only reflects data from all cache nodes the last 24 hours. The filters that are displayed below the dashboard only affect the data shown in the "Key Metrics" charts. +Below are the metrics you'll find in the "Cache Node Summary" dashboard, along with their descriptions. This dashboard only reflects data received from cache nodes in the last 24 hours. - ![Screenshot of cache node summary in the Azure portal interface.](../images/mcc-ent-cache-node-summary.png) | Metric | Description | | --- | --- | -| Healthy nodes | Your Connected Cache node will frequently send heartbeat messages to our backend. If your node has responded in the last 24 hours, it will be labeled as healthy. | -| Unhealthy nodes | If your node has not sent a heartbeat message in the last 24 hours, it will be labeled as unhealthy. | -| Max in | The maximum ingress in Mbps (Megabits per second) that your node has pulled from CDN in the last 24 hours. | -| Max out | The minimum egress in Mbps that your node has pushed out to devices in your network over the last 24 hours. | -| Average in | The average ingress in Mbps that your node has pulled from CDN in the last 24 hours. | -| Average out | The average egress in Mbps that your node has pushed out to devices in your network over the last 24 hours. | -| Cache efficiency | The percentage of all content requests your Connected Cache node receives that are ultimately delivered by your Connected Cache node. An well-performing node should have an efficiency > 90%. | +| Healthy nodes | Your Connected Cache node will periodically send heartbeat messages to the Connected Cache service. If the Connected Cache service has received a heartbeat message from your Connected Cache node in the last 24 hours, the node will be labeled as healthy. | +| Unhealthy nodes | If the Connected Cache service hasn't received a heartbeat message from your Connected Cache node in the last 24 hours, the node will be labeled as unhealthy. | +| Max in | The maximum ingress in Megabits per second (Mbps) that your node has pulled from CDN endpoints in the last 24 hours. | +| Max out | The minimum egress in Mbps that your node has sent to Windows devices in its network over the last 24 hours. | +| Average in | The average ingress in Mbps that your node has pulled from CDN endpoints in the last 24 hours. | +| Average out | The average egress in Mbps that your node has sent to Windows devices in its network over the last 24 hours. | +| Cache efficiency | The percentage of all content requests your Connected Cache node receives that can be fulfilled using your node's cached content. A well-performing node should have an efficiency > 90%. | -### Key Metrics +### Key metric charts -The two monitoring charts on the Overview page more visually represent the usage of your Connected Cache node, as well as the types cached content delivered by your node over various time intervals. +The two predefined charts on the Overview page visually represent the egress and types of content served by your Connected Cache node. The filters that are displayed below the cache node summary dashboard only affect the data shown in the key metric charts. - ![Screenshot of key metric charts in the Azure portal interface.](../images/mcc-ent-key-metric-charts.png) #### Filters -Both filters displayed will only impact the data shown in the 2 charts below. +There are two filter controls that can be used to configure the key metric charts. - - By time: View data from the last 1 hour to 30 days - - By cache node: View data from individual cache nodes or the sum of all your active Connected Cache nodes. +- Timespan: Select how far back the chart should display +- Cache nodes: Select which Connected Cache nodes the chart should display data for #### Outbound Traffic Chart -This chart displays the egress in Mbps that your Connected Cache node was delivering at specific timestamps. The value in the chart's key represents the average egress over the specified time period. +This chart displays the average egress in bits per second (b/s) that your selected Connected Cache nodes delivered over the specified timespan. #### Volume by Content Type -This chart displays the amount (in GB) of each supported content type that your Connected Cache node is delivering at specific timestamps. You can find the complete list of supported content types here: [Microsoft Connected Cache content and services endpoints | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/delivery-optimization-endpoints) +This chart displays the volume of each supported content type in bytes (B) that your selected Connected Cache nodes delivered over the specified timespan. See [Microsoft Connected Cache content and services endpoints](delivery-optimization-endpoints.md) for a complete list of supported content types. -The content types in the key are sorted from highest to lowest volume an each have a distinct color. The bar chart is stacked such that you can visually compare total volume being delivered at different timestamps +The content types displayed in the chart each have a distinct color and are sorted in descending order of volume. The bar chart is stacked such that you can visually compare total volume being delivered at different points in time. ## Advanced Monitoring -To expand upon the metrics shown in the Overview tab, navigate to the "Metrics" tab in the left side toolbar of Azure Portal. +To expand upon the metrics shown in the Overview tab, navigate to the "Metrics" tab in the left side toolbar of Azure portal. -Listed below are the additional metrics you can access in this section: +Listed below are the metrics you can access in this section: | Metric | Description | | --- | --- | | Inbound | The number of content requests your Connected Cache node receives over a specified period of time. | | Hits | The number of times your Connected Cache node fulfills a content request by pulling from its cache. | -| Misses | The number of times your Connected Cache node is not able to fulfill a content request by pulling from its cache | +| Misses | The number of times your Connected Cache node isn't able to fulfill a content request by pulling from its cache | ### Customizable Dashboards -Once you select the charts you would like to track, you can save them over to a personalized dashboard. This dashboard enables you to configure the chart title, filters, range, legend, and more. You can also use this personalized dashboard to set up alerts that will notify you if your Connected Cache node dips in performance. +Once you select the charts you would like to track, you can save them to a personalized dashboard. You can configure the chart title, filters, range, legend, and more. You can also use this personalized dashboard to set up alerts that will notify you if your Connected Cache node dips in performance. -Some scenarios where you would want to set up these alerts: - • My Connected Cache node is being shown as unhealthy and I want to know exactly when it stopped egressing last. -A new Xbox update just released last night and I want to know if my Connected Cache node is helping deliver this content to my client machines. +Some example scenarios where you would want to set up a custom alert: + +- My Connected Cache node is being shown as unhealthy and I want to know exactly when it stopped egressing last +- A new Microsoft Word update was released last night and I want to know if my Connected Cache node is helping deliver this content to my Windows devices ## Additional Metrics -Once the content has left the Connected Cache node, the node cannot track whether the content has successfully been delivered to the requesting Windows client. To access client-side data, you can refer to this page: [Monitor Delivery Optimization | Microsoft Learn](https://learn.microsoft.com/en-us/windows/deployment/do/waas-delivery-optimization-monitor) \ No newline at end of file +Your Connected Cache node can keep track of how much content has been sent to requesting Windows devices, but the node can't track whether the content was successfully received by the device. For more information on accessing client-side data from your Windows devices, see [Monitor Delivery Optimization](waas-delivery-optimization-monitor.md). diff --git a/windows/deployment/do/mcc-ent-prerequisites.md b/windows/deployment/do/mcc-ent-prerequisites.md index 95765edf54..5a8de5dc85 100644 --- a/windows/deployment/do/mcc-ent-prerequisites.md +++ b/windows/deployment/do/mcc-ent-prerequisites.md @@ -25,7 +25,7 @@ This article details the requirements and recommended specifications for using M The Azure resources used for Connected Cache will be free to you during this public preview. -- **E3/E5 or A3/A5 license**: Your organization must have one of the following license subscriptions for each device that downloads content from an Connected Cache node. +- **E3/E5 or A3/A5 license**: Your organization must have one of the following license subscriptions for each device that downloads content from a Connected Cache node. - [Windows Enterprise E3 or E5](/windows/whats-new/windows-licensing#windows-11-enterprise), included in [Microsoft 365 F3, E3, or E5](https://www.microsoft.com/microsoft-365/enterprise/microsoft365-plans-and-pricing?msockid=32c407b43d5968050f2b13443c746916) - Windows Education A3 or A5, included in [Microsoft 365 A3 or A5](https://www.microsoft.com/education/products/microsoft-365?msockid=32c407b43d5968050f2b13443c746916#Education-plans) @@ -63,11 +63,11 @@ This article details the requirements and recommended specifications for using M ### Recommended host machine hardware specifications -Based on your [enterprise configuration](mcc-ent-edu-overview.md), it is recommended to deploy your Connected Cache nodes to host machines that meet the following recommended hardware specifications. +Based on your [enterprise configuration](mcc-ent-edu-overview.md), it's recommended to deploy your Connected Cache nodes to host machines that meet the following recommended hardware specifications. | | Branch Office | Small Enterprise | Large Enterprise | | --- | --- | --- | --- | | CPU cores | 4 | 8 | 16 | -| Memory | 8 GB, 4GB free | 16 GB, 4GB free | 32 GB, 4GB free | +| Memory | 8 GB, 4 GB free | 16 GB, 4 GB free | 32 GB, 4 GB free | | Disk storage | 100 GB free | 500 GB free | 2x 200-500 GB free | | NIC | 1 Gbps | 5 Gbps | 10 Gbps | diff --git a/windows/deployment/do/mcc-ent-release-notes.md b/windows/deployment/do/mcc-ent-release-notes.md index 9fd4a23d38..aa3cdec687 100644 --- a/windows/deployment/do/mcc-ent-release-notes.md +++ b/windows/deployment/do/mcc-ent-release-notes.md @@ -26,7 +26,7 @@ This article contains details about the latest releases of Connected Cache. Sinc - Contains client changes - Affects Linux, Windows host machines -### Changenotes +### Change notes - Added new "Outbound egress" and "Volume by Content type" monitoring charts to Azure portal user interface - Added ability to create custom monitoring charts under the Metrics tab in the Azure portal user interface diff --git a/windows/deployment/do/mcc-ent-troubleshooting.md b/windows/deployment/do/mcc-ent-troubleshooting.md index ac83190e31..4ca009c4d8 100644 --- a/windows/deployment/do/mcc-ent-troubleshooting.md +++ b/windows/deployment/do/mcc-ent-troubleshooting.md @@ -30,7 +30,7 @@ Connected Cache Azure resource creation can be initiated using either the Azure ## Troubleshooting cache node issue -If you are facing issues with your cache node, it could be due to cache node being on the early preview version of Connected Cache. Cache nodes belonging to early preview version will be under Connected Cache resource that will have 'early preview' in its name. Please delete these cache nodes and associated Connected Cache resource and create a new Connected Cache resource on the new version. +If you're facing issues with your cache node, it could be due to cache node being on the early preview version of Connected Cache. Cache nodes belonging to early preview version will be under Connected Cache resource that will have 'early preview' in its name. Please delete these cache nodes and associated Connected Cache resource and create a new Connected Cache resource on the new version. For detailed instructions on creating Connected Cache resource, see [Create Connected Cache Azure resources](mcc-ent-create-resource-and-cache.md) ## Troubleshooting cache node deployment diff --git a/windows/deployment/do/mcc-ent-uninstall-cache-node.md b/windows/deployment/do/mcc-ent-uninstall-cache-node.md index 07c4678b1e..3ca253488b 100644 --- a/windows/deployment/do/mcc-ent-uninstall-cache-node.md +++ b/windows/deployment/do/mcc-ent-uninstall-cache-node.md @@ -14,7 +14,7 @@ appliesto: ms.date: 09/27/2024 --- -# Uninstall Connected Cache caching software from a host machine +# Uninstall Connected Cache software from a host machine This article describes how to uninstall Microsoft Connected Cache for Enterprise and Education caching software from a host machine. These steps should be taken after deleting the cache node in the Azure portal. diff --git a/windows/deployment/do/mcc-ent-update-cache-node.md b/windows/deployment/do/mcc-ent-update-cache-node.md index da724f7627..2528e132b5 100644 --- a/windows/deployment/do/mcc-ent-update-cache-node.md +++ b/windows/deployment/do/mcc-ent-update-cache-node.md @@ -36,25 +36,25 @@ All Connected Cache nodes are configured to update as part of the Fast ring by d #### Slow Ring -Configuring an Connected Cache node to update as part of the Slow ring provides users with the option to delay Connected Cache software updates until the update can be validated. There are three settings that control when Connected Cache updates will be applied to Connected Cache nodes. All update ring settings can be managed from the Azure portal or through Azure CLI. +Configuring a Connected Cache node to update as part of the Slow ring provides users with the option to delay Connected Cache software updates until the update can be validated. There are three settings that control when Connected Cache updates will be applied to Connected Cache nodes. All update ring settings can be managed from the Azure portal or through Azure CLI. | Setting | Description | | --- | --- | -| Week of the month | 1st to 4th week can be selected. There are three to four months in a year that could have a 5th week. If there's a 5th week, the update could be applied during that 5th week if the day of the week falls near the last day of the month.| +| Week of the month | 1st to 4th week can be selected. There are three to four months in a year that could have a fifth week. If there's a fifth week, the update could be applied during that fifth week if the day of the week falls near the last day of the month.| | Day of the week | Monday through Sunday can be selected. | | Time of day | Time of day is based on UTC and a 24 hour clock. | ## Update process -When Microsoft publishes an Connected Cache update, the Connected Cache service attempts to update all Connected Cache nodes based on their Update Ring membership. If a cache node can't complete the silent Connected Cache update within 6 hours of starting, an error message is surfaced in the Azure portal. +When Microsoft publishes a Connected Cache update, the Connected Cache service attempts to update all Connected Cache nodes based on their Update Ring membership. If a cache node can't complete the silent Connected Cache update within 6 hours of starting, an error message is surfaced in the Azure portal. ## Update terminology, criteria, and SLA -Connected Cache updates will be released based on need instead of on a set cadence. +Connected Cache updates are released based on need instead of on a set cadence. | Update type | Criteria and SLA | | --- | --- | -| Security | Security updates are the highest priority and will be released based on the severity rating of the vulnerability. [Critical and High](https://nvd.nist.gov/vuln-metrics/cvss) vulnerabilities will be released by Microsoft within 60 days of discovery. [Medium and Low](https://nvd.nist.gov/vuln-metrics/cvss) vulnerabilities will be released by Microsoft within 120 days | +| Security | Security updates are the highest priority and are released based on the severity rating of the vulnerability. Patches for [Critical and High](https://nvd.nist.gov/vuln-metrics/cvss) vulnerabilities are released by Microsoft within 60 days of discovery. Patches for [Medium and Low](https://nvd.nist.gov/vuln-metrics/cvss) vulnerabilities are released by Microsoft within 120 days. | | Quality | Quality updates fix a specific problem and addresses a noncritical, non-security-related bug. Quality updates could include performance fixes for a specific problem or changes related to cache efficiency or maximum egress for example. Quality updates are released along with security updates or when necessary to ensure proper functioning of the Microsoft Connected Cache software. | For information on all released Microsoft Connected Cache updates, see the [Connected Cache release notes](mcc-ent-release-notes.md). diff --git a/windows/deployment/do/mcc-ent-verify-cache-node.md b/windows/deployment/do/mcc-ent-verify-cache-node.md index c190dbf048..cd55655189 100644 --- a/windows/deployment/do/mcc-ent-verify-cache-node.md +++ b/windows/deployment/do/mcc-ent-verify-cache-node.md @@ -36,9 +36,9 @@ These steps should be taken after deploying Connected Cache software to a [Windo If successful, the Windows client device should begin to download a small image file from the Connected Cache node. -1. To check how much content an individual Windows client has pulled from an Connected Cache node, open the [Delivery Optimization activity monitor](/microsoft-365-apps/updates/delivery-optimization#viewing-data-about-the-use-of-delivery-optimization) on the Windows client device. +1. To check how much content an individual Windows client has downloaded from a Connected Cache node, open the [Delivery Optimization activity monitor](/microsoft-365-apps/updates/delivery-optimization#viewing-data-about-the-use-of-delivery-optimization) on the Windows client device. - You should see a donut chart titled Download Statistics. If the Windows client has pulled content from the cache node, you'll see a segment of the donut labeled "From Microsoft cache server". + You should see a donut chart titled Download Statistics. If the Windows client has downloaded content from the cache node, you'll see a segment of the donut labeled "From Microsoft cache server". ## Related content From 6ac3041bf041d07fb9999f41c7e684461950fcab Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:17:42 -0700 Subject: [PATCH 10/20] Additions to troubleshooting page --- .../deployment/do/mcc-ent-troubleshooting.md | 85 +++++++++++-------- 1 file changed, 51 insertions(+), 34 deletions(-) diff --git a/windows/deployment/do/mcc-ent-troubleshooting.md b/windows/deployment/do/mcc-ent-troubleshooting.md index 4ca009c4d8..3abfe22572 100644 --- a/windows/deployment/do/mcc-ent-troubleshooting.md +++ b/windows/deployment/do/mcc-ent-troubleshooting.md @@ -17,7 +17,7 @@ ms.date: 09/27/2024 # Troubleshoot Microsoft Connected Cache for Enterprise and Education -This article contains instructions on how to troubleshoot different issues you may encounter while using Connected Cache. These issues are categorized by the task in which they may be encountered. For example, this next section covers troubleshooting [Connected Cache Azure resource creation](mcc-ent-create-resource-and-cache.md). +This article contains instructions on how to troubleshoot different issues you may encounter while using Connected Cache. These issues are categorized by the task in which they may be encountered. ## Steps to obtain an Azure subscription ID @@ -26,49 +26,66 @@ This article contains instructions on how to troubleshoot different issues you m ## Troubleshooting Azure resource creation -Connected Cache Azure resource creation can be initiated using either the Azure portal or the Azure CLI command set. If you're encountering an error during resource creation, check that you have the necessary RPaaS permissions and have filled out all required fields. +[Connected Cache Azure resource creation](mcc-ent-create-resource-and-cache.md) can be initiated using either the Azure portal user interface or the Azure CLI command set. -## Troubleshooting cache node issue +If you're encountering an error during resource creation, check that you have the necessary RPaaS permissions and have filled out all required fields during the resource creation process. -If you're facing issues with your cache node, it could be due to cache node being on the early preview version of Connected Cache. Cache nodes belonging to early preview version will be under Connected Cache resource that will have 'early preview' in its name. Please delete these cache nodes and associated Connected Cache resource and create a new Connected Cache resource on the new version. -For detailed instructions on creating Connected Cache resource, see [Create Connected Cache Azure resources](mcc-ent-create-resource-and-cache.md) +## Troubleshooting cache node configuration -## Troubleshooting cache node deployment +[Configuration of your Connected Cache node](mcc-ent-create-resource-and-cache.md) can be done using either the Azure portal user interface or the Azure CLI command set. -TODO: Add introduction sentence(s) -[Include a sentence or two to explain only what is needed to complete the procedure.] -TODO: Add ordered list of procedure steps +If you're encountering a validation error, check that you have filled out all required configuration fields. -1. Step 1 -1. Step 2 -1. Step 3 +If your configuration doesn't appear to be taking effect, check that you have clicked the "Save" button at the top of the configuration page in the Azure portal user interface. + +## Troubleshooting cache nodes created during early preview + +Cache nodes created and deployed during the [Microsoft Connected Cache for Enterprise and Education early preview](mcc-ent-private-preview.md) should continue to function but can no longer be managed or monitored remotely via the Connected Cache Azure service. + +As such, we strongly recommend you [recreate your existing resources in Azure](mcc-ent-create-resource-and-cache.md) and then [redeploy the Connected Cache software to your host machines](mcc-ent-deploy-to-windows.md) using the latest OS-specific installer. + +## Troubleshooting cache node deployment to Windows host machine + +[Deploying a Connected Cache node to a Windows host machine](mcc-ent-deploy-to-windows.md) involves running a series of PowerShell scripts contained within the Windows provisioning package. These scripts will attempt to write log files to the installation directory specified in the provisioning command (`C:\mccwsl01\InstallLogs` by default). + +There are three types of installation log files: + +1. **WSL_Mcc_Install_Transcript**: This log file records the lines printed to the PowerShell window when running the installation script +1. **WSL_Mcc_Install_FromRegisteredTask_Status**: This log file records the high level status that is written during the registered tasks install +1. **WSL_Mcc_Install_FromRegisteredTask_Transcript**: This log file records the detailed status that is written during the registered tasks install + +The Registered Task Transcript is usually the most useful for diagnosing the installation issue. + +Once the Connected Cache software has been successfully deployed to the Windows host machine, you can check if the cache node is running properly by doing the following on the Windows host machine: + +1. Launch a PowerShell process as the account specified as the runtime account during the Connected Cache install +1. Run `wsl -d Ubuntu-22.04-Mcc-Base` to access the Linux distribution that hosts the Connected Cache container +1. Run `sudo iotedge list` to show which containers are running within the IoT Edge runtime + +If it shows the **edgeAgent** and **edgeHub** containers but doesn't show **MCC**, you can view the status of the IoT Edge security manager using `sudo iotedge system logs --f`. + +You can also reboot the IoT Edge runtime using `sudo iotedge restart`. + +## Troubleshooting cache node deployment to Linux host machine + +[Deploying a Connected Cache node to a Linux host machine](mcc-ent-deploy-to-linux.md) involves running a series of Bash scripts contained within the Linux provisioning package. + +Once the Connected Cache software has been successfully deployed to the Linux host machine, you can check if the cache node is running properly by doing the following on the Linux host machine: + +1. Run `sudo iotedge list` to show which containers are running within the IoT Edge runtime + +If it shows the **edgeAgent** and **edgeHub** containers but doesn't show **MCC**, you can view the status of the IoT Edge security manager using `sudo iotedge system logs --f`. + +You can also reboot the IoT Edge runtime using `sudo iotedge restart`. ## Troubleshooting cache node monitoring -TODO: Add introduction sentence(s) -[Include a sentence or two to explain only what is needed to complete the procedure.] -TODO: Add ordered list of procedure steps +Connected Cache node status and performance can be [monitored using the Azure portal user interface](mcc-ent-monitoring.md). -1. Step 1 -1. Step 2 -1. Step 3 +If the [basic monitoring](mcc-ent-monitoring.md#basic-monitoring) visuals on the Overview tab are showing unexpected or erroneous values, refresh the browser window. - +If the issue persists, check that you have configured the Timespan and Cache nodes as desired. ## Diagnose and Solve -If this article isn't resolving the issue you're facing with your cache node, you can use the **Diagnose and solve problems** functionality within your Connected Cache resource to continue troubleshooting. **Diagnose and solve problems** contains solutions to most common problems that users might face as they onboard. - -You can find **Diagnose and solve problems** on the left pane within your Connected Cache resource. - -Within **Diagnose and solve problems**, select **Troubleshoot** under the type of problem you're facing and follow the prompts that narrow down the solution to the issue. - -## Filing a support request - -TODO: Add steps for filling out a CSS ticket. +You can also use the **Diagnose and solve problems** functionality provided by the Azure portal interface. This tab within the Microsoft Connected Cache Azure resource will walk you through a few prompts to help narrow down the solution to your issue. From 3c506c2708845994da6fe08e785e89b4c697919f Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:26:03 -0700 Subject: [PATCH 11/20] Fix broken links --- windows/deployment/do/mcc-ent-create-resource-and-cache.md | 2 +- windows/deployment/do/mcc-ent-faq.yml | 4 ++-- windows/deployment/do/mcc-ent-prerequisites.md | 2 +- windows/deployment/do/mcc-ent-verify-cache-node.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/deployment/do/mcc-ent-create-resource-and-cache.md b/windows/deployment/do/mcc-ent-create-resource-and-cache.md index 3cfc44f9f2..1450c17321 100644 --- a/windows/deployment/do/mcc-ent-create-resource-and-cache.md +++ b/windows/deployment/do/mcc-ent-create-resource-and-cache.md @@ -204,7 +204,7 @@ To deploy the cache node to a **Linux** host machine, see ### [Azure CLI](#tab/cli) To deploy cache nodes using Azure CLI, see >[!div class="nextstepaction"] ->[Manage cache nodes using CLI](mcc-ent-manage-cache-using-CLI.md) +>[Manage cache nodes using CLI](mcc-ent-manage-using-CLI.md) ---
diff --git a/windows/deployment/do/mcc-ent-faq.yml b/windows/deployment/do/mcc-ent-faq.yml index e099a27f79..41fab60818 100644 --- a/windows/deployment/do/mcc-ent-faq.yml +++ b/windows/deployment/do/mcc-ent-faq.yml @@ -65,7 +65,7 @@ sections: - question: How do I set up CLI? answer: For more information, see [How to install the Azure CLI](/cli/azure/install-azure-cli). - question: How do I install the Microsoft Connected Cache Azure CLI extension? - answer: For more information, see [Install the Microsoft Connected Cache extension](mcc-ent-manage-cache-using-cli.md#prerequisites). + answer: For more information, see [Install the Microsoft Connected Cache extension](mcc-ent-manage-using-cli.md#prerequisites). - question: What do I do if I have to set up or change existing proxy? answer: You can enable proxy and provide proxy information on Azure portal or use the CLI. Don't forget to rerun the provisioning script after making any proxy changes. For more information, see [Set up or change existing proxy](mcc-ent-create-resource-and-cache.md#proxy-settings). - question: How do we set up Microsoft Connected Cache if we support multiple countries or regions? @@ -75,4 +75,4 @@ sections: - question: Does the user have to be logged using the account that installed Microsoft Connected Cache on Windows or Linux? answer: No. As part of the installation on Windows a scheduled task is created using the account used to install Connected Cache. Regardless of which user is logged in or not logged in, the scheduled task remains running. On Linux, Connected Cache is installed by the user and remains running regardless of which user is logged in to the OS. - question: What do I do if I need more support and have more questions even after reading this FAQ page? - answer: For further support for Microsoft Connected Cache, see [Troubleshooting issues for Microsoft Connected Cache for Enterprise and Education](mcc-ent-support-and-troubleshooting.md). If you still need more support, you can contact customer support. + answer: For further support for Microsoft Connected Cache, see [Troubleshooting issues for Microsoft Connected Cache for Enterprise and Education](mcc-ent-troubleshooting.md). If you still need more support, you can contact customer support. diff --git a/windows/deployment/do/mcc-ent-prerequisites.md b/windows/deployment/do/mcc-ent-prerequisites.md index 5a8de5dc85..938d52a217 100644 --- a/windows/deployment/do/mcc-ent-prerequisites.md +++ b/windows/deployment/do/mcc-ent-prerequisites.md @@ -65,7 +65,7 @@ This article details the requirements and recommended specifications for using M Based on your [enterprise configuration](mcc-ent-edu-overview.md), it's recommended to deploy your Connected Cache nodes to host machines that meet the following recommended hardware specifications. -| | Branch Office | Small Enterprise | Large Enterprise | +| Component | Branch Office | Small / Medium Enterprise | Large Enterprise | | --- | --- | --- | --- | | CPU cores | 4 | 8 | 16 | | Memory | 8 GB, 4 GB free | 16 GB, 4 GB free | 32 GB, 4 GB free | diff --git a/windows/deployment/do/mcc-ent-verify-cache-node.md b/windows/deployment/do/mcc-ent-verify-cache-node.md index cd55655189..2c63db2453 100644 --- a/windows/deployment/do/mcc-ent-verify-cache-node.md +++ b/windows/deployment/do/mcc-ent-verify-cache-node.md @@ -43,4 +43,4 @@ These steps should be taken after deploying Connected Cache software to a [Windo ## Related content - [Monitor cache node usage](mcc-ent-monitoring.md) -- [Troubleshoot cache node](mcc-ent-support-and-troubleshooting.md) +- [Troubleshoot cache node](mcc-ent-troubleshooting.md) From 649bf7c183fc97333e9645e202950586318c1f6c Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:58:25 -0700 Subject: [PATCH 12/20] Clarified steps + added notes to Windows deployment page --- .../deployment/do/mcc-ent-deploy-to-windows.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/windows/deployment/do/mcc-ent-deploy-to-windows.md b/windows/deployment/do/mcc-ent-deploy-to-windows.md index d219734b31..0c1fee800d 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-windows.md +++ b/windows/deployment/do/mcc-ent-deploy-to-windows.md @@ -26,12 +26,14 @@ Before deploying Connected Cache to a Windows host machine, ensure that the host # [Azure portal](#tab/portal) 1. Within the Azure portal, navigate to the "Provisioning" tab of your cache node and copy the provisioning command. -1. Download the provisioning package using the button at the top of the Cache Node Configuration page and extract the package onto the host machine. +1. Download the provisioning package using the button at the top of the Cache Node Configuration page and extract the package onto the host machine. **Note**: The installer should be in a folder that is not synced to OneDrive, as this will interfere with the installation process. 1. Open a PowerShell window *as administrator* on the host machine, then change directory to the extracted provisioning package. 1. Set the Execution Policy to "Unrestricted" to allow the provisioning scripts to run. -1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. For gMSAs, the value should be formatted as `"Domain\Username$"`. For Local User accounts, `$User` should be formatted as `"LocalMachineName\Username"`. +1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. - If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. + For gMSAs, the value should be formatted as `"Domain\Username$"`. For Local User accounts, `$User` should be formatted as `"LocalMachineName\Username"`. + + If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. **Note**: You will need to apply a local security policy to permit the Local User account to "Log on as a batch job". 1. Run the provisioning command on the host machine. @@ -49,11 +51,13 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the 1. Download and extract the [Connected Cache provisioning package for Windows](https://aka.ms/MCC-Ent-InstallScript-WSL) to your host machine. 1. Open a PowerShell window *as administrator* on the host machine, then change directory to the extracted provisioning package. 1. Set the Execution Policy to "Unrestricted" to allow the provisioning scripts to run. -1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. For gMSAs, the value should be formatted as `"Domain\Username$"`. For Local User accounts, `$User` should be formatted as `"LocalMachineName\Username"`. +1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. - If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. + For gMSAs, the value should be formatted as `"Domain\Username$"`. For Local User accounts, `$User` should be formatted as `"LocalMachineName\Username"`. -1. Replace the values in the following provisioning command before running it on the host machine. Note that `-mccLocalAccountCredential $myLocalAccountCredential` is only needed if you're using a Local User account as the Connected Cache runtime account. + If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. **Note**: You will need to apply a local security policy to permit the Local User account to "Log on as a batch job". + +1. Replace the values in the following provisioning command before running it on the host machine. **Note**: `-mccLocalAccountCredential $myLocalAccountCredential` is only needed if you're using a Local User account as the Connected Cache runtime account. ```powershell-interactive ./provisionmcconwsl.ps1 -installationFolder c:\mccwsl01 -customerid [enter mccResourceId here] -cachenodeid [enter cacheNodeId here] -customerkey [enter customerKey here] -registrationkey [enter registration key] -cacheDrives "/var/mcc,enter drive size" -shouldUseProxy [enter true if present, enter false if not] -proxyurl "http://[enter proxy host name]:[enter port]" -mccRunTimeAccount $User -mccLocalAccountCredential $myLocalAccountCredential From 1f7cae57d94937ec79e43f4c7d6927c81d922339 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:58:46 -0700 Subject: [PATCH 13/20] Added wsl install command to prereqs page --- windows/deployment/do/mcc-ent-prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-ent-prerequisites.md b/windows/deployment/do/mcc-ent-prerequisites.md index 938d52a217..1878a73a01 100644 --- a/windows/deployment/do/mcc-ent-prerequisites.md +++ b/windows/deployment/do/mcc-ent-prerequisites.md @@ -45,7 +45,7 @@ This article details the requirements and recommended specifications for using M - Windows 11 must have [OS Build 22631.3296](https://support.microsoft.com/topic/march-12-2024-kb5035853-os-builds-22621-3296-and-22631-3296-a69ac07f-e893-4d16-bbe1-554b7d9dd39b) or later - Windows Server 2022 must have [OS Build 20348.2227](https://support.microsoft.com/topic/january-9-2024-kb5034129-os-build-20348-2227-6958a36f-efaf-4ef5-a576-c5931072a89a) or later - The Windows host machine must support nested virtualization. -- The Windows host machine must have [WSL2 installed](/windows/wsl/install#install-wsl-command). +- The Windows host machine must have [WSL2 installed](/windows/wsl/install#install-wsl-command). You can install this on Windows 11 and Windows Server 2022 by running the PowerShell command `wsl.exe --install --no-distribution`. ### Additional requirements for Linux host machines From 9cd06356e0e7d79745018d83682b6ec0f5ed4046 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:10:02 -0700 Subject: [PATCH 14/20] Added proxy, WSL, scheduled task sections to troubleshooting page --- .../deployment/do/mcc-ent-troubleshooting.md | 33 +++++++++++++++---- 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/windows/deployment/do/mcc-ent-troubleshooting.md b/windows/deployment/do/mcc-ent-troubleshooting.md index 3abfe22572..b7566354ba 100644 --- a/windows/deployment/do/mcc-ent-troubleshooting.md +++ b/windows/deployment/do/mcc-ent-troubleshooting.md @@ -28,7 +28,7 @@ This article contains instructions on how to troubleshoot different issues you m [Connected Cache Azure resource creation](mcc-ent-create-resource-and-cache.md) can be initiated using either the Azure portal user interface or the Azure CLI command set. -If you're encountering an error during resource creation, check that you have the necessary RPaaS permissions and have filled out all required fields during the resource creation process. +If you're encountering an error during resource creation, check that you have the necessary permissions to create Azure resources under your subscription and have filled out all required fields during the resource creation process. ## Troubleshooting cache node configuration @@ -38,6 +38,8 @@ If you're encountering a validation error, check that you have filled out all re If your configuration doesn't appear to be taking effect, check that you have clicked the "Save" button at the top of the configuration page in the Azure portal user interface. +If you have changed the proxy configuration, you will need to re-provision the Connected Cache software on the host machine for the proxy configuration to take effect. + ## Troubleshooting cache nodes created during early preview Cache nodes created and deployed during the [Microsoft Connected Cache for Enterprise and Education early preview](mcc-ent-private-preview.md) should continue to function but can no longer be managed or monitored remotely via the Connected Cache Azure service. @@ -46,6 +48,8 @@ As such, we strongly recommend you [recreate your existing resources in Azure](m ## Troubleshooting cache node deployment to Windows host machine +### Collecting Windows-hosted installation logs + [Deploying a Connected Cache node to a Windows host machine](mcc-ent-deploy-to-windows.md) involves running a series of PowerShell scripts contained within the Windows provisioning package. These scripts will attempt to write log files to the installation directory specified in the provisioning command (`C:\mccwsl01\InstallLogs` by default). There are three types of installation log files: @@ -56,15 +60,32 @@ There are three types of installation log files: The Registered Task Transcript is usually the most useful for diagnosing the installation issue. +### Updating the WSL2 kernel + +If the Connected Cache installation is failing due to WSL-related issues, try running `wsl.exe --update` to get the latest version of the WSL kernel. + +### Checking if the Connected Cache container is running + Once the Connected Cache software has been successfully deployed to the Windows host machine, you can check if the cache node is running properly by doing the following on the Windows host machine: 1. Launch a PowerShell process as the account specified as the runtime account during the Connected Cache install 1. Run `wsl -d Ubuntu-22.04-Mcc-Base` to access the Linux distribution that hosts the Connected Cache container 1. Run `sudo iotedge list` to show which containers are running within the IoT Edge runtime -If it shows the **edgeAgent** and **edgeHub** containers but doesn't show **MCC**, you can view the status of the IoT Edge security manager using `sudo iotedge system logs --f`. +If it shows the **edgeAgent** and **edgeHub** containers but doesn't show **MCC**, you can view the status of the IoT Edge security manager using `sudo iotedge system logs -- -f`. -You can also reboot the IoT Edge runtime using `sudo iotedge restart`. +You can also reboot the IoT Edge runtime using `sudo systemctl restart iotedge`. + +### Checking Connected Cache scheduled tasks + +Once the Connected Cache container is running, a scheduled task is periodically run under the Connected Cache runtime account to keep WSL from cleaning up the Connected Cache container. + +You can use Task Scheduler on the host machine to check the status of this scheduled task. + +1. Open Task Scheduler on the host machine +1. Navigate to the Active Tasks section and double-click on "MCC_Monitor_Task" +1. Select the scheduled task "MCC_Monitor_Task" +1. Select the "Triggers" tab and confirm that the Status is "Enabled" ## Troubleshooting cache node deployment to Linux host machine @@ -74,9 +95,9 @@ Once the Connected Cache software has been successfully deployed to the Linux ho 1. Run `sudo iotedge list` to show which containers are running within the IoT Edge runtime -If it shows the **edgeAgent** and **edgeHub** containers but doesn't show **MCC**, you can view the status of the IoT Edge security manager using `sudo iotedge system logs --f`. +If it shows the **edgeAgent** and **edgeHub** containers but doesn't show **MCC**, you can view the status of the IoT Edge security manager using `sudo iotedge system logs -- -f`. -You can also reboot the IoT Edge runtime using `sudo iotedge restart`. +You can also reboot the IoT Edge runtime using `sudo systemctl restart iotedge`. ## Troubleshooting cache node monitoring @@ -84,7 +105,7 @@ Connected Cache node status and performance can be [monitored using the Azure po If the [basic monitoring](mcc-ent-monitoring.md#basic-monitoring) visuals on the Overview tab are showing unexpected or erroneous values, refresh the browser window. -If the issue persists, check that you have configured the Timespan and Cache nodes as desired. +If the issue persists, check that you have configured the Timespan and Cache node filters as desired. ## Diagnose and Solve From e0ed22f6c25ed640a4a3a7cee5b2948cfe0c2738 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:11:37 -0700 Subject: [PATCH 15/20] Fix to windows deploy page --- windows/deployment/do/mcc-ent-deploy-to-windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/do/mcc-ent-deploy-to-windows.md b/windows/deployment/do/mcc-ent-deploy-to-windows.md index 0c1fee800d..d0b1d06cb5 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-windows.md +++ b/windows/deployment/do/mcc-ent-deploy-to-windows.md @@ -48,7 +48,7 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the ``` 1. Save the resulting output. These values will be passed as parameters within the provisioning command. -1. Download and extract the [Connected Cache provisioning package for Windows](https://aka.ms/MCC-Ent-InstallScript-WSL) to your host machine. +1. Download and extract the [Connected Cache provisioning package for Windows](https://aka.ms/MCC-Ent-InstallScript-WSL) to your host machine. **Note**: The installer should be in a folder that is not synced to OneDrive, as this will interfere with the installation process. 1. Open a PowerShell window *as administrator* on the host machine, then change directory to the extracted provisioning package. 1. Set the Execution Policy to "Unrestricted" to allow the provisioning scripts to run. 1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. From 1545d3a959349c8c7d8b587436c6c92f02ebce14 Mon Sep 17 00:00:00 2001 From: chrisjlin <36452239+chrisjlin@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:19:17 -0700 Subject: [PATCH 16/20] Acrolinx fixes --- windows/deployment/do/mcc-ent-deploy-to-windows.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/deployment/do/mcc-ent-deploy-to-windows.md b/windows/deployment/do/mcc-ent-deploy-to-windows.md index d0b1d06cb5..34bb04d55a 100644 --- a/windows/deployment/do/mcc-ent-deploy-to-windows.md +++ b/windows/deployment/do/mcc-ent-deploy-to-windows.md @@ -26,14 +26,14 @@ Before deploying Connected Cache to a Windows host machine, ensure that the host # [Azure portal](#tab/portal) 1. Within the Azure portal, navigate to the "Provisioning" tab of your cache node and copy the provisioning command. -1. Download the provisioning package using the button at the top of the Cache Node Configuration page and extract the package onto the host machine. **Note**: The installer should be in a folder that is not synced to OneDrive, as this will interfere with the installation process. +1. Download the provisioning package using the button at the top of the Cache Node Configuration page and extract the package onto the host machine. **Note**: The installer should be in a folder that isn't synced to OneDrive, as this will interfere with the installation process. 1. Open a PowerShell window *as administrator* on the host machine, then change directory to the extracted provisioning package. 1. Set the Execution Policy to "Unrestricted" to allow the provisioning scripts to run. 1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. For gMSAs, the value should be formatted as `"Domain\Username$"`. For Local User accounts, `$User` should be formatted as `"LocalMachineName\Username"`. - If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. **Note**: You will need to apply a local security policy to permit the Local User account to "Log on as a batch job". + If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. **Note**: You'll need to apply a local security policy to permit the Local User account to `Log on as a batch job`. 1. Run the provisioning command on the host machine. @@ -48,14 +48,14 @@ To deploy a cache node programmatically, you'll need to use Azure CLI to get the ``` 1. Save the resulting output. These values will be passed as parameters within the provisioning command. -1. Download and extract the [Connected Cache provisioning package for Windows](https://aka.ms/MCC-Ent-InstallScript-WSL) to your host machine. **Note**: The installer should be in a folder that is not synced to OneDrive, as this will interfere with the installation process. +1. Download and extract the [Connected Cache provisioning package for Windows](https://aka.ms/MCC-Ent-InstallScript-WSL) to your host machine. **Note**: The installer should be in a folder that isn't synced to OneDrive, as this will interfere with the installation process. 1. Open a PowerShell window *as administrator* on the host machine, then change directory to the extracted provisioning package. 1. Set the Execution Policy to "Unrestricted" to allow the provisioning scripts to run. 1. Create a `$User` environment variable containing the username of the account you intend to designate as the Connected Cache runtime account. For gMSAs, the value should be formatted as `"Domain\Username$"`. For Local User accounts, `$User` should be formatted as `"LocalMachineName\Username"`. - If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. **Note**: You will need to apply a local security policy to permit the Local User account to "Log on as a batch job". + If you're using a Local User account as the Connected Cache runtime account, you'll also need to create a [PSCredential Object](/dotnet/api/system.management.automation.pscredential) named `$myLocalAccountCredential`. **Note**: You'll need to apply a local security policy to permit the Local User account to `Log on as a batch job`. 1. Replace the values in the following provisioning command before running it on the host machine. **Note**: `-mccLocalAccountCredential $myLocalAccountCredential` is only needed if you're using a Local User account as the Connected Cache runtime account. From 71317788369a5c1fab08d2c98e3527234edf4758 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 25 Oct 2024 17:04:11 -0700 Subject: [PATCH 17/20] refresh --- .../update/images/waas-active-hours.png | Bin 53578 -> 0 bytes windows/deployment/update/waas-restart.md | 207 ++++++++++-------- 2 files changed, 111 insertions(+), 96 deletions(-) delete mode 100644 windows/deployment/update/images/waas-active-hours.png diff --git a/windows/deployment/update/images/waas-active-hours.png b/windows/deployment/update/images/waas-active-hours.png deleted file mode 100644 index c262c302edb552dfb12c3f6561ea04af12b44e2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53578 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 C`Ymi#B2+-9v|bz5gHA$y9y2+c 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

}#@;=V`QX7A(6)i~XPfOapR!qCf0gk! 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

jA$_taj^p|@txNqzP;oh?fao! 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 11 - ✅ Windows 10 -ms.date: 10/04/2024 +ms.date: 10/25/2024 --- # Manage device restarts after updates -> **Looking for consumer information?** See [Windows Update: FAQ](https://support.microsoft.com/help/12373/windows-update-faq) +> **Looking for consumer information?** See [Windows Update: FAQ](https://support.microsoft.com/windows/windows-update-faq-8a903416-6f45-0718-f5c7-375e92dddeb2) -You can use Group Policy settings, mobile device management (MDM), or Registry (not recommended) to configure when devices will restart after a Windows update is installed. You can schedule update installation and set policies for restart, configure active hours for when restarts won't occur, or you can do both. +You can use group policy settings, mobile device management (MDM), or the Windows registry to configure when devices will restart after a Windows update is installed. You can schedule update installation and set policies for restart, configure active hours for when restarts shouldn't occur, or you can do both. + +> [!NOTE] +> Directly editing the Windows registry isn't recommended. ## Schedule update installation -In Group Policy, within **Configure Automatic Updates**, you can configure a forced restart after a specified installation time. +In group policy, within **Configure Automatic Updates**, you can configure a forced restart after a specified installation time. -To set the time, you need to go to **Configure Automatic Updates**, select option **4 - Auto download and schedule the install**, and then enter a time in the **Scheduled install time** dropdown. Alternatively, you can specify that installation occurs during the automatic maintenance time (configured using **Computer Configuration\Administrative Templates\Windows Components\Maintenance Scheduler**). +To set the time, go to **Configure Automatic Updates**, select option **4 - Auto download and schedule the install**, and then use **Scheduled install time** to enter a time. Alternatively, you can specify that installation occurs during the automatic maintenance time. To configure this alternative method, use **Computer Configuration\Administrative Templates\Windows Components\Maintenance Scheduler**. -**Always automatically restart at the scheduled time** forces a restart after the specified installation time and lets you configure a timer to warn a signed-in user that a restart is going to occur. +The setting to **Always automatically restart at the scheduled time** forces a restart after the specified installation time. It lets you configure a timer to warn a signed-in user that a restart is going to occur. -While not recommended, the same result can be achieved through Registry. Under **HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU**, set **AuOptions** to **4**, set the install time with **ScheduledInstallTime**, enable **AlwaysAutoRebootAtScheduledTime** and specify the delay in minutes through **AlwaysAutoRebootAtScheduledTimeMinutes**. Similar to Group Policy, **AlwaysAutoRebootAtScheduledTimeMinutes** sets the timer to warn a signed-in user that a restart is going to occur. +While not recommended, you can achieve the same result with the Windows registry. Under `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU`, set `AuOptions` to `4` and set the install time with `ScheduledInstallTime`. Enable `AlwaysAutoRebootAtScheduledTime` and specify the delay in minutes through `AlwaysAutoRebootAtScheduledTimeMinutes`. Similar to group policy, `AlwaysAutoRebootAtScheduledTimeMinutes` sets the timer to warn a signed-in user that a restart is going to occur. For a detailed description of these registry keys, see [Registry keys used to manage restart](#registry-keys-used-to-manage-restart). -## Delay automatic reboot +## Delay automatic restart -When **Configure Automatic Updates** is enabled in Group Policy, you can also enable one of the following policies to delay an automatic reboot after update installation: +When you enable **Configure Automatic Updates** in group policy, you can also enable one of the following policies to delay an automatic restart after update installation: - **Turn off auto-restart for updates during active hours** prevents automatic restart during active hours. -- **No auto-restart with logged on users for scheduled automatic updates installations** prevents automatic restart when a user is signed in. If a user schedules the restart in the update notification, the device restarts at the time the user specifies even if a user is signed in at the time. This policy only applies when **Configure Automatic Updates** is set to option **4-Auto download and schedule the install**. + +- **No auto-restart with logged on users for scheduled automatic updates installations** prevents automatic restart when a user is signed in. If a user schedules the restart in the update notification, the device restarts at the time the user specifies even if a user is signed in at the time. This policy only applies when **Configure Automatic Updates** is set to option **4 - Auto download and schedule the install**. > [!NOTE] -> When using Remote Desktop Protocol connections, only active RDP sessions are considered as logged on users. Devices that do not have locally logged on users, or active RDP sessions, will be restarted. +> When using Remote Desktop Protocol (RDP) connections, only active RDP sessions are considered signed-in users. Devices that don't have locally signed-in users, or active RDP sessions, are restarted. -You can also use Registry, to prevent automatic restarts when a user is signed in. Under **HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU**, set **AuOptions** to **4** and enable **NoAutoRebootWithLoggedOnUsers**. As with Group Policy, if a user schedules the restart in the update notification, it overrides this setting. +You can also use the Windows registry, to prevent automatic restarts when a user is signed in. Under `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU`, set `AuOptions` to `4` and enable `NoAutoRebootWithLoggedOnUsers`. As with group policy, if a user schedules the restart in the update notification, it overrides this setting. For a detailed description of these registry keys, see [Registry keys used to manage restart](#registry-keys-used-to-manage-restart). @@ -53,166 +57,177 @@ For a detailed description of these registry keys, see [Registry keys used to ma *Active hours* identify the period of time when you expect the device to be in use. Automatic restarts after an update occur outside of the active hours. -By default, active hours are from 8 AM to 5 PM on PCs and from 5 AM to 11 PM on phones. Users can change the active hours manually. +By default, active hours are from 8 AM to 5 PM on PCs. Users can manually change the active hours. -Starting with Windows 10, version 1703, you can also specify the max active hours range. The specified range is counted from the active hours start time. +You can also specify the max active hours range. The specified range is counted from the active hours start time. -Administrators can use multiple ways to set active hours for managed devices: +### Configure active hours with group policy -- You can use Group Policy, as described in the procedure that follows. -- You can use MDM, as described in [Configuring active hours with MDM](#configuring-active-hours-with-mdm). -- While not recommended, you can also configure active hours, as described in [Configuring active hours through Registry](#configuring-active-hours-through-registry). +To configure active hours using group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and open the **Turn off auto-restart for updates during active hours** policy setting. When the policy is enabled, you can set the start and end times for active hours. -### Configuring active hours with Group Policy +:::image type="content" source="images/waas-active-hours-policy.png" alt-text="A screenshot of the group policy setting to 'Turn off auto-restart for updates during active hours' set to Enabled and the default active hours specified."::: -To configure active hours using Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and open the **Turn off auto-restart for updates during active hours** policy setting. When the policy is enabled, you can set the start and end times for active hours. +### Configure active hours with MDM -![Use Group Policy to configure active hours.](images/waas-active-hours-policy.png) +To configure active hours, MDM uses the following settings in the [Update Policy CSP](/windows/client-management/mdm/policy-csp-update): -### Configuring active hours with MDM +- [ActiveHoursStart](/windows/client-management/mdm/policy-csp-update#activehoursstart) +- [ActiveHoursEnd](/windows/client-management/mdm/policy-csp-update#activehoursend) +- [ActiveHoursMaxRange](/windows/client-management/mdm/policy-csp-update#activehoursmaxrange) -MDM uses the [Update/ActiveHoursStart and Update/ActiveHoursEnd](/windows/client-management/mdm/policy-configuration-service-provider#Update_ActiveHoursEnd) and [Update/ActiveHoursMaxRange](/windows/client-management/mdm/policy-configuration-service-provider#update-activehoursmaxrange) settings in the [Policy CSP](/windows/client-management/mdm/policy-configuration-service-provider) to configure active hours. +### Configure active hours through the Windows registry -### Configuring active hours through Registry - -This method isn't recommended, and should only be used when you can't use Group Policy or MDM. -Any settings configured through Registry may conflict with any existing configuration that uses any of the methods mentioned above. +This method isn't recommended, and should only be used when you can't use group policy or MDM. Any settings configured through the registry might conflict with any existing configuration that uses any of the other methods. Configure active hours by setting a combination of the following registry values: -Under **HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate** use **SetActiveHours** to enable or disable active hours and **ActiveHoursStart** and **ActiveHoursEnd** to specify the range of active hours. +Under `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate` use `SetActiveHours` to enable or disable active hours and `ActiveHoursStart` and `ActiveHoursEnd` to specify the range of active hours. For a detailed description of these registry keys, see [Registry keys used to manage restart](#registry-keys-used-to-manage-restart). ->[!NOTE] ->To configure active hours manually on a single device, go to **Settings** > **Update & security** > **Windows Update** and select **Change active hours**. -> ->![Change active hours.](images/waas-active-hours.png) +> [!TIP] +> To manually configure active hours on a device, go to **Settings** > **Windows Update** > **Advanced options** and select **Active hours**. -### Configuring active hours max range +### Configure active hours maximum range -With Windows 10, version 1703, administrators can specify the max active hours range users can set. This option gives you additional flexibility to leave some of the decision for active hours on the user's side, while making sure you allow enough time for updating. The max range is calculated from active hours start time. +You can specify the maximum active hours range that users can set. This option gives you flexibility to leave some of the decision for active hours on the user's side, while making sure you allow enough time for updates to install. The maximum range is calculated from the active hours start time. -To configure active hours max range through Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and open the **Specify active hours range for auto-restarts**. +To configure the maximum range for active hours through group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and open the setting to **Specify active hours range for auto-restarts**. -To configure active hours max range through MDM, use [**Update/ActiveHoursMaxRange**](/windows/client-management/mdm/policy-configuration-service-provider#update-activehoursmaxrange). +To configure the maximum range for active hours through MDM, use [ActiveHoursMaxRange](/windows/client-management/mdm/policy-csp-update#activehoursmaxrange). ## Limit restart delays -After an update is installed, Windows attempts automatic restart outside of active hours. If the restart doesn't succeed after seven days (by default), the user will see a notification that restart is required. You can use the **Specify deadline before auto-restart for update installation** policy to change the delay from seven days to any number of days between 2 and 14. +After Windows installs an update, it attempts to automatically restart outside of active hours. If the restart doesn't succeed after a default period of seven days, the user sees a notification that a restart is required. To change the delay, use the setting to **Specify deadline before auto-restart for update installation**. The minimum value is two days and the maximum value is two weeks (14 days). ## Control restart notifications ### Display options for update notifications -Starting in Windows 10 version 1809, you can define which Windows Update notifications are displayed to the user. This policy doesn't control how and when updates are downloaded and installed. You can use **Computer Configuration > Administrative Templates > Windows Components > Windows Update > Display options for update notifications** with these values: +You can define which Windows Update notifications are displayed to the user. This policy doesn't control how and when updates are downloaded and installed. -**0** (default) - Use the default Windows Update notifications
-**1** - Turn off all notifications, excluding restart warnings
-**2** - Turn off all notifications, including restart warnings
+To configure this behavior through group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select the policy for **Display options for update notifications**. Configure the following values: -To configure this behavior through MDM, use [**Update/UpdateNotificationLevel**](/windows/client-management/mdm/policy-configuration-service-provider#update-updatenotificationlevel). +- `0` (default): Use the default Windows Update notifications. +- `1`: Turn off most notifications but keep restart warnings. +- `2`: Turn off all notifications including restart warnings. -Starting in Windows 11, version 22H2, **Apply only during active hours** was added as an additional option for **Display options for update notifications**. When **Apply only during active hours** is selected, the notifications will only be disabled during active hours when options `1` or `2` are used. To ensure that the device stays updated, a notification will still be shown during active hours if **Apply only during active hours** is selected, and once a deadline has been reached when [Specify deadlines for automatic updates and restarts](wufb-compliancedeadlines.md) is configured. +To configure this behavior through MDM, use [UpdateNotificationLevel](/windows/client-management/mdm/policy-csp-update#updatenotificationlevel). -To configure this behavior through MDM, use [**Update/UpdateNotificationLevel**](/windows/client-management/mdm/policy-csp-update#update-NoUpdateNotificationDuringActiveHours). +Starting in Windows 11, version 22H2, **Apply only during active hours** was added as another option for **Display options for update notifications**. When you select **Apply only during active hours**, the notifications are only disabled during active hours when you use options `1` or `2`. To ensure that the device stays updated, a notification is still shown during active hours if you select **Apply only during active hours**, and once a deadline is reached when you configure [Specify deadlines for automatic updates and restarts](wufb-compliancedeadlines.md). -### Auto restart notifications +To configure this behavior through MDM, use [UpdateNotificationLevel](/windows/client-management/mdm/policy-csp-update#updatenotificationlevel). -Administrators can override the default behavior for the auto restart required notification. By default, this notification dismisses automatically. This setting was added in Windows 10, version 1703. +### Automatic restart notifications -To configure this behavior through Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select **Configure auto-restart required notification for updates**. When configured to **2 - User Action**, a user that gets this notification must manually dismiss it. +You can override the default behavior for the automatic restart required notification. By default, this notification dismisses automatically. -To configure this behavior through MDM, use [**Update/AutoRestartRequiredNotificationDismissal**](/windows/client-management/mdm/policy-configuration-service-provider#update-AutoRestartRequiredNotificationDismissal) +- To configure this behavior through group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select the policy to **Configure auto-restart required notification for updates**. When configured to **2 - User Action**, a user that gets this notification must manually dismiss it. -You can also configure the period prior to an update that this notification shows up. The default value is 15 minutes. +- To configure this behavior through MDM, use [AutoRestartRequiredNotificationDismissal](/windows/client-management/mdm/policy-csp-update#autorestartrequirednotificationdismissal). -To change it through Group Policy, select **Configure auto-restart-reminder notifications for updates** under **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select the period in minutes. +You can also configure the period before an update that this notification shows up. The default value is 15 minutes. -To change it through MDM, use [**Update/AutoRestartNotificationSchedule**](/windows/client-management/mdm/policy-configuration-service-provider#update-AutoRestartNotificationSchedule). +- To change it through group policy, select **Configure auto-restart-reminder notifications for updates** under **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select the period in minutes. +- To change it through MDM, use [AutoRestartNotificationSchedule](/windows/client-management/mdm/policy-csp-update#autorestartnotificationschedule). In some cases, you don't need a notification to show up. -To do so through Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select **Turn off auto-restart notifications for update installations**. +- To do so through group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and select the setting to **Turn off auto-restart notifications for update installations**. -To do so through MDM, use [**Update/SetAutoRestartNotificationDisable**](/windows/client-management/mdm/policy-configuration-service-provider#update-setautorestartnotificationdisable). +- To do so through MDM, use [SetAutoRestartNotificationDisable](/windows/client-management/mdm/policy-csp-update#setautorestartnotificationdisable). -### Scheduled auto restart warnings +### Scheduled automatic restart warnings -Since users aren't able to postpone a scheduled restart once the deadline has been reached, you can configure a warning reminder prior to the scheduled restart. You can also configure a warning prior to the restart, to notify users once the restart is imminent and allow them to save their work. +Since users aren't able to postpone a scheduled restart once the deadline is reached, you can configure a warning reminder before the scheduled restart. You can also configure a warning before the restart, to notify users once the restart is imminent and allow them to save their work. -To configure both through Group Policy, find **Configure auto-restart warning notifications schedule for updates** under **Computer Configuration\Administrative Templates\Windows Components\Windows Update**. The warning reminder can be configured by **Reminder (hours)** and the warning prior to an imminent auto restart can be configured by **Warning (mins)**. +To configure both through group policy, find the setting to **Configure auto-restart warning notifications schedule for updates** under **Computer Configuration\Administrative Templates\Windows Components\Windows Update**. The warning reminder can be configured by **Reminder (hours)** and the warning before an imminent automatic restart can be configured by **Warning (mins)**. -In MDM, the warning reminder is configured using [**Update/ScheduleRestartWarning**](/windows/client-management/mdm/policy-configuration-service-provider#update-ScheduleRestartWarning) and the auto restart imminent warning is configured using [**Update/ScheduleImminentRestartWarning**](/windows/client-management/mdm/policy-configuration-service-provider#update-ScheduleImminentRestartWarning). +In MDM, to configure the warning reminder, use [ScheduleRestartWarning](/windows/client-management/mdm/policy-csp-update#schedulerestartwarning). To configure the automatic restart imminent warning, use [ScheduleImminentRestartWarning](/windows/client-management/mdm/policy-csp-update#scheduleimminentrestartwarning). ### Engaged restart -Engaged restart is the period of time when users are required to schedule a restart. Initially, Windows auto-restarts outside of working hours. Once the set period ends (seven days by default), Windows transitions to user scheduled restarts. +Engaged restart is the period of time when users are required to schedule a restart. Initially, Windows auto-restarts outside of working hours. Once the default seven day period ends, Windows transitions to user scheduled restarts. -The following settings can be adjusted for engaged restart: -* Period of time before auto restart transitions to engaged restart. -* The number of days that users can snooze engaged restart reminder notifications. -* The number of days before a pending restart automatically executes outside of working hours. +You can adjust the following settings for engaged restart: -In Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and pick **Specify Engaged restart transition and notification schedule for updates**. +- Period of time before automatic restart transitions to engaged restart. -In MDM, use [**Update/EngagedRestartTransitionSchedule**](/windows/client-management/mdm/policy-configuration-service-provider#update-EngagedRestartTransitionSchedule), [**Update/EngagedRestartSnoozeSchedule**](/windows/client-management/mdm/policy-configuration-service-provider#update-EngagedRestartSnoozeSchedule) and [**Update/EngagedRestartDeadline**](/windows/client-management/mdm/policy-configuration-service-provider#update-EngagedRestartDeadline) respectively. +- The number of days that users can snooze engaged restart reminder notifications. -## Group Policy settings for restart +- The number of days before a pending restart automatically executes outside of working hours. -In the Group Policy editor, you'll see policy settings that pertain to restart behavior in **Computer Configuration\Administrative Templates\Windows Components\Windows Update**. The following table shows which policies apply to Windows 10. +In group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and use the setting to **Specify engaged restart transition and notification schedule for updates**. + +In MDM, use the following policies: + +- [EngagedRestartTransitionSchedule](/windows/client-management/mdm/policy-csp-update#engagedrestarttransitionschedule) +- [EngagedRestartSnoozeSchedule](/windows/client-management/mdm/policy-csp-update#engagedrestartsnoozeschedule) +- [EngagedRestartDeadline](/windows/client-management/mdm/policy-csp-update#engagedrestartdeadline) + +## Group policy settings for restart + +In the group policy editor, the policy settings for restart behavior are in **Computer Configuration\Administrative Templates\Windows Components\Windows Update**. The following table shows which policies apply to Windows 10. | Policy | Applies to Windows 10 | Notes | | --- | --- | --- | -| Turn off auto-restart for updates during active hours | Yes | Use this policy to configure active hours, during which the device won't be restarted. This policy has no effect if the **No auto-restart with logged on users for scheduled automatic updates installations** or **Always automatically restart at the scheduled time** policies are enabled. | +| Turn off auto-restart for updates during active hours | Yes | Use this policy to configure active hours, during which the device won't restart. This policy has no effect if the **No auto-restart with logged on users for scheduled automatic updates installations** or **Always automatically restart at the scheduled time** policies are enabled. | | Always automatically restart at the scheduled time | Yes | Use this policy to configure a restart timer (between 15 and 180 minutes) that will start immediately after Windows Update installs important updates. This policy has no effect if the **No auto-restart with logged on users for scheduled automatic updates installations** policy is enabled. | | Specify deadline before auto-restart for update installation | Yes | Use this policy to specify how many days (between 2 and 14) an automatic restart can be delayed. This policy has no effect if the **No auto-restart with logged on users for scheduled automatic updates installations** or **Always automatically restart at the scheduled time** policies are enabled. | -| No auto-restart with logged on users for scheduled automatic updates installations | Yes | Use this policy to prevent automatic restart when a user is logged on. This policy applies only when the **Configure Automatic Updates** policy is configured to perform scheduled installations of updates. | +| No auto-restart with logged on users for scheduled automatic updates installations | Yes | Use this policy to prevent automatic restart when a user is logged on. This policy applies only when you configure the policy to **Configure Automatic Updates** to schedule the installation. | | Re-prompt for restart with scheduled installations | No | | | Delay Restart for scheduled installations | No | | | Reschedule Automatic Updates scheduled installations | No | | - ->[!NOTE] ->You can only choose one path for restart behavior. ->If you set conflicting restart policies, the actual restart behavior may not be what you expected. ->When using RDP, only active RDP sessions are considered as logged on users. - +> [!NOTE] +> +> - You can only choose one path for restart behavior. +> - If you set conflicting restart policies, the actual restart behavior may not be what you expected. +> - When using RDP, only active RDP sessions are considered as signed-in users. ## Registry keys used to manage restart -The following tables list registry values that correspond to the Group Policy settings for controlling restarts after updates in Windows 10. -**HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate** +The following tables list registry values that correspond to the group policy settings for controlling restarts after updates in Windows 10. -| Registry key | Key type | Value | -| --- | --- | --- | -| ActiveHoursEnd | REG_DWORD | 0-23: set active hours to end at a specific hour
starts with 12 AM (0) and ends with 11 PM (23) | -| ActiveHoursStart | REG_DWORD | 0-23: set active hours to start at a specific hour
starts with 12 AM (0) and ends with 11 PM (23) | -| SetActiveHours | REG_DWORD | 0: disable automatic restart after updates outside of active hours
1: enable automatic restart after updates outside of active hours | - -**HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU** +### `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate` | Registry key | Key type | Value | | --- | --- | --- | -| AlwaysAutoRebootAtScheduledTime | REG_DWORD | 0: disable automatic reboot after update installation at scheduled time
1: enable automatic reboot after update installation at a scheduled time | -| AlwaysAutoRebootAtScheduledTimeMinutes | REG_DWORD | 15-180: set automatic reboot to occur after given minutes | -| AUOptions | REG_DWORD | 2: notify for download and notify for installation of updates
3: automatically download and notify for installation of updates
4: Automatically download and schedule installation of updates
5: allow the local admin to configure these settings
**Note:** To configure restart behavior, set this value to **4** | -| NoAutoRebootWithLoggedOnUsers | REG_DWORD | 0: disable don't reboot if users are logged on
1: don't reboot after an update installation if a user is logged on
**Note:** If disabled: Automatic Updates will notify the user that the computer will automatically restart in 5 minutes to complete the installation | -| ScheduledInstallTime | REG_DWORD | 0-23: schedule update installation time to a specific hour
starts with 12 AM (0) and ends with 11 PM (23) | +| `ActiveHoursEnd` | `REG_DWORD` | `0-23`: Set active hours to end at a specific hour.
It starts with 12 AM (`0`) and ends with 11 PM (`23`). | +| `ActiveHoursStart` | `REG_DWORD` | `0-23`: Set active hours to start at a specific hour.
It starts with 12 AM (`0`) and ends with 11 PM (`23`.) | +| `SetActiveHours` | `REG_DWORD` | `0`: Disable automatic restart after updates outside of active hours.
`1`: Enable automatic restart after updates outside of active hours. | + +### `HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU` + +| Registry key | Key type | Value | +| --- | --- | --- | +| `AlwaysAutoRebootAtScheduledTime` | `REG_DWORD` | `0`: Disable automatic restart after update installation at the scheduled time.
`1`: Enable automatic restart after update installation at a scheduled time. | +| `AlwaysAutoRebootAtScheduledTimeMinutes` | `REG_DWORD` | `15-180`: Set automatic restart to occur after the specified number of minutes. | +| `AUOptions` | `REG_DWORD` | `2`: Notify for download and notify for installation of updates.
`3`: Automatically download and notify for installation of updates.
`4`: Automatically download and schedule installation of updates.
`5`: Allow the local administrator to configure these settings.
**Note:** To configure restart behavior, set this value to `4`. | +| `NoAutoRebootWithLoggedOnUsers` | `REG_DWORD` | `0`: If users are signed in, automatically restart ("disable don't reboot").
`1`: If a user is signed in, don't restart after an update installation.
**Note:** If disabled (`0`), Automatic Updates notifies the user that the computer is scheduled to automatically restart in five minutes to complete the installation. | +| `ScheduledInstallTime` | `REG_DWORD` | `0-23`: Schedule update installation time to a specific hour.
It starts with 12 AM (`0`) and ends with 11 PM (`23`). | There are three different registry combinations for controlling restart behavior: -- To set active hours, **SetActiveHours** should be **1**, while **ActiveHoursStart** and **ActiveHoursEnd** should define the time range. -- To schedule a specific installation and reboot time, **AUOptions** should be **4**, **ScheduledInstallTime** should specify the installation time, and **AlwaysAutoRebootAtScheduledTime** set to **1** and **AlwaysAutoRebootAtScheduledTimeMinutes** should specify number of minutes to wait before rebooting. -- To delay rebooting if a user is logged on, **AUOptions** should be **4**, while **NoAutoRebootWithLoggedOnUsers** is set to **1**. +- To set active hours: + - `SetActiveHours` should be `1`. + - Then to define the time range, use `ActiveHoursStart` and `ActiveHoursEnd`. + +- To schedule a specific installation and restart time: + - `AUOptions` should be `4`. + - `ScheduledInstallTime` should specify the installation time. + - Set `AlwaysAutoRebootAtScheduledTime` to `1`. + - `AlwaysAutoRebootAtScheduledTimeMinutes` should specify the number of minutes to wait before restarting. + +- To delay restarting if a user is signed in: + - `AUOptions` should be `4`. + - Set `NoAutoRebootWithLoggedOnUsers` to `1`. ## More resources - [Overview of Windows as a service](waas-overview.md) - [Configure Delivery Optimization for Windows updates](../do/waas-delivery-optimization.md) -- [Configure BranchCache for Windows updates](waas-branchcache.md) - [Configure Windows Update for Business](waas-configure-wufb.md) -- [Integrate Windows Update for Business with management solutions](waas-integrate-wufb.md) -- [Walkthrough: use Group Policy to configure Windows Update for Business](waas-wufb-group-policy.md) -- [Manage Windows 10 and Windows 11 software updates in Intune](/mem/intune/protect/windows-update-for-business-configure) +- [Walkthrough: use group policy to configure Windows Update for Business](waas-wufb-group-policy.md) +- [Manage Windows software updates in Microsoft Intune](/mem/intune/protect/windows-update-for-business-configure) From 278afe027280fe79a20eb1c175fa228b4e44ac26 Mon Sep 17 00:00:00 2001 From: Aaron Czechowski Date: Fri, 25 Oct 2024 17:12:27 -0700 Subject: [PATCH 18/20] fix link --- windows/deployment/update/update-policies.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/windows/deployment/update/update-policies.md b/windows/deployment/update/update-policies.md index 50b404df35..047fcdf387 100644 --- a/windows/deployment/update/update-policies.md +++ b/windows/deployment/update/update-policies.md @@ -8,7 +8,7 @@ author: mestew ms.author: mstewart manager: aaroncz ms.localizationpriority: medium -appliesto: +appliesto: - ✅ Windows 11 - ✅ Windows 10 ms.date: 12/31/2017 @@ -16,7 +16,7 @@ ms.date: 12/31/2017 # Policies for update compliance, activity, and user experience -Keeping devices up to date is the best way to keep them working smoothly and securely. +Keeping devices up to date is the best way to keep them working smoothly and securely. ## Deadlines for update compliance @@ -94,7 +94,7 @@ options must be **Disabled** in order to take advantage of intelligent active ho If you do set active hours, we recommend setting the following policies to **Disabled** in order to increase update velocity: -- [Delay automatic reboot](waas-restart.md#delay-automatic-reboot). While it's possible to set the system to delay restarts for users who are logged in, this setting might delay an update indefinitely if a user is always either logged in or shut down. Instead, we recommend setting the following polices to **Disabled**: +- [Delay automatic reboot](waas-restart.md#delay-automatic-restart). While it's possible to set the system to delay restarts for users who are logged in, this setting might delay an update indefinitely if a user is always either logged in or shut down. Instead, we recommend setting the following polices to **Disabled**: - **Turn off auto-restart during active hours** - **No auto-restart with logged on users for scheduled automatic updates** @@ -110,7 +110,7 @@ updates will occur, so we recommend that you set this policy to **Disabled**, to - [Update/EngagedRestartTransitionSchedule](/windows/client-management/mdm/policy-csp-update#update-engagedrestarttransitionschedule) - [Configure automatic update](waas-wu-settings.md#configure-automatic-updates). By properly setting policies to configure automatic updates, you can increase update velocity by having clients contact a Windows Server Update Services (WSUS) server so it can manage them. We recommend that you set this policy to **Disabled**. However, if you need to provide values, ensure that you set downloads to install automatically by setting the [Group Policy](waas-manage-updates-wsus.md#configure-automatic-updates-and-update-service-location) to **4**. If you're using Microsoft Intune, setting the value to [Reset to Default](/mem/intune/protect/windows-update-settings#user-experience-settings). -- **Allow auto Windows Update to download over metered networks**. Since more devices primarily use cellular data and don't have wi-fi access, consider allowing users to automatically download updates from a metered network. Though the default setting doesn't allow download over a metered network, setting this value to **1** can increase velocity by enabling users to get updates whether they're connected to the internet or not, provided they have cellular service. +- **Allow auto Windows Update to download over metered networks**. Since more devices primarily use cellular data and don't have wi-fi access, consider allowing users to automatically download updates from a metered network. Though the default setting doesn't allow download over a metered network, setting this value to **1** can increase velocity by enabling users to get updates whether they're connected to the internet or not, provided they have cellular service. > [!IMPORTANT] > Older versions of Windows don't support intelligent active hours. If your device runs a version of Windows prior to Windows 10, version 1903, we recommend setting the following policies: @@ -119,7 +119,7 @@ this value to **10**. >- [Schedule update installation](waas-restart.md#schedule-update-installation). In the **Configure Automatic Updates** settings, there are two ways to control a forced restart after a specified installation time. If you use **schedule update installation**, do not enable both settings because they will most likely conflict. > - **Specify automatic maintenance time**. This setting lets you set broader maintenance windows for updates and ensures that this schedule does not conflict with active hours. We recommend setting this value to **3** (corresponding to 3 AM). If 3:00 AM is in the middle of the work shift, pick another time that is at least a couple hours before your scheduled work time begins. -> - **Schedule the install time**. This setting allows you to schedule an installation time for a restart. We do *not* recommend you set this to **Disabled** as it could conflict with active hours. +> - **Schedule the install time**. This setting allows you to schedule an installation time for a restart. We do *not* recommend you set this to **Disabled** as it could conflict with active hours. ### Power policies @@ -166,7 +166,7 @@ The default timeout on devices that support traditional sleep is set to three ho ## Old or conflicting policies -Each release of Windows client can introduce new policies to make the experience better for both administrators and their organizations. When we release a new client policy, we either release it purely for that release and later or we backport the policy to make it available on earlier versions. +Each release of Windows client can introduce new policies to make the experience better for both administrators and their organizations. When we release a new client policy, we either release it purely for that release and later or we backport the policy to make it available on earlier versions. > [!IMPORTANT] > If you are using Group Policy, note that we don't update the old ADMX templates and you must use the newer (1903) ADMX template in order to use the newer policy. Also, if you are @@ -174,7 +174,7 @@ Each release of Windows client can introduce new policies to make the experience As administrators, you have set up and expect certain behaviors, so we expressly don't remove older policies since they were set up for your particular use cases. However, if you set a new policy without disabling a similar older policy, you could have conflicting behavior and updates might not perform as expected. -> [!IMPORTANT] +> [!IMPORTANT] > We sometimes find that administrators set devices to get both Group Policy settings and MDM settings from an MDM server such as Microsoft Intune. Policy conflicts are handled differently, depending on how they are ultimately set up: > - Windows updates: Group Policy settings take precedence over MDM. > - Microsoft Intune: If you set different values for the same policy on two different groups, you will From b4a9cf99c1449a99b0d94532bff01132d6487810 Mon Sep 17 00:00:00 2001 From: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:58:09 +0530 Subject: [PATCH 19/20] Pencil edit --- windows/deployment/update/update-policies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/update-policies.md b/windows/deployment/update/update-policies.md index 047fcdf387..0e1a4c7d47 100644 --- a/windows/deployment/update/update-policies.md +++ b/windows/deployment/update/update-policies.md @@ -194,4 +194,4 @@ Updates** rather than setting a deferral policy. You can choose a longer period - **Pause Quality Updates Start Time**. Set to **Disabled** unless there's a known issue requiring time for a resolution. - **Deadline No Auto Reboot**. Default is **Disabled - Set to 0** . We recommend that devices automatically try to restart when an update is received. Windows uses user interactions to dynamically identify the least disruptive time to restart. -There are also additional policies are no longer supported or have been superseded. +There are also additional policies that are no longer supported or have been superseded. From 21cfca31876e993c7c0cb2ebd50f860e5106b811 Mon Sep 17 00:00:00 2001 From: Aditi Srivastava <133841950+aditisrivastava07@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:06:34 +0530 Subject: [PATCH 20/20] Added lightbox --- windows/deployment/update/waas-restart.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/update/waas-restart.md b/windows/deployment/update/waas-restart.md index e6113d9d08..5b4b486236 100644 --- a/windows/deployment/update/waas-restart.md +++ b/windows/deployment/update/waas-restart.md @@ -65,7 +65,7 @@ You can also specify the max active hours range. The specified range is counted To configure active hours using group policy, go to **Computer Configuration\Administrative Templates\Windows Components\Windows Update** and open the **Turn off auto-restart for updates during active hours** policy setting. When the policy is enabled, you can set the start and end times for active hours. -:::image type="content" source="images/waas-active-hours-policy.png" alt-text="A screenshot of the group policy setting to 'Turn off auto-restart for updates during active hours' set to Enabled and the default active hours specified."::: +:::image type="content" source="images/waas-active-hours-policy.png" alt-text="A screenshot of the group policy setting to 'Turn off auto-restart for updates during active hours' set to Enabled and the default active hours specified." lightbox="images/waas-active-hours-policy.png"::: ### Configure active hours with MDM