How to extend the file system after resizing AWS EBS volume in EC2?
ကျွန်တော် ဒီနေ့ sharing လုပ်ပေးချင်တဲ့ အကြောင်းအရာလေးကတော့ AWS EC2 တစ်လုံးရဲ့ root directory မှာ storage မလောက်တော့ လို့ EBS size ကိုထပ်တိုးပီး ဘယ်လို extend လုပ်ရမလဲ ဆိုတဲ့ အကြောင်း အရာလေးပဲ ဖြစ်ပါတယ်။ Real world လုပ်ငန်းခွင် အတွက် အသုံးဝင်မယ် လို့လဲ ထင်ပါတယ်။
ကဲ အဲ့ဒါဆို စလိုက်ကျရအောင်ပါ။ အရင်ဆုံး storage ထပ်မတိုးခင်မှာ အရင် ဆုံး စစ်ကြည့် ရအောင်ပါ။ ဒီ command နှစ်ခု နဲ့ စစ်မှာပါ။ lsblk , df -hT ဆိုတဲ့ Linux command နဲ့ စစ်ပါမယ်။ ဒီနေရာမှာ သုံးသွားတဲ့ command နှစ်ခုကို မသိသေးတဲ့ သူတွေအတွက် အနည်းငယ် ရှင်းပြပါရစေ။
lsblk command က list block ဆိုတဲ့ meaning ပါ။ သူ က ကို့ရဲ့ Linux system ထဲမှာ ရှိတဲ့ block devices တွေဖြစ်တဲ့ HDD, SSD နဲ့ တစ်ခြား storage နဲ့ ပတ်သတ်တဲ့ အရာတွေကို list ထုတ်ပီး ကြည့်တဲ့နေရာမှာ သုံးပါတယ်။ df -hT ကတော့ ကို့ရဲ့ Linux system ထဲမှာရှိတဲ့ disk ရဲ့ လက်ရှိဘယ်လောက် ထိ available ဖြစ်လဲ free ဖြစ် နေလဲဆိုတာ သိအောင် ကြည့် တဲ့ command ပါ။ သူ့အနောက်မှာ ပါတဲ့ -hT ကတော့ option တွေပါ။ h က human-readable format နဲ့ ပြပါလို့ ရည်ရွယ် ပါတယ်။ T ကတော့ file system ကို print ထုတ်ပီး ကြည့်တာပါ။ command နှစ်ခု ရဲ့ meaning တွေကို သိပီ ထင်ပါတယ်။ မူရင်း အကြောင်းအရာကို ဆက်ကျရအောင်ပါ။
ဒီပုံထဲမှာ ဆိုရင် EBS က တစ်လုံးပဲ ရှိပီး ၊ storage size က 8GB ရှိတာ တွေ့ရပါမယ်။ အဲ့ တာကို 10GB ဖြစ်အောင် တိုးမှာဖြစ်ပါတယ်။ File system type ကတော့ xfs ကို သုံးထားပါတယ်။ မတိုးခင်မှာ storage size က total က 8GB ၊ သုံးပီးတာက 1.8GB ၊ ရနိုင်သေးတာက 6.2 GB ဖြစ်ပါတယ်။ စိတ်ထဲမှာတော့ ရနိုင်သေးတဲ့ size ကို လုံးဝမရှိတော့ဘူးလို့ မှတ်ပီး စမ်းကျရအောင်ပါ။ ကဲ့ အဲ့တာဆို size တိုးကြည့်ရအောင်ပါ။
ဒီဟာက EBS မှာမတိုးခင် ရှိနေတဲ့ actual size ပါ။ 10 GB ဖြစ်အောင် နောက်ထပ် 2GB ကိုတိုးကျပါမယ်။ EBS volume ထဲဝင်ပီးရင် Modify ဆိုတာကို နှိပ်လိုက်ပါ။ နှိပ်ပီးသွားရင် ကိုလိုချင်တဲ့ storage size ကိုထည့်ပါ။ အဲ့နေရာမှာ total size ကို ထည့်ရပါမယ်။
10 GB ဖြစ်ဖို့ လိုတာ 2GB လောက်ပဲဆိုပီး 2 GB ထည့်လို့ မရပါဘူး။ Total actual size 10 GB ထည့်ရပါမယ်နော်။ နောက်တစ်ချက်က တကယ်လိုတဲ့ size ကိုချိန်ပီးမှ ထည့်ပါ။ တိုးပီးသွားရင် ပြန်လျော့ လို့မရပါဘူး။ Over provisioning မဖြစ်ဖို့ အရေးကြီးပါတယ်။ တိုးရင်တိုးသလို cloud cost ကလည်း လိုက်တက်နေမှာ မလို့ပါ။
Size မှာ 10 GB ဖြစ်သွားသလို Volume state မှာလည်း In-use ဖြစ်သွားပီ ဆိုတော့ server ထဲဝင်စစ်ကြည့်ရအောင်ပါ။
EBS ဘက်မှာတိုးသွားပေမဲ့ server ထဲမှာတော့ Total size က မတိုးသွားတာကို တွေ့ရပါတယ်။ အဓိက က partition extend မလုပ်ရသေးတာကြောင့်ပါ။ growpart command ကိုသုံးပီး တိုးကျပါမယ်။
growpart command နဲ့ တိုးပီးသွားရင် မပီးသေးပါဘူး။ xfs file system က တိုးသွားတဲ့ size ကို မသိသေးတဲ့ အတွက် သူ့အတွက်လည်းလုပ်ပေးရပါမယ်။ xfs_growfs command သုံးပီး တိုးပါမယ်။
ကဲအခုဆိုရင်တော့ ကျွန်တော် တို့ရဲ့ Instance လေးက total 8GB ကနေ 10GB ကိုပြောင်းသွားပီဖြစ်ပါတယ်။ ကျွန်တော် လုပ်ပြသွားတဲ့ step တွေကို တစ်ဆင့်ချင်း လိုက်လုပ်ကြည့်မယ်ဆိုရင် လွယ်ကူမှာပါ။ တစ်နေရာရာ မှာ ကျွန်တော့ ဘက်က မှားတာမျိုး လိုအပ်ချက်မျိုးရှိ နေရင် လည်း အားမနာတမ်း ထောက်ပြကျဖို့ တောင်းဆိုပါတယ်ဗျ။
Subscribe to my newsletter
Read articles from Zin Lin Htet directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Zin Lin Htet
Zin Lin Htet
I'm Zin Lin Htet. Who love to learn and share about Linux, Cloud, Docker and K8s. Currently working as a DevOps Engineer at one of the famous Fintech Company in Myanmar.