প্রশ্ন কেন ইসি 2 ইউবুন্টু ইমেজ swap না?


আমি EC2 এ একটি দম্পতি সার্ভার শুরু এবং তারা swap আছে না।

আমি কি কিছু ভুল করছি নাকি মেশিনে শুধু কিছু নেই?


74
2018-01-04 21:53


উত্স


আমিও ওকে বিস্মিত করেছিলাম, কিন্তু আমি শুধু একটি ইবিএস ইনস্ট্যান্স সেট আপ করেছি, এটি swap হিসাবে ফর্ম্যাটেড, এবং swapon / dev / sdg ... - Tom O'Connor
এটিও সাধারণত, এসএসডি ড্রাইভে এসএসডি ড্রাইভ ব্যবহার করে এসএসডি ড্রাইভে সোয়াপ সেটআপ না করার ক্ষেত্রে। প্রায়শই কিছু লোক প্যারানোড হয় কারণ এটি এসএসডি এর স্টোরেজ লাইফের উপর নেতিবাচক প্রভাব ফেলবে, একই সময় সেক্টরগুলির একই সেটকে ড্রিল করে। - djangofan
কি AMI এবং যা ইসি 2 উদাহরণ আকার। সোয়াপ বিভাজন ব্যবহার করার জন্য AMI কনফিগার করা প্রয়োজন এবং শুরু করার সময় এটির যোগ করা উচিত। - Jeremy Bouse
যদি সম্ভব হয় তবে আমি ইসি 2 তে সোয়াপ ব্যবহার না করার পরামর্শ দিচ্ছি যদি না আপনি 99% নিশ্চিত না হন তবে আপনাকে এটি ব্যবহার করতে হবে না (I.E. এটি শুধুমাত্র জরুরী অবস্থার জন্য)। যখন আমরা আমাদের EC2 দৃষ্টান্তগুলির অনেকে সোয়াপ নিষ্ক্রিয় করি আমাদের মাসিক ইবিএস আইওও খরচ সম্ভবত হেলভ করা হয়। শুধু দুটো সেন্ট আপনাকে দুই সেন্ট সংরক্ষণ করতে - হ্যাঁ যে ভয়ানক ছিল, আমি ক্ষমাপ্রার্থী এবং একটি কোণায় গোপন করা হবে;) - Smudge
আপনি এই পদক্ষেপ দেখতে পারে docs.aws.amazon.com/AWSEC2/latest/UserGuide/... - Artem.Borysov


উত্তর:


আপনি সঠিক, উবুন্টু ইসি 2 ইবিএস ছবি কনফিগার করা সোয়াপ স্পেসের সাথে আসে না (জন্য 11.04 অন্তত). "নিয়মিত" ইনস্ট্যান্স-টাইপ ইমেজগুলির একটি স্য্যাপ পার্টিশন আছে, যদিও আমি পরীক্ষিত একমাত্র 896 মেগাবাইট।

যদি কিছু প্রক্রিয়া হঠাৎ করে এবং আপনার কাছে সোয়াপ স্থান না থাকে তবে OOM killer kicks হওয়ার আগে আপনার সার্ভারটি একটি ক্রলিং স্থগিত করতে পারে, যখন সোয়াপের সাথে এটি কেবল ধীর হয়ে যায়। এই কারণে, আমি সর্বদা RAM এর সাথে স্য্যাপ স্পেস থাকতে চাই। এখানে আপনার বিকল্পগুলি রয়েছে:

  • একটি EBS ভলিউম তৈরি করুন (আপনার RAM এর আকারের 2-4 গুণ), এটি আপনার ইনস্ট্যান্সে সংযুক্ত করুন (আমি এটি / ডেভি / xvdm কে "মেমরি" হিসাবে কল করতে পছন্দ করি) sudo mkswap /dev/xvdm, fstab এটি যোগ করুন, sudo swapon -a, এবং আপনি যেতে ভাল। আমি আগে এটি করেছি এবং এটি জরিমানা কাজ করে, তবে সম্ভবত এটি ইনস্ট্যান্স স্টোরের চেয়ে কিছুটা ধীরে ধীরে এটি নেটওয়ার্কে চলে যায়।

  • অথবা আপনি আপনার ডিস্কটি একটি সোয়াপ পার্টিশন যোগ করার জন্য পুনরায় পার্টিশন করতে সক্ষম হবেন, যদিও এটি একটি নতুন AMI তৈরি করতে পারে। আমি চলমান ইনস্ট্যান্সে এটি করতে সক্ষম নই, কারণ আমি রুট ফাইল সিস্টেম আনমাউন্ট করতে পারছি না, এবং আমার ডিস্কে ডিভাইস (/ dev / xvda), এমনকি পার্টিশন (xvda1) অ্যাক্সেস নেই।

  • অথবা আপনি একটি সোয়াপ ফাইল তৈরি করতে পারেন। এই মুহূর্তে আমার পছন্দসই সমাধান।

    sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048 &&
    sudo chmod 600 /var/swapfile &&
    sudo mkswap /var/swapfile &&
    echo /var/swapfile none swap defaults 0 0 | sudo tee -a /etc/fstab &&
    sudo swapon -a
    

    সম্পন্ন. :) আমি জানি অনেক লোক পার্টিশনের পরিবর্তে ফাইল ব্যবহার সম্পর্কে icky মনে করে, তবে এটি অবশ্যই জরুরী swap space হিসাবে যথেষ্ট ভাল কাজ করে।


70
2018-06-12 14:46



একটি EBS ভলিউম থেকে সোয়াপিং অতিরিক্ত উত্তর হিসাবে, অন্যান্য উত্তর দ্বারা নির্দেশিত হতে পারে। সোয়াপ ব্যবহার করে না, অথবা একটি ইনস্ট্যান্স স্টোরে সোয়াপিং ভাল সমাধানের মতো মনে হয়। - isuldor
ইনস্ট্যান্স স্টোর ব্যবহার করে ইবিএস এর চেয়ে ভাল বিকল্প। ইবিএস একটি নেটওয়ার্ক ফাইল সিস্টেম, তাই অন্য সবকিছুর মতো একই নেটওয়ার্ক সংযোগে EC2 ইনস্ট্যান্সের সাথে সংযোগ করে। ইনস্ট্যান্স স্টোরটি এমন ইনস্ট্যান্সের সাথে সংযুক্ত থাকে যা ইনস্ট্যান্স হোস্ট করছে (এটি থামানো এবং আপনার ইনস্ট্যান্স চালু করার সময় এটি স্থির থাকে না)। ইবেস যখন সোয়াপের জন্য একটি বিকল্প হয় তখন আপনি যখন একটি উদাহরণ টাইপ ব্যবহার করেন তখন উদাহরণস্বরূপ স্টোরেজ হয় না। T1.micro (যা এটি শুধুমাত্র প্রায় 620 মেগাবাইট RAM থাকে) সম্ভবত এটিই জরুরি সোয়াপ)। - ColtonCat
বিএস = 1 এম ইতিমধ্যে বাইনারি নোটেশনে রয়েছে, তাই গণনা = 2048 গুণক গণনা করা উচিত = 2000 - যদি আমি ভুল না হয়। - ypocat
আপনি 2 জিআইবি জন্য যাচ্ছেন, তাহলে 1024 * 2048 সঠিক বলে মনে হচ্ছে। - Jo Liss


IMHO স্যুইপের জন্য সেরা অবস্থান উদাহরণ-স্টোর। কেন? এডব্লিউএস আপনাকে ইনস্ট্যান্স স্টোরে আই / ও জন্য চার্জ করে না। এছাড়া, ইনস্ট্যান্স স্টোরটি অনেক ক্ষেত্রে ইবিএস এর চেয়ে বেশি কার্যকরী। আপনি যদি ইনস্ট্যান্সটি বন্ধ করে দেন তবে সোয়াপ ফাইলটি পুনঃচেষ্টা করে এমন একটি স্ক্রিপ্ট রয়েছে তা নিশ্চিত করুন। Reboots জরিমানা। ওহ কেন এটা ডিফল্ট দ্বারা নেই?

চলুন ইনস্ট্যান্স দোকান খুঁজে।

root@domU-**-**-**-**-**-**:/var/log# fdisk -l

[...]

Disk /dev/xvda2: 160.1 GB, 160104972288 bytes
255 heads, 63 sectors/track, 19464 cylinders, total 312705024 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/xvda2 doesn't contain a valid partition table

Hurray, 160.1 গিগাবাইট বিনামূল্যে! আপনার ইএবি-ভিত্তিক সোয়াপ ভুল দ্বারা swarmed হয় যখন আপনার সার্ভার রাখুন এবং সার্ভার প্রতি 100 $ overages ভুলবেন। দুর্ভাগ্যজনক অভিজ্ঞতা এখানে কথা বলা।

দৃশ্যত কিছু ক্ষেত্রে আপনি ইনস্ট্যান্স দোকান দেখতে না।

ইনস্ট্যান্স টাইপের উপর নির্ভর করে, আপনাকে প্রথমে ব্লক-ডিভাইস-ম্যাপিং বিকল্পগুলি ব্যবহার করে ইনস্ট্যান্স স্টোর ভলিউমগুলিকে ইনস্ট্যান্সে সংযুক্ত করতে হবে। যদি আপনি এটি না করেন তবে আপনি ডিভাইসগুলি / dev এর অধীনেও দেখতে পাবেন না (অনুযায়ী কিভাবে Amazon এর EC2 এ "ইনস্ট্যান্স স্টোর ভলিউম" স্টোরেজ ব্যবহার করবেন?)


22
2017-11-24 18:57



শুধু বিনামূল্যে টায়ারের t1.micro ব্যবহারকারীদের এই বিকল্পটি ব্যবহার করতে পারে না তা নির্দেশ করতে চাই। - Reuben L.


বিঃদ্রঃ: আমাজন তাদের পরিবর্তন করেছে মূল্য নীতি, এবং ২016 সালের মাঝামাঝি সময়ে আই / ও অনুরোধগুলির জন্য চার্জ নেই। উত্তরটি ঐতিহাসিক কারণে এখানে রাখা হয়েছে, তবে EC2 EBS- ব্যাকডেড ইনস্ট্যান্সগুলির উপর সোয়াপ ব্যবহারের (বা ব্যবহার না করা) কোনও খরচ প্রভাব নেই।


20
2017-10-21 06:53



এই উত্তরটি কিছুটা বিভ্রান্তিকর বা বিভ্রান্তিকর, যেহেতু সবচেয়ে সাধারণ উদাহরণগুলি এসএসডি ভলিউম ব্যবহার করে। aws.amazon.com/ec2/instance-types - Taylor Edmiston
@ এডমিস্টন: প্রকৃতপক্ষে, এই উত্তরটি আর প্রযোজ্য নয়। আমি নতুন বাস্তবতা প্রতিফলিত করার জন্য সমন্বয় করেছি, তবে মূলত আই / ও অনুরোধগুলির জন্য কোনও চার্জ নেই, তাই সোয়াপ (বা না) সক্ষম করা এখন একটি বিশুদ্ধ প্রযুক্তিগত ভিত্তিতে তৈরি করা যেতে পারে। - Gui Ambros


চেক /etc/fstab ফাইল, সম্ভবত আপনি ব্যবহার করছেন ইমেজ মধ্যে স্যুইপ ছাড়া সেট আপ করা হয়েছিল। আমি মনে করি কিছু লোক সার্ভারগুলির জন্য স্যাপ ছাড়াই চালায় কারণ তারা আশা করে না যে তারা সর্বমোট মেমরির চেয়ে বেশি ব্যবহার করবে না - সোয়াপিং সবকিছুই ধীর গতির করে তোলে।

যাইহোক, আমি সর্বদা মেমরির বেলুনিংয়ের কিছু প্রক্রিয়া সম্পর্কে প্যারানোড, তাই আমি মনে করি এটি কেবলমাত্র একটি সোয়াপ ড্রাইভ সেটআপ করা এবং চলমান ec2 ইনস্ট্যান্স থেকে একটি চিত্র পুনরুত্পাদন করা আপনার পক্ষে বিবেচিত হবে।


1
2018-01-05 21:09



মাঝে মাঝে সোয়াপিং সিস্টেম ধীর করে না। - laebshade


চলমান একটি সহজ সমাধান swap মধ্যে EC2 ছবি চালানো হয় swap সঙ্গে সংকুচিত lz4 মধ্যে ram সঙ্গে zram-init

  • সেবা স্ক্রিপ্ট জন্য অনুপলব্ধ systemd & openrc

এই সমাধান করে না গ্রহণ করা ram দূরে host:

enter image description here


0
2017-08-24 08:14



খুব সৃজনশীল, কিন্তু আপনার RAM ব্যবহার করবেন না কারণ প্রকৃত RAM রুপে একটি মেমরি ফাইল-সিস্টেম হিসাবে এটি ব্যবহার করার চেয়ে আরও বেশি জ্ঞান করে? (যা মেমরি শেষ হয়ে গেলে প্রাথমিকভাবে ব্যবহৃত হয়) অ্যাপ্লিকেশনগুলির জন্য উপলব্ধ মেমরির পরিমাণ হ্রাস করা প্রতিক্রিয়াশীল মনে হয় ... - HBruijn
আকর্ষণীয় উত্তর, কিন্তু আমি মনে করি EBS / instance store ব্যবহার করে সম্ভবত একটি ভাল সাধারণ উদ্দেশ্য সমাধান। আমার 5২ এমবি র্যাম রয়েছে এবং 5২ এমবি সোয়েপ রয়েছে যা ইবিএসে ভাল কাজ করে। - Tim