NETAPP DATAONTAP Cluster Mode learning NOTE 2

Source: Internet
Author: User

WAFL working principle

Basic structures such as:

650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M00/A6/78/wKioL1nPYMiRJCGbAADlI6rWRuU680.jpg-wh_500x0-wm_ 3-wmp_4-s_1784102167.jpg "style=" Float:none; "title=" 1.jpg "alt=" Wkiol1npymirjcgbaadli6rwruu680.jpg-wh_50 "/>


Client sends write request

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M00/A6/78/wKioL1nPYMmSGPlEAADxH257hCc240.jpg-wh_500x0-wm_ 3-wmp_4-s_3067951132.jpg "style=" Float:none; "title=" 2.jpg "alt=" Wkiol1npymmsgpleaadxh257hcc240.jpg-wh_50 "/>


Controller 1 writes data to system memory and NVRAM, and synchronizes data to control 2

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M01/A6/78/wKioL1nPYMqB-CdhAAD0l9538pg897.jpg-wh_500x0-wm_ 3-wmp_4-s_460025724.jpg "style=" Float:none; "title=" 3.jpg "alt=" Wkiol1npymqb-cdhaad0l9538pg897.jpg-wh_50 "/>



Controller 2 Send acknowledgement to Controller 1

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M02/A6/78/wKioL1nPYMzCmOy2AADsfcYATZI476.jpg-wh_500x0-wm_ 3-wmp_4-s_4064157058.jpg "style=" Float:none; "title=" 5.jpg "alt=" Wkiol1npymzcmoy2aadsfcyatzi476.jpg-wh_50 "/>


Controller 1 Send acknowledgement to client

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M01/A6/78/wKioL1nPYNDDkB6cAADyNpg4CsU870.jpg-wh_500x0-wm_ 3-wmp_4-s_3263974804.jpg "style=" Float:none; "title=" 6.jpg "alt=" Wkiol1npynddkb6caadynpg4csu870.jpg-wh_50 "/>


Another client sends a write request

650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M00/07/C7/wKiom1nPYRTBeY49AADtGkBjnBQ676.jpg-wh_500x0-wm_ 3-wmp_4-s_2746295871.jpg "style=" Float:none; "title=" 7.jpg "alt=" Wkiom1npyrtbey49aadtgkbjnbq676.jpg-wh_50 "/>


Controller 1 writes data to the system memory and NVRAM and synchronizes to the Controller 2

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M00/A6/78/wKioL1nPYNKxyiANAADyoZ_AKU8404.jpg-wh_500x0-wm_ 3-wmp_4-s_3455136522.jpg "style=" Float:none; "title=" 8.jpg "alt=" Wkiol1npynkxyianaadyoz_aku8404.jpg-wh_50 "/>


Controller 2 Send acknowledgement to Controller 1

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M01/07/C7/wKiom1nPYRbgEbMkAADujo-HnQQ017.jpg-wh_500x0-wm_ 3-wmp_4-s_1120209972.jpg "style=" Float:none; "title=" 9.jpg "alt=" Wkiom1npyrbgebmkaadujo-hnqq017.jpg-wh_50 "/>


Controller 1 Send acknowledgement to client

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M01/A6/78/wKioL1nPYNTTColjAADvztkwmTU788.jpg-wh_500x0-wm_ 3-wmp_4-s_594346501.jpg "style=" Float:none; "title=" 10.jpg "alt=" Wkiol1npynttcoljaadvztkwmtu788.jpg-wh_50 "/>


Another client sends a write request to Controller 1, controller 1 writes memory and NVRAM, and synchronizes the data to the Controller 2

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M02/07/C7/wKiom1nPYRnRmQ8BAAD5JPZZAa8511.jpg-wh_500x0-wm_ 3-wmp_4-s_946566998.jpg "style=" Float:none; "title=" 11.jpg "alt=" Wkiom1npyrnrmq8baad5jpzzaa8511.jpg-wh_50 "/>


Controller 2 Send acknowledgement to Controller 1

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M00/07/C7/wKiom1nPYRqgHcxXAADvy2EnJpI218.jpg-wh_500x0-wm_ 3-wmp_4-s_423672402.jpg "style=" Float:none; "title=" 12.jpg "alt=" Wkiom1npyrqghcxxaadvy2enjpi218.jpg-wh_50 "/>


Controller 1 Send acknowledgement to client

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M01/07/C7/wKiom1nPYRvwCRzIAADwCA_3Fz4071.jpg-wh_500x0-wm_ 3-wmp_4-s_1888078923.jpg "style=" Float:none; "title=" 13.jpg "alt=" Wkiom1npyrvwcrziaadwca_3fz4071.jpg-wh_50 "/>


At this point the controller's NVRAM is half full

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M00/07/C7/wKiom1nPYRziFCcCAADtk-Ctyn0356.jpg-wh_500x0-wm_ 3-wmp_4-s_2943597170.jpg "style=" Float:none; "title=" 14.jpg "alt=" Wkiom1npyrzifcccaadtk-ctyn0356.jpg-wh_50 "/>


A consistent point is triggered, and the controller writes the in-memory data to the disk

(conditions that trigger a consistent point: NVRAM is half full; the last occurrence of CP exceeds 10 seconds; the snapshot is created; the administrator shuts down the system)

650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M00/A6/78/wKioL1nPYNrwN5RXAADw-yOTeAg014.jpg-wh_500x0-wm_ 3-wmp_4-s_262949309.jpg "style=" Float:none; "title=" 15.jpg "alt=" Wkiol1npynrwn5rxaadw-yoteag014.jpg-wh_50 "/>


Complete consistency, NVRAM is emptied

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M00/A6/78/wKioL1nPYNvDBwUkAADp6ZhOfYc659.jpg-wh_500x0-wm_ 3-wmp_4-s_3803620460.jpg "style=" Float:none; "title=" 16.jpg "alt=" Wkiol1npynvdbwukaadp6zhofyc659.jpg-wh_50 "/>

WAFL once the data is written to memory, the client is immediately sent an acknowledgement. This is done before the data is written to disk to optimize performance. For the client, the data has been permanently written to the store. If a power outage occurs, the contents of the system memory are lost. If the data is written only to system memory, an inconsistent state is caused. NVRAMis non-volatile.- it can still save data in the case of a power outage,If a power outage occurs before the data is written to the disk,You can start from theNVRAMrecovery. NVRAMwrites data to system memory,and write them from a consistent point to the disk. Write data toHAtwo controllers in the pair,so that if there is a takeoverHAThe peer can write data to disk.



After Controller 1 fails

650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M01/07/C7/wKiom1nPYSDQyEFLAAD48mCww5Y469.jpg-wh_500x0-wm_ 3-wmp_4-s_2793625600.jpg "style=" Float:none; "title=" 17.jpg "alt=" Wkiom1npysdqyeflaad48mcww5y469.jpg-wh_50 "/>


Controller 2 writes the inside of the NVRAM to memory

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M02/07/C7/wKiom1nPYSGyrUMjAAD7Cyf91KQ928.jpg-wh_500x0-wm_ 3-wmp_4-s_99754505.jpg "style=" Float:none; "title=" 18.jpg "alt=" Wkiom1npysgyrumjaad7cyf91kq928.jpg-wh_50 "/>


Controller 2 then writes the in-memory data to the disk

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M01/A6/78/wKioL1nPYN-Qzc4yAAEBvk-GEPk584.jpg-wh_500x0-wm_ 3-wmp_4-s_2566994471.jpg "style=" Float:none; "title=" 19.jpg "alt=" Wkiol1npyn-qzc4yaaebvk-gepk584.jpg-wh_50 "/>


Controller 2 empties the NVRAM

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M00/07/C7/wKiom1nPYSPShD7OAAECaq-DODk735.jpg-wh_500x0-wm_ 3-wmp_4-s_1897096369.jpg "style=" Float:none; "title=" 20.jpg "alt=" Wkiom1npyspshd7oaaecaq-dodk735.jpg-wh_50 "/>


Client sends write request to Controller 1

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M02/A6/78/wKioL1nPYOSw2PWRAADy2X8dXPQ930.jpg-wh_500x0-wm_ 3-wmp_4-s_322369936.jpg "style=" Float:none; "title=" 22.jpg "alt=" Wkiol1npyosw2pwraady2x8dxpq930.jpg-wh_50 "/>


Controller 1 writes data to memory and NVRAM and synchronizes to controller 2

650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M01/07/C7/wKiom1nPYSijVxtdAAD077c038k824.jpg-wh_500x0-wm_ 3-wmp_4-s_4235555446.jpg "style=" Float:none; "title=" 23.jpg "alt=" Wkiom1npysijvxtdaad077c038k824.jpg-wh_50 "/>


Controller 2 Send acknowledgement to Controller 1

650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M02/07/C7/wKiom1nPYSqxRF26AADtZm73Rec948.jpg-wh_500x0-wm_ 3-wmp_4-s_1941015963.jpg "style=" Float:none; "title=" 24.jpg "alt=" Wkiom1npysqxrf26aadtzm73rec948.jpg-wh_50 "/>


Controller 1 sends confirmation to the client

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M00/A6/78/wKioL1nPYOvBga2tAADzRF2gIUo485.jpg-wh_500x0-wm_ 3-wmp_4-s_394267641.jpg "style=" Float:none; "title=" 25.jpg "alt=" Wkiol1npyovbga2taadzrf2giuo485.jpg-wh_50 "/>


Client sends read request to Controller 1

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M02/07/C7/wKiom1nPYTLi38e-AAD30YqNXqA381.jpg-wh_500x0-wm_ 3-wmp_4-s_2499854799.jpg "style=" Float:none; "title=" 26.jpg "alt=" Wkiom1npytli38e-aad30yqnxqa381.jpg-wh_50 "/>


Controller 1 first finds data from memory

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M02/A6/78/wKioL1nPYPKTGYW2AAD2bMRmLwA860.jpg-wh_500x0-wm_ 3-wmp_4-s_2850242283.jpg "style=" Float:none; "title=" 27.jpg "alt=" Wkiol1npypktgyw2aad2bmrmlwa860.jpg-wh_50 "/>


If the data is in memory, move the data up to the top

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M01/A6/78/wKioL1nPYPTQA3F_AAD5uoHbaDU439.jpg-wh_500x0-wm_ 3-wmp_4-s_1161899288.jpg "style=" Float:none; "title=" 28.jpg "alt=" Wkiol1npyptqa3f_aad5uohbadu439.jpg-wh_50 "/>


Other data is moved down and the found data is sent to the client

650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M00/07/C7/wKiom1nPYTmClN84AAD3A3I4XvA990.jpg-wh_500x0-wm_ 3-wmp_4-s_2426309133.jpg "style=" Float:none; "title=" 29.jpg "alt=" Wkiom1npytmcln84aad3a3i4xva990.jpg-wh_50 "/>


Another client also sends a read request

650) this.width=650; "Src=" https://s5.51cto.com/wyfs02/M02/A6/78/wKioL1nPYPjgj-aYAAD76qTpQ6o083.jpg-wh_500x0-wm_ 3-wmp_4-s_271546124.jpg "style=" Float:none; "title=" 30.jpg "alt=" Wkiol1npypjgj-ayaad76qtpq6o083.jpg-wh_50 "/>


Control is not found in memory and needs to be read from disk

650) this.width=650; "Src=" https://s4.51cto.com/wyfs02/M00/07/C7/wKiom1nPYTzCT0nGAAEBTNErbdQ283.jpg-wh_500x0-wm_ 3-wmp_4-s_2464420779.jpg "style=" Float:none; "title=" 31.jpg "alt=" Wkiom1npytzct0ngaaebtnerbdq283.jpg-wh_50 "/>


Data read from disk is placed at the top of the memory

650) this.width=650; "Src=" https://s2.51cto.com/wyfs02/M00/A6/78/wKioL1nPYPrir-5VAADtgCCNST4450.jpg-wh_500x0-wm_ 3-wmp_4-s_3803618357.jpg "style=" Float:none; "title=" 32.jpg "alt=" Wkiol1npyprir-5vaadtgccnst4450.jpg-wh_50 "/>




Indirect data access: Client sends read requests through Controller 2

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M01/07/C9/wKiom1nPoPKRYtigAAEYrkL_XNs696.jpg-wh_500x0-wm_ 3-wmp_4-s_235382228.jpg "style=" Float:none; "title=" 33.jpg "alt=" Wkiom1npopkrytigaaeyrkl_xns696.jpg-wh_50 "/>


Controller 2 sends the request to the Controller 1

650) this.width=650; "Src=" https://s1.51cto.com/wyfs02/M00/07/C9/wKiom1nPoPLiDvzDAAEZYlMPdec392.jpg-wh_500x0-wm_ 3-wmp_4-s_2365658965.jpg "style=" Float:none; "title=" 34.jpg "alt=" Wkiom1npoplidvzdaaezylmpdec392.jpg-wh_50 "/>


Controller 1 looks up data from the disk and puts it in memory and transmits it to controller 2 to provide the client

650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M00/A6/7A/wKioL1nPoK-wA6HuAAEde4Fcyy0915.jpg-wh_500x0-wm_ 3-wmp_4-s_496946319.jpg "style=" Float:none; "title=" 35.jpg "alt=" Wkiol1npok-wa6huaaede4fcyy0915.jpg-wh_50 "/>


This data will be placed at the top of the memory

650) this.width=650; "Src=" https://s3.51cto.com/wyfs02/M02/07/C9/wKiom1nPoPKTaMQOAAEMZSTbvGk356.jpg-wh_500x0-wm_ 3-wmp_4-s_3986616539.jpg "style=" Float:none; "title=" 36.jpg "alt=" Wkiom1npopktamqoaaemzstbvgk356.jpg-wh_50 "/>


NETAPP DATAONTAP Cluster Mode learning NOTE 2

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.