VDO နှင့် data reduction ပြုလုပ်နိုင်အောင် အဓိက ပြုလုပ်ပေးနေသော phase ၃ ဆင့်ရှိပါတယ်။
Zero Block Elimination (Initial Phase)
Technically အရပြောမယ်ဆိုရင် Initial Phase မှာ VDO သည် block devices တိုင်းမှာရှိတꩻယ့် all zeros တိုင်းကို record လုပ်ပြီး metadata မှာပဲသိမ်းထားပါတယ်။ Zero Block Elimination method ကိုအသုံးပြုပြီး zeros တွေကို filter လုပ်ကာ non-zeros ပိုင်းတွေကိုသာ collect လုပ်ပြီး Second Phase သို့ပိုဆောင်ပါတယ်။
Deduplication (Second Phase)
Second Phase ဖြစ်တဲ့ deduplication မှာ ရောက်လာသော data တွေက redundant data တွေလား redundant data ဆိုတာက exact same data information တွေပဲ duplicate ဖြစ်ပြီး storage ပေါ်မှာ သိမ်းဆည်းထားတဲ့ data အမျိူးအစားဖြစ်ပါတယ်။ UDS ဆိုတဲ့ (Universal Deduplication Service) က ထို redundant data တွေကို စီစစ်ပြီး ထပ် storage ပေါ်မှာမရေးတော့ပဲ ရှိပြီးသား original copy ရဲ့ metadataဆီသို့ redundant မဟုတ်သေးတဲ့ data တွေကိုပဲ update လုပ်လိုက်ပါတယ်။
Compression (Final Phase)
အထက်က phase တွေပြီးသွားတဲ့အချိန်မှာ နောက်ဆုံး phase အနေနဲ့ Compression phase မှာ LZ4 compression algorithm ဆိုအသုံးပြုပြီး redundant data မဟုတ်တဲ့ individual data block တွေကို compress လုပ်လိုက်တယ်။ အဲ့ဒီ့နောက် ထို compressed block တွေကို 4KB ရှိတဲ့ fix-length blockတွေလုပ်လိုက်ပြီး storage ပေါ်မှာသိမ်းဆည်းစေပါတယ်။ ထိုသို့လုပ်ခြင်းအားဖြင့် data read လုပ်တဲ့နေရာ မှာ performance တက်လာစေပါတယ်။
Installing VDO Package
VDO package သည် အခု recently release လုပ်ထားတဲ့ RHEL 7.5beta မှာစပါဝင်လာပါတယ်။ Install လုပ်ဖို့အတွက် #yum install vdo ဆိုပြီး install ပြုလုပ်ပါ။
Creating VDO Volume
Physical block ပေါ်မှာ VDO create လုပ်ရာတွင် Logical Volume ကိုပါ အတူတကွ create လုပ်ပေးရမှာဖြစ်ပါတယ်။ Logical Volume size ကိုတော့ redhat documentation အရ Object Storage တွေဖြစ်တယ် Ceph storageတို့လို အပေါ်မှာဆိုရင် 3:1 ration ဖြစ်ပြီးတော့ Hosting Active VMs or Container အမျိုးအစားတွေဆိုရင်တော့ 10:1 ration logical volume create လုပ်ဖို့ recommend ပေးထားပါတယ်။
အောက်ကပုံမှာတော့ VM မှာ attachလုပ်ထားတဲ့ 15GB HDD "/dev/sdb" ကို vdo volume တစ်ခုအနေနဲ့ create လုပ်ပြထားပါတယ်။ Create command ကို man page မှာဖော်ပြထားတယ်။ Logical Volume ကို 3TB ဆိုပြီး ပေးထားပါတယ်။
Create FileSystem on VDO Volume
VDO volume ကို file system create လုပ်ပေးရပါမယ်။ ဒီမှာတော့ XFS filesystem ကိုအသုံးပြုထားတယ်။
Mounting VDO volume into fstab
Filesystem create လုပ်ပြီးရင် fstab မှာထဲ mounting သွားလုပ်မယ်။ Mount directory အနေနဲ့ "vdotest" မှာ mount လုပ်ပါမယ်။
#df & #vdostats
Mounting ပိုင်းပြီးလို့ #df command ရယ် #vdostats command ခေါ်ပြီး ကြည့်တဲ့အခါမှာ df command သည် hdd ရဲ့ logical partition ကိုပြပေးပြီး #vdostats ကတော့ hdd ရဲ့ physical storage size ကိုပြပေးပါတယ်။ ပုံမှာ Used=3.0G သည် vdo ရဲ့ metadata နဲ့ UDS အတွက် defaultအနေနဲ့ နေရာယူထားပါတယ်။ Totally 15GB partition မှာ 12GB ပဲ default အသုံးပြုလို့ရပါတယ်။
Testing VDO Feature
နောက်ဆုံးအဆင့်အနေနဲ့ VDO ရဲ့ deduplication feature ကိုစမ်းသပ်မှာပါ။ အခုကျွန်တော် mounted လုပ်ထားတဲ့ "vdotest" directory ထဲကို RHEL ISO file ကို duplicate လုပ်ပြီးတော့ ပွားထားလိုက်ပါတယ်။ ISO file size သည် 3.7GB ရှိပါတယ်။ ISO file ကို 4xISO copy ပွားလိုက်ရင် 14GB ကျော်ကျော်လောက် total size ဖြစ်သွားပါမယ်။ လက်ရှိ Storage space သည် 12GB ဖြစ်တဲ့အတွက် ပုံမှန် အတိုင်းဆို သိမ်းလို့ရမှာမဟုတ်ပါ။ VDO ရဲ့ feature ကိုအသုံးပြုပြီးတော့ deduplication filter လုပ်ပြီး store လုပ်နိုင်တာဖြစ်ပါတယ်။
Before Storing data into Directory
Data Store မလုပ်ခင် Status ဖြစ်ပါတယ်။
After Data Residing in Directory
Data store ပြီးတဲ့နောက် #df ရꩻယ် #vdostats command များဖြင့်ကြည့်သောအခါ #vdostats ရဲ့ actual Used title အောက်မှာ 6.6GB မှာနေရာယူသွားတာတွေ့ရပါတယ်။ တစ်နည်းအားဖြင့် တူနေသော redundant data များကို write out မလုပ်တော့ပဲ original ISO data size 3.7GB ပေါ်မှာပဲ redundant မဟုတ်တဲ့ data အသစ်များကိုပဲ metadata ကို updateလုပ်လိုက်ခြင်းဖြင့် VDO ရဲ့ Storage Deduplication ကိုစမ်းသပ်နိုင်ပါတယ်။
Please also Like and Follow Root Of Info Page
Ref:
https://rhelblog.redhat.com/2018/02/05/understanding-the-concepts-behind-virtual-data-optimizer-vdo-in-rhel-7-5-beta/
https://rhelblog.redhat.com/2018/02/08/determining-the-space-savings-of-virtual-data-optimizer-vdo-in-rhel-7-5-beta/
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/vdo-qs-creating-a-volume
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/storage_administration_guide/vdo-qs-creating-a-volume#vdo-qs-volatile-cache
http://searchdatabackup.techtarget.com/definition/inline-deduplication
https://www.webopedia.com/TERM/F/fixed_length.html
https://www.ibm.com/support/knowledgecenter/en/SSGU8G_12.1.0/com.ibm.sqls.doc/ids_sqs_1403.htm
https://superuser.com/questions/559772/how-to-verify-that-hard-drive-is-filled-with-zeroes-in-linux
https://www.techopedia.com/definition/18707/data-redundancy
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.