උපස්ථ 7 කොටස: නිගමන

උපස්ථ 7 කොටස: නිගමන

මෙම සටහන උපස්ථය පිළිබඳ චක්‍රය සම්පූර්ණ කරයි. එය උපස්ථ කිරීම සඳහා පහසු කැපවූ සේවාදායකයක (හෝ VPS) තාර්කික සංවිධානයක් සාකච්ඡා කරනු ඇති අතර, ආපදාවකදී වැඩි අක්‍රියතාවකින් තොරව උපස්ථයකින් සේවාදායකයක් ඉක්මනින් ප්‍රතිසාධනය කිරීමට විකල්පයක් ද ලබා දෙනු ඇත.

මූලාශ්‍ර දත්ත

පළමු මට්ටමේ RAID අරාවක් (කැඩපත) සංවිධානය කිරීම සඳහා කැප වූ සේවාදායකයක් බොහෝ විට අවම වශයෙන් දෘඪ තැටි දෙකක් ඇත. එක් තැටියක් අසමත් වුවහොත් සේවාදායකය දිගටම කරගෙන යාමට මෙය අවශ්‍ය වේ. මෙය නිත්‍ය කැපවූ සේවාදායකයක් නම්, SSD මත සක්‍රීය හැඹිලි තාක්ෂණය සහිත වෙනම දෘඪාංග RAID පාලකයක් තිබිය හැක, එවිට සාමාන්‍ය දෘඪ තැටි වලට අමතරව SSD එකක් හෝ කිහිපයක් සම්බන්ධ කළ හැක. සමහර විට කැපවූ සර්වර් පිරිනමනු ලබන අතර, එකම දේශීය තැටි වන්නේ SATADOM (කුඩා තැටි, ව්‍යුහාත්මකව SATA පෝට් එකකට සම්බන්ධ ෆ්ලෑෂ් ධාවකය) හෝ විශේෂ අභ්‍යන්තර වරායකට සම්බන්ධ සාමාන්‍ය කුඩා (8-16GB) ෆ්ලෑෂ් ධාවකයක් වන අතර, දත්ත ලබාගෙන ඇත්තේ ගබඩා පද්ධතියෙන් , විශේෂිත ගබඩා ජාලයක් (ඊතර්නෙට් 10G, FC, ආදිය) හරහා සම්බන්ධ කර ඇති අතර, ගබඩා පද්ධතියෙන් සෘජුවම පටවනු ලබන කැපවූ සේවාදායකයන් ඇත. මම එවැනි විකල්ප සලකා බලන්නේ නැත, මන්ද එවැනි අවස්ථාවන්හිදී සේවාදායකයේ උපස්ථ කිරීමේ කාර්යය ගබඩා පද්ධතිය නඩත්තු කරන විශේෂ ist යෙකුට සුමටව පැවරේ; සාමාන්‍යයෙන් ස්නැප්ෂොට් නිර්මාණය කිරීම සඳහා විවිධ හිමිකාර තාක්ෂණයන් ඇත, පද්ධති පරිපාලකගේ ප්‍රීතිය, බිල්ට් අඩු කිරීම සහ අනෙකුත් ප්‍රීති. , මෙම ලිපි මාලාවේ පෙර කොටස් වල සාකච්ඡා කරන ලදී. සේවාදායකයට සම්බන්ධ තැටි ගණන සහ ප්‍රමාණය අනුව කැප වූ සේවාදායකයක තැටි අරාවක පරිමාව ටෙරාබයිට් දස කිහිපයක් දක්වා ළඟා විය හැකිය. VPS සම්බන්ධයෙන් ගත් කල, වෙළුම් වඩා නිහතමානී ය: සාමාන්‍යයෙන් 100GB ට වඩා වැඩි නොවේ (නමුත් තවත් ඒවා ද ඇත), සහ එවැනි VPS සඳහා ගාස්තු පහසුවෙන් එකම සත්කාරක සමාගමෙන් ලාභම කැප වූ සේවාදායකයන්ට වඩා මිල අධික විය හැකිය. VPS එකකට බොහෝ විට එක තැටියක් ඇත, මන්ද එයට යටින් ගබඩා පද්ධතියක් (හෝ අධි සංවර්ධිත යමක්) ඇත. සමහර විට VPS එකකට විවිධ අරමුණු සඳහා විවිධ ලක්ෂණ සහිත තැටි කිහිපයක් ඇත:

  • කුඩා පද්ධතිය - මෙහෙයුම් පද්ධතිය ස්ථාපනය කිරීම සඳහා;
  • විශාල - පරිශීලක දත්ත ගබඩා කිරීම.

ඔබ පාලක පැනලය භාවිතයෙන් පද්ධතිය නැවත ස්ථාපනය කරන විට, පරිශීලක දත්ත සහිත තැටිය නැවත ලියනු නොලැබේ, නමුත් පද්ධති තැටිය සම්පූර්ණයෙන්ම නැවත පුරවා ඇත. එසේම, VPS එකක් සම්බන්ධයෙන්, සත්කාරක සමාගම VPS (හෝ තැටිය) තත්ත්වය පිළිබඳ ස්නැප්ෂොට් එකක් ලබා දෙන බොත්තමක් ලබා දිය හැක, නමුත් ඔබ ඔබේම මෙහෙයුම් පද්ධතිය ස්ථාපනය කරන්නේ නම් හෝ VPS තුළ අපේක්ෂිත සේවාව සක්‍රිය කිරීමට අමතක වුවහොත්, සමහරක් දත්ත තවමත් නැති විය හැක. බොත්තමට අමතරව, දත්ත ගබඩා කිරීමේ සේවාවක් සාමාන්යයෙන් පිරිනමනු ලැබේ, බොහෝ විට ඉතා සීමිතය. මෙය සාමාන්‍යයෙන් FTP හෝ SFTP හරහා ප්‍රවේශය ඇති ගිණුමකි, සමහර විට SSH සමඟින්, ඉවත් කරන ලද කවචයක් (උදාහරණයක් ලෙස, rbash) හෝ අවසර ලත්_කීස් හරහා (ForcedCommand හරහා) විධාන ධාවනය කිරීම සීමා කරයි.

කැපවූ සේවාදායකයක් 1 Gbps වේගයකින් වරායන් දෙකකින් ජාලයට සම්බන්ධ කර ඇත, සමහර විට මේවා 10 Gbps වේගයක් සහිත කාඩ්පත් විය හැකිය. VPS බොහෝ විට එක් ජාල අතුරු මුහුණතක් ඇත. බොහෝ විට, දත්ත මධ්‍යස්ථාන දත්ත මධ්‍යස්ථානය තුළ ජාල වේගය සීමා නොකරයි, නමුත් අන්තර්ජාල ප්‍රවේශයේ වේගය සීමා කරයි.

එවැනි කැපවූ සේවාදායකයක හෝ VPS වල සාමාන්‍ය භාරය වන්නේ වෙබ් සේවාදායකයක්, දත්ත ගබඩාවක් සහ යෙදුම් සේවාදායකයකි. සමහර විට වෙබ් සේවාදායකයක් හෝ දත්ත ගබඩාවක් ඇතුළුව විවිධ අමතර සහායක සේවාවන් ස්ථාපනය කළ හැකිය: සෙවුම් යන්ත්‍රය, තැපැල් පද්ධතිය යනාදිය.

විශේෂයෙන් සකස් කරන ලද සේවාදායකයක් උපස්ථ පිටපත් ගබඩා කිරීම සඳහා අවකාශයක් ලෙස ක්‍රියා කරයි; අපි ඒ ගැන පසුව විස්තරාත්මකව ලියන්නෙමු.

තැටි පද්ධතියේ තාර්කික සංවිධානය

ඔබට RAID පාලකයක් හෝ එක් තැටියක් සහිත VPS එකක් තිබේ නම් සහ තැටි උප පද්ධතියේ ක්‍රියාකාරිත්වය සඳහා විශේෂ මනාපයන් නොමැත (උදාහරණයක් ලෙස, දත්ත සමුදායක් සඳහා වෙනම වේගවත් තැටියක්), සියලු නිදහස් ඉඩ පහත පරිදි බෙදා ඇත: එක් කොටසක් නිර්මාණය කර ඇති අතර, එය මත LVM වෙළුම් සමූහයක් සාදනු ලැබේ, එහි වෙළුම් කිහිපයක් සාදනු ලැබේ: එකම ප්‍රමාණයේ කුඩා ඒවා 2 ක්, root ගොනු පද්ධතිය ලෙස භාවිතා කරයි (ඉක්මන් ආපසු හැරීමේ හැකියාව සඳහා යාවත්කාලීන කිරීමේදී එකින් එක වෙනස් වේ, අදහස ලබා ගත්තේ ලිනක්ස් බෙදාහැරීම ගණනය කිරීමෙනි), තවත් එකක් swap කොටස සඳහා ය, ඉතිරි නිදහස් ඉඩ කුඩා වෙළුම් වලට බෙදා ඇත, සම්පූර්ණ බහාලුම් සඳහා මූල ගොනු පද්ධතිය ලෙස භාවිතා කරයි, අථත්‍ය යන්ත්‍ර සඳහා තැටි, ගොනුව /home හි ගිණුම් සඳහා පද්ධති (සෑම ගිණුමකටම තමන්ගේම ගොනු පද්ධතියක් ඇත), යෙදුම් බහාලුම් සඳහා ගොනු පද්ධති.

වැදගත් සටහන: වෙළුම් සම්පූර්ණයෙන්ම ස්වයං අන්තර්ගත විය යුතුය, i.e. එකිනෙකා මත හෝ root ගොනු පද්ධතිය මත රඳා නොපවතී. අතථ්‍ය යන්ත්‍ර හෝ බහාලුම් සම්බන්ධයෙන්, මෙම ලක්ෂ්‍යය ස්වයංක්‍රීයව නිරීක්ෂණය කෙරේ. මේවා යෙදුම් බහාලුම් හෝ ගෘහ නාමාවලි නම්, හැකිතාක් වෙළුම් අතර පරායත්තතා ඉවත් කිරීමට හැකි වන පරිදි වෙබ් සේවාදායකයේ සහ අනෙකුත් සේවාවන්හි වින්‍යාස ගොනු වෙන් කිරීම ගැන ඔබ සිතා බැලිය යුතුය. උදාහරණයක් ලෙස, සෑම වෙබ් අඩවියක්ම තමන්ගේම පරිශීලකයෙකුගෙන් ධාවනය වේ, අඩවි වින්‍යාස ගොනු පරිශීලකයාගේ මුල් නාමාවලියෙහි ඇත, වෙබ් සේවාදායක සැකසුම් තුළ, අඩවි වින්‍යාස ගොනු /etc/nginx/conf.d/ හරහා ඇතුළත් නොවේ..conf, සහ, උදාහරණයක් ලෙස, /home//configs/nginx/*.conf

තැටි කිහිපයක් තිබේ නම්, ඔබට මෘදුකාංග RAID අරාවක් සෑදිය හැකිය (සහ එහි හැඹිලිය SSD මත වින්‍යාස කරන්න, අවශ්‍යතාවයක් සහ අවස්ථාවක් තිබේ නම්), ඉහත යෝජනා කර ඇති නීතිවලට අනුව ඔබට LVM ගොඩනගා ගත හැකිය. මෙම අවස්ථාවේදී, ඔබට ZFS හෝ BtrFS භාවිතා කළ හැකිය, නමුත් ඔබ මේ ගැන දෙවරක් සිතා බැලිය යුතුය: දෙකම සම්පත් සඳහා වඩා බරපතල ප්රවේශයක් අවශ්ය වන අතර, ඊට අමතරව, ZFS Linux කර්නලය සමඟ ඇතුළත් නොවේ.

භාවිතා කරන යෝජනා ක්‍රමය කුමක් වුවත්, තැටි වලට වෙනස්කම් ලිවීමේ ආසන්න වේගය කල්තියා තක්සේරු කිරීම වටී, පසුව ස්නැප්ෂොට් නිර්මාණය කිරීම සඳහා වෙන් කරන නිදහස් ඉඩ ප්‍රමාණය ගණනය කිරීම වටී. උදාහරණයක් ලෙස, අපගේ සේවාදායකය තත්පරයට මෙගාබයිට් 10 ක වේගයකින් දත්ත ලියන්නේ නම් සහ සම්පූර්ණ දත්ත අරාවේ ප්‍රමාණය ටෙරාබයිට් 10 ක් නම් - සමමුහුර්ත කිරීමේ කාලය දිනකට ළඟා විය හැකිය (පැය 22 - එවැනි පරිමාවක් මාරු වන්නේ මෙයයි. ජාලය හරහා 1 Gbps) - එය 800 GB පමණ වෙන්කරවා ගැනීම වටී . යථාර්ථයේ දී, රූපය කුඩා වනු ඇත; ඔබට එය තාර්කික වෙළුම් ගණනින් ආරක්ෂිතව බෙදිය හැකිය.

උපස්ථ ගබඩා සේවාදායක උපාංගය

උපස්ථ පිටපත් ගබඩා කිරීම සඳහා සේවාදායකයක් අතර ඇති ප්රධාන වෙනස වන්නේ එහි විශාල, ලාභ සහ සාපේක්ෂව මන්දගාමී තැටි වේ. නවීන HDDs දැනටමත් එක් තැටියක 10TB තීරුව පසු කර ඇති බැවින්, ගොනු පද්ධති හෝ චෙක්සම් සමඟ RAID භාවිතා කිරීම අවශ්ය වේ, මන්ද අරාව නැවත ගොඩ නැගීමේදී හෝ ගොනු පද්ධතිය ප්රතිසංස්කරණය කිරීමේදී (දින කිහිපයක්!) දෙවන තැටිය අසාර්ථක විය හැක. බර වැඩි කිරීමට. 1TB දක්වා ධාරිතාවකින් යුත් තැටිවල මෙය එතරම් සංවේදී නොවීය. විස්තරයේ සරල බව සඳහා, තැටි අවකාශය ආසන්න වශයෙන් සමාන ප්‍රමාණයේ කොටස් දෙකකට බෙදා ඇති බව මම උපකල්පනය කරමි (නැවතත්, උදාහරණයක් ලෙස, LVM භාවිතා කරමින්):

  • පරිශීලක දත්ත ගබඩා කිරීම සඳහා භාවිතා කරන සේවාදායකයන්ට අනුරූප වන වෙළුම් (අවසාන වරට සාදන ලද උපස්ථය සත්‍යාපනය සඳහා ඒවා මත යොදවනු ලැබේ);
  • BorgBackup ගබඩාවන් ලෙස භාවිතා කරන වෙළුම් (උපස්ථ සඳහා දත්ත කෙලින්ම මෙතැනට යයි).

ක්‍රියාකාරීත්වයේ මූලධර්මය නම්, BorgBackup ගබඩා සඳහා එක් එක් සේවාදායකය සඳහා වෙන වෙනම වෙළුම් සාදනු ලබන අතර, එහිදී සටන් සේවාදායකයන්ගෙන් දත්ත ගමන් කරනු ඇත. ගබඩාවන් ඇමුණුම්-පමණක් ආකාරයෙන් ක්‍රියාත්මක වන අතර එමඟින් හිතාමතාම දත්ත මකා දැමීමේ හැකියාව ඉවත් කරයි, සහ පැරණි උපස්ථ වලින් නිධිය අඩු කිරීම සහ වරින් වර පිරිසිදු කිරීම හේතුවෙන් (වාර්ෂික පිටපත් ඉතිරිව පවතී, පසුගිය වසරේ මාසිකව, පසුගිය මාසය සඳහා සතිපතා, දිනපතා පසුගිය සතියේ, සමහර විට විශේෂ අවස්ථා වලදී - අවසාන දිනය සඳහා පැයකට: මුළු 24 + 7 + 4 + 12 + වාර්ෂික - එක් එක් සේවාදායකය සඳහා දළ වශයෙන් පිටපත් 50).
BorgBackup repositories append-only mode සක්‍රීය නොකරයි; ඒ වෙනුවට, .ssh/authorized_keys හි ForcedCommand එකක් මෙවැනි දෙයක් භාවිතා කරයි:

from="адрес сервера",command="/usr/local/bin/borg serve --append-only --restrict-to-path /home/servername/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc AAAAA.......

නිශ්චිත මාර්ගයෙහි බෝර්ග් මුදුනේ දවටන ස්ක්‍රිප්ට් එකක් අඩංගු වේ, එය පරාමිති සමඟ ද්විමය දියත් කිරීමට අමතරව, දත්ත ඉවත් කිරීමෙන් පසු උපස්ථ පිටපත ප්‍රතිසාධනය කිරීමේ ක්‍රියාවලිය අතිරේකව ආරම්භ කරයි. මෙය සිදු කිරීම සඳහා, wrapper script එක අදාල repository එක අසල ටැග් ගොනුවක් සාදයි. දත්ත පිරවීමේ ක්‍රියාවලිය අවසන් වූ පසු අවසාන උපස්ථය ස්වයංක්‍රීයව අනුරූප තාර්කික පරිමාවට ප්‍රතිසාධනය වේ.

මෙම සැලසුම මඟින් ඔබට අනවශ්‍ය උපස්ථ වරින් වර පිරිසිදු කිරීමට ඉඩ සලසයි, තවද සටන් සේවාදායකයන් උපස්ථ ගබඩා සේවාදායකයේ කිසිවක් මකා දැමීම වළක්වයි.

උපස්ථ ක්රියාවලිය

උපස්ථයේ ආරම්භකයා කැපවූ සේවාදායකය හෝ VPS ම වේ, මන්ද මෙම යෝජනා ක්‍රමය මෙම සේවාදායකයේ උපස්ථ ක්‍රියාවලියට වැඩි පාලනයක් ලබා දෙයි. පළමුව, සක්‍රීය මූල ගොනු පද්ධතියේ තත්වය පිළිබඳ සැණරුවක් ගනු ලැබේ, එය සවි කර BorgBackup භාවිතයෙන් උපස්ථ ගබඩා සේවාදායකයට උඩුගත කරනු ලැබේ. දත්ත ග්‍රහණය අවසන් වූ පසු, ස්නැප්ෂොට් එක සවිකර මකා දමනු ලැබේ.

කුඩා දත්ත ගබඩාවක් තිබේ නම් (එක් එක් වෙබ් අඩවිය සඳහා 1 GB දක්වා), දත්ත සමුදා ඩම්ප් එකක් සාදනු ලැබේ, එය සුදුසු තාර්කික පරිමාවකින් සුරකිනු ලැබේ, එම වෙබ් අඩවියේ ඉතිරි දත්ත පිහිටා ඇති නමුත් ඩම්ප් එක වෙබ් සේවාදායකය හරහා ප්‍රවේශ විය නොහැක. දත්ත සමුදායන් විශාල නම්, ඔබ "උණුසුම්" දත්ත ඉවත් කිරීම වින්‍යාසගත කළ යුතුය, උදාහරණයක් ලෙස, MySQL සඳහා xtrabackup භාවිතා කිරීම හෝ PostgreSQL හි archive_command සමඟ WAL සමඟ වැඩ කරන්න. මෙම අවස්ථාවේදී, දත්ත සමුදාය අඩවි දත්ත වලින් වෙන වෙනම ප්රතිෂ්ඨාපනය කරනු ලැබේ.

බහාලුම් හෝ අතථ්‍ය යන්ත්‍ර භාවිතා කරන්නේ නම්, ඔබ qemu-guest-agent, CRIU හෝ වෙනත් අවශ්‍ය තාක්ෂණයන් වින්‍යාසගත කළ යුතුය. වෙනත් අවස්ථාවල දී, අමතර සැකසුම් බොහෝ විට අවශ්‍ය නොවේ - අපි හුදෙක් තාර්කික වෙළුම් වල ස්නැප්ෂොට් සාදන්නෙමු, පසුව ඒවා මූල ගොනු පද්ධතියේ තත්වය පිළිබඳ සැණරුවක් මෙන් සකසනු ලැබේ. දත්ත ලබාගත් පසු, පින්තූර මකා දමනු ලැබේ.

උපස්ථ ගබඩා සේවාදායකයේ වැඩිදුර කටයුතු සිදු කරනු ලැබේ:

  • එක් එක් ගබඩාවේ අවසන් උපස්ථය පරීක්ෂා කරනු ලැබේ,
  • දත්ත රැස්කිරීමේ ක්‍රියාවලිය අවසන් වී ඇති බව පෙන්නුම් කරමින් ලකුණු ගොනුවක් තිබීම පරීක්ෂා කරනු ලැබේ,
  • දත්ත අනුරූප දේශීය පරිමාවට පුළුල් වේ
  • ටැග් ගොනුව මකා ඇත

සේවාදායක ප්රතිසාධන ක්රියාවලිය

ප්‍රධාන සේවාදායකය මිය ගියහොත්, සමාන කැපවූ සේවාදායකයක් දියත් කරනු ලැබේ, එය කිසියම් සම්මත රූපයකින් ආරම්භ වේ. බොහෝ විට බාගත කිරීම ජාලය හරහා සිදුවනු ඇත, නමුත් සේවාදායකය සකසන දත්ත මධ්‍යස්ථාන කාර්මිකයාට මෙම සම්මත රූපය වහාම තැටි එකකට පිටපත් කළ හැකිය. බාගත කිරීම RAM වෙත සිදු වේ, පසුව ප්‍රතිසාධන ක්‍රියාවලිය ආරම්භ වේ:

  • මියගිය සේවාදායකයේ මූල ගොනු පද්ධතිය අඩංගු තාර්කික පරිමාවකට iscsinbd හෝ වෙනත් සමාන ප්‍රොටෝකෝලයක් හරහා බ්ලොක් උපාංගයක් ඇමිණීමට ඉල්ලීමක් කරනු ලැබේ; මූල ගොනු පද්ධතිය කුඩා විය යුතු බැවින්, මෙම පියවර මිනිත්තු කිහිපයකින් සම්පූර්ණ කළ යුතුය. ඇරඹුම් කාරකය ද ප්රතිෂ්ඨාපනය වේ;
  • දේශීය තාර්කික වෙළුම් වල ව්‍යුහය ප්‍රතිනිර්මාණය කර ඇත, dm_clone කර්නල් මොඩියුලය භාවිතයෙන් උපස්ථ සේවාදායකයෙන් තාර්කික වෙළුම් අමුණා ඇත: දත්ත ප්‍රතිසාධනය ආරම්භ වන අතර වෙනස්කම් වහාම දේශීය තැටි වෙත ලියා ඇත
  • පවතින සියලුම භෞතික තැටි සමඟ බහාලුමක් දියත් කර ඇත - සේවාදායකයේ ක්‍රියාකාරිත්වය සම්පූර්ණයෙන්ම ප්‍රතිසාධනය කර ඇත, නමුත් අඩු කාර්ය සාධනයක් සහිතව;
  • දත්ත සමමුහුර්තකරණය අවසන් වූ පසු, උපස්ථ සේවාදායකයෙන් තාර්කික වෙළුම් විසන්ධි වේ, කන්ටේනරය අක්‍රිය කර, සේවාදායකය නැවත ආරම්භ වේ;

නැවත පණගැන්වීමෙන් පසු, උපස්ථය නිර්මාණය කරන අවස්ථාවේ තිබූ සියලුම දත්ත සේවාදායකය සතුව ඇති අතර, ප්‍රතිසාධන ක්‍රියාවලියේදී සිදු කරන ලද සියලුම වෙනස්කම් ද ඇතුළත් වේ.

ලිපි මාලාවේ අනෙකුත් ලිපි

උපස්ථය, 1 කොටස: උපස්ථයක් අවශ්‍ය වන්නේ ඇයි, ක්‍රම, තාක්ෂණයන් පිළිබඳ දළ විශ්ලේෂණයක්
උපස්ථ 2 කොටස: rsync-පාදක උපස්ථ මෙවලම් සමාලෝචනය සහ පරීක්ෂා කිරීම
උපස්ථ 3 කොටස: අනුපිටපත්, අනුපිටපත් සමාලෝචනය සහ පරීක්ෂා කිරීම
උපස්ථ 4 කොටස: zbackup, Restic, borgbackup සමාලෝචනය කිරීම සහ පරීක්ෂා කිරීම
උපස්ථ 5 කොටස: Linux සඳහා Bacula සහ Veeam Backup පරීක්ෂා කිරීම
උපස්ථ: පාඨකයන්ගේ ඉල්ලීම මත කොටස: AMANDA, UrBackup, BackupPC සමාලෝචනය
උපස්ථ 6 කොටස: උපස්ථ මෙවලම් සංසන්දනය කිරීම
උපස්ථ 7 කොටස: නිගමන

අදහස් දැක්වීමේදී යෝජිත විකල්පය සාකච්ඡා කිරීමට මම ඔබට ආරාධනා කරමි, ඔබේ අවධානයට ස්තූතියි!

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න