Tuesday, March 11, 2014

සර්වර් එකේ හොල්මනක්

"මචං උඹ ලිනක්ස් දන්නව නේද?"

Image courtesy: pixabay.com
ටී ෂර්ට් එකක පිටේ FAQ අකුරු තුන තඩියට ප්‍රින්ට් කරවගෙන ඊට යටින් ඔය ප්‍රශ්නෙයි ගැළපෙන උත්තරේකුයි ගහගන්නවා මම හිතුණොත්. :D එච්චරටම නිතර දෙවේලේ ඇහෙන ප්‍රශ්නයක් ඕක. සාමාන්‍යයෙන් මගෙන් කවුරුහරි ඔහොම අහන්නෙ ලිනක්ස් සම්බන්ධ උදව්වක් ඕනෙ වුණාම. ඉතින් මේකත් එහෙම කතන්දරයක්...

මගේ මිත්‍රයා පරීක්ෂණ මට්ටමින් තමන්ගෙම ලිනක්ස් සර්වර් එකක වෙබ් අඩවියක් හොස්ට් කරලා. ඊට පස්සෙ ඒ වෙබ් අඩවිය පාවිච්චි කරයි කියල හිතන අයට පොඩි ටෙස්ටිං (UAT) රවුමක් දෙකක් කරන්න දීලා අඩුපාඩු අල්ලගන්න. මේ UAT එකේදි හදිසියෙම වෙබ් අඩවිය අකර්මණ්‍ය වෙලා. හේතුව හොයල බැලුවම හාඩ් ඩිස්ක් එකේ root partition එක (/) සම්පූර්ණයෙන්ම පිරිලා ඉඩ නැහැ. වෙබ් අඩවිය වැඩ කරනකොට caches/ logs ලියන්න හාඩ් ඩිස්ක් එකේ ඉඩ නැති නිසා තමයි ඒක නැවතිලා තියෙන්නෙ.

"මචං මගෙ සර්වර් එකේ හාඩ් එක පිරිලා. පරණ ලොග්ස් මහ ගොඩක් ඩිලීට් කරා ඒත් ඉඩ නැහැනෙ බං.... සයිට් එක වැඩ කරන්නෑ ඒ නිසා."

"කෝ බලමු....."

මුලින්ම df -h විධානය  දීලා බැලුවා. ඒ කියන්නෙ 'disk free' - ලිනක්ස් වලදි හාඩ් ඩිස්ක් එකේ කොයි තරම් ඉඩ භාවිත වෙනවද, කොයි තරම් ඉඩ ඉතිරිද කියල බලන්නෙ df වලින්. මේ සිද්ධියෙදි root partition එක සම්පූර්ණයෙන්ම පිරිලා තිබුණෙ. Size: 20 GB, Used: 20 GB, Use%: 100% විධියට තමයි පෙන්නුම් කළේ.

ඊළඟට ගිහින් බැලුවෙ /var/log/apache2 කියන ඩිරෙක්ටරියට. කියන්න වගේම ලොග් ටික ඩිලීට් කරල. පේන විධියට ඉඩ නං තියෙන්න ඕන. කෝකටත් කියල root partition එකේ තියෙන ඔක්කොම ෆයිල් වලින් අත්පත් කරගෙන තියෙන ඉඩ ප්‍රමාණයෙ එකතුවත් බලන්න ඕනෙ.

"මචං රූට් පාස්වර්ඩ් එක?"

"**********"

# du -h --max-depth=0 --one-file-system

du කියන්නෙ 'disk usage' කියන එක. අස්සෙ මුල්ලෙ තියෙන හැම ෆයිල් එකකම ප්‍රමාණය නෙමෙයි, අපට ඕනෙ root disk එකේ තියෙන ඔක්කොම ෆයිල් වලින් අත්පත් කරගත්ත ඉඩ ප්‍රමාණයෙ එකතුව. ඒ නිසා max depth එක 0 විධියට දීල තියෙනවා. ලිනක්ස් වල /boot, /home,... විධියට වෙනින් partition mount කරල තියෙන්නෙ ‘/‘ යටතෙ අතුරු ඩිරෙක්ටරි වලට නිසා ඒ parition ටිකත් ගණනයට එකතු වෙලා ලොකු ඉලක්කමක් උත්තරේට එක වළක්වන්න තමයි one file system කියන එක දීල තියෙන්නෙ.

හරි නං ඕකෙන් එන උත්තරේ root partition එකේ සම්පූර්ණ ඉඩ ප්‍රමාණයට සමාන වෙන්න ඕනේ... මේ සිද්ධියෙදි නං 20 GB. එහෙම සමාන වෙනවනං මගේ මිත්‍රයා ඉස්සෙල්ලම ඩිලීට් කරපු ලොග් ෆයිල් ටික මෙච්චර වෙලා සර්වර් එකේ තිබුණෙ කොහොමද කියල ප්‍රශ්නයක් එනවා. ඒ ටිකත් එකතු කළාම 20 GB (මුළු ධාරිතාවට) ට වැඩි වෙන්න ඕනා. ඒක වෙන්න බැරි වැඩක්.

සමාන වෙන්නෙ නැතුව ෆයිල් වලට පාවිච්චි වෙලා තියෙන සම්පූර්ණ ඉඩ ප්‍රමාණය 20 GBට අඩු වුණා නං, ඒ කිව්වෙ 16 GB විතර වුණා නං ඉතිරි ගිගාබයිට් හතරට මොකද වුණේ කියන එක ඊළඟ ප්‍රශ්නේ. ඒ ඉඩ ඉතිරියි කියල පෙන්නන්න එපැයි!

ඉතිං අපට ආපු උත්තරේ ඇත්තටම අඩු ඉලක්කමක්! ඒ කියන්නේ........

Image courtesy: Shutter (2008 movie)

සර්වර් එකේ හොල්මනක්!??




ඔය  අස්සෙ තමයි මට සැකයක් ආවේ ඩිලීට් කළා කියපුවා ඇත්තටම ඩිලීට් වෙලා නැද්ද කියලා. එතකොටම මතක් වුණා වින්ඩෝස් වල වගෙ නෙමෙයි ලිනක්ස් වල මොකක් process එකකින් පාවිච්චි වෙන ෆයිල් එකක් ඒ පාවිච්චි කෙරෙන වෙලාවෙ වුණත් ඩිලීට් කරන්න පුළුවන් නේද කියල.

"මචං උඹ Apache ඩවුන් කරන්නෙ නැතුව නේද ලොග්ස් ටික ඩිලීට් කළේ"

"ඔව් එහෙම පුළුවන්නෙ"

ඉතිං ඔය ඔස්සෙ වෙබ් අඩවි ගණනාවක් පීරලා හොයලා බලලා හොයා ගත්තා හේතුව. ඊළඟට මැජික් එකක් පෙන්නන්න වගේ යාළුවව කිට්ටු කරගත්තා...

"ඔන්න බලපං මචං වෙලා තියෙන දේ"

# lsof | grep "/var/log/apache2"

Output එකෙන් කොටසක්...
httpd2-wo 20241     wwwrun   12w      REG              104,1    64261354     647358 /var/log/apache2/access_log (deleted)
httpd2-wo 20241     wwwrun   13w      REG              104,1    88211314     647207 /var/log/apache2/ssl_request_log (deleted)
httpd2-wo 20241     wwwrun   14w      REG              104,1    64261354     647358 /var/log/apache2/access_log (deleted)
httpd2-wo 20241     wwwrun   15w      REG              104,1    88211314     647207 /var/log/apache2/ssl_request_log (deleted)


"ඩිලීට් කරපුව තාම තියෙනව???"

"ඔව්. පොතේ හැටියට නං Apache රීස්ටාර්ට් කරපු ගමන් මේක හරියන්නෝන"

"එහෙනං කරල බලමු"

# /etc/init.d/apache2 restart

ඔහොම restart කළාට පස්සෙ වැඩේ ගොඩ. Apache වලින් අල්ලගෙන හිටපු 'deleted files' ටික නිදහස් වුණා. හාඩ් ඩිස්ක් එකේ ඉඩත් මහා ගොඩක් නිදහස් වුණා.

ඩිලීට් කළාට පස්සෙත් ලොග් ෆයිල් ටික සර්වර් එකේ හොල්මන් කරල. බලමුකො ඒකෙත් හැටි! :)



හොල්මන් කතාවට අදාළ ප්‍රශ්නයක් මම askubuntu.com වෙබ් අඩවියෙ දැම්මා. මේ කතන්දරේ තාක්ෂණික පසුබිම මම ඊළඟ සටහනේ ලියන්නම්. නැත්තම් මේ සටහන කියවගන්න බැරි වෙන තරමට පත මාගලක් වගේ වෙනවා. ඒ නිසා හොල්මන්වල ඇත්ත හෙළිදරව්ව පසුවට. අදට ආයුබෝ! :-)

9 comments:

  1. අයි ලව් වින්ඩෝස් සර්වර්ස්.. මෙලෝ කරදරයක් නෑ. රිමෝට් ඩෙක්ස්ටොප් වලින් ගියා..

    පුළුවන් නම් ලිපියක් ලියනවද වින්ඩෝස් සර්වර් එකක xwamp වගේ එකක් ගහල ඩොමේන් එකක් පොයින්ට් කරන විදිය ?

    ReplyDelete
    Replies
    1. මේ ලිපියට පාදක වෙච්ච හේතුව වින්ඩෝස් සර්වර් වල නොතිබීමම වින්ඩෝස් සර්වර් වල තියෙන දුර්වලතාවයක්. AskUbuntu වෙබ් අඩවියෙ මම දමාපු ප්‍රශ්නෙට ඇවිත් තියෙන මේ උත්තරේ බලන්න: http://askubuntu.com/a/432288/256742

      වින්ඩෝස් වල OS upgrade එකක් කරන්නත් restart කරන්න ඕනේ. කරදරයි නේ? :)

      xwamp කිව්වෙ මේකද?
      http://sourceforge.net/projects/xwamp/

      Delete
    2. ඔව්.. එත් වින්ඩෝස් භාවිතය ගොඩක් සමීප නිසාද කොහෙද එච්චර දැනෙන්නේ නැහැ..
      ඔව්.. ඔහොම සර්වර් සොෆ්ටෙයා එකක් දාල එකට ඩොමේන් එක සෙට් කරගන්න තේරෙන්නේ නැහැ :(

      Delete
    3. ම්ම්.. පොඩ්ඩක් හොයල බලල කියන්නම්. :)

      Delete
  2. Linux වලට love උනත් kernel එක තාම දිරවන්නෑ නේ... :P

    හරියට හැමදාම try කරන කෙල්ලෙක් වගේ :(

    ReplyDelete
  3. ආවුස් අප්පඩා
    ශාකුන්තල අයිය ආයෙමත් ලියනව
    එල එල
    ජයම වේවා
    ඔපීසියෙ වැඩ අඩු වෙලා වැඩි වැඩියෙන් ලියන්න වෙලාව ලැබෙන්න කියල ප්‍රාර්තනා කොරනව ඕං
    (වැඩ අඩු වෙලා පඩි වැඩි වුනත් කමක් නෑ ලු) :D

    ReplyDelete
    Replies
    1. වැඩ නං අඩු නෑ මචෝ.... ඒත් කොහොමහරි පුළුවන් වෙලාවට මොනවහරි ලියනවා... :)
      (වරහන් ඇතුලෙ තියෙන එක - කවදහරි ඔබටත් එසේම වේවා!) :D

      Delete

Facebook ප්‍රතිචාර