ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-25, Saturday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

MySQL 136 GB වගුව රැඳී ඇති රූට් ඩිස්ක් එකෙන් අලුත් ඩිස්ක් එකට ආරක්ෂිතව මාරු කිරීමේ ක්‍රමය

MySQL 136 GB වගුව රැඳී ඇති රූට් ඩිස්ක් එකෙන් අලුත් ඩිස්ක් එකට ආරක්ෂිතව මාරු කිරීමේ ක්‍රමය

රෑ 2.00 ට, ප්‍රොඩක්ශන් සර්වර් එකේ රූට් ඩිස්ක් එක 94% පිරී තිබුණා. ඉතිරි ඉඩ 22 GB පමණයි, එතැනින් වැඩි දත්ත ඇතුළත් කිරීමේ අවශ්‍යතා ඉදිරියට පැමිණෙමින් තිබුණා. මෙවැනි අවස්ථාවක, එකම MySQL වගුවක් 136 GB පමණ ඉඩ ගනී. ඒ වගුවේ දත්ත මාරු නොකර, ඩිස්ක් පිරී යාමක් වැළැක්වීමට අවශ්‍ය වූ පියවර ගැන මේ ලිපියෙන් කියවමු.

කොහොමද සිදුවුණේ?

මූලිකව, app_prod නමින් ඇති දත්ත ගබඩාවේ call_transcripts වගුව 136 GB පමණ ඉඩ ගෙන තිබුණා. දිනකට 35‑40 GB නව දත්ත ඇතුළත් වීමත්, රාත්‍රි නඩත්තු ජොබ් එකක් තුළ පසු දින තුනක් පමණ දත්ත තබා ඉවත් කරන බවත් නිසා, මේ වගුව පමණක් රූට් ඩිස්ක් එකේ 40% ඉඩ ගත්තා.

දෝෂකාරී පිළිවෙලක් ලෙස, බොහෝ අය .ibd ගොනුව තවත් ෆෝල්ඩරයකට ගෙන, එහි සින්ලින්ක් (symlink) එකක් තබා ඉදිරියට යයි. නමුත් InnoDB එකේ symlink එකක් භාවිතා කිරීම අනුමත නොවේ; ගොනුව අලුත් කරද්දී symlink අහෝසි වෙයි, ඩිස්ක් පිරී යාම නැවත සිදු වේ.

ආරක්ෂිත විසඳුම – innodb_directories

MySQL 8.0 සිට innodb_directories නමක සැකසුමක් ඇත. මේකෙන් InnoDB ගොනුවේ මාර්ගය නොව, ගොනුවේ space_id අනුව සොයාගනී. එබැවින්, ගොනුව අලුත් ස්ථානයකට ගෙන, ඒ ස්ථානය innodb_directories හි සඳහන් කර, වගුවේ .ibd ගොනුව /mnt/data-volume/mysql-data/app_prod/call_transcripts.ibd ලෙස නවතම මාර්ගය දක්වා දී, MySQL සේවාදායකය නැවත ආරම්භ කළත්, ඒ ගොනුව සාර්ථකව හඳුනා ගනී.

මෙම ක්‍රියාවලිය සඳහා අනුගමනය කළ පියවර:

  • MySQL සේවාදායකය නවතා දමන්න.
  • දැනට ඇති /var/lib/mysql/app_prod/call_transcripts.ibd ගොනුව නව මාර්ගයට (උදා: /mnt/data-volume/mysql-data/app_prod/) පිටපත් කරන්න.
  • MySQL සැකසුමේ innodb_directories=/mnt/data-volume/mysql-data ලෙස එක් කරන්න.
  • MySQL නැවත ආරම්භ කර, SHOW TABLE STATUS LIKE 'call_transcripts'; මගින් ගොනුවේ නව මාර්ගය සනාථ කරන්න.

මෙම ක්‍රමය භාවිතා කිරීමෙන්, රූට් ඩිස්ක් එකේ ඉඩ 136 GB කින් පුරාවට පිරිසිදු විය. දත්ත කිසිදු අස්ථානගත වීමක් නොවීය, හා සින්ලින්ක් භාවිතයෙන් සිදුවිය හැකි අනාගත ගැටලුද පළමු වාරයෙන්ම වැළැක්විය හැකි විය.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බහුතරය වෙළඳපලේ SaaS, call‑center, සහ AI‑driven analytics සේවා සපයන ආයතන MySQL භාවිතා කරයි. මෙවැනි තත්වයන්හි, ඩිස්ක් ඉඩ අඩුවීම සේවා නවතාදීමක්, පාරිභෝගික අහිමිවීමක් හෝ නීතිමය දෝෂයක් වෙයි. innodb_directories භාවිතයෙන් ගොනුවේ ස්ථානය සුරක්ෂිතව මාරු කිරීම, වියදම අඩු කර, අඩු කාලීන අඩු කිරීමක් (downtime) ලබා දේ. එමඟින් ශ්‍රී ලංකාවේ තාක්ෂණික ආයතනවල ඉදිරිපත් කිරීමේ වේගය, විශ්වාසනීයතාවය, සහ ව්‍යාපාරික ලාභය වැඩිවේ.

ඉන්පසු, දත්ත ගබඩා කළමනාකරණය, backup, හා disaster recovery සැලසුම් සකස් කිරීමේදීත් මේ ක්‍රමය ප්‍රයෝජනවත් වේ. සිසුන් හා නව සංවර්ධකයින්ට මෙවැනි නවීන MySQL කළමනාකරණ තාක්ෂණයන් ඉගෙන ගැනීම, රැකියා අවස්ථා විහිදුනු පදනමක් සපයයි.

අවසානයේ, සුළු පියවරක් මඟින් විශාල ගැටළුවක් විසඳා, සර්වර් කාර්ය සාධනය අඩු නොකර, ඩිස්ක් පිරී යාම වැලැක්වීමේ ප්‍රායෝගික උදාහරණයක් මෙයයි.

💡 ඔබේ MySQL දත්ත ගබඩා කළමනාකරණය අදම ඉහළට ගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#MySQL #InnoDB #Database #Linux #TechTips