কীভাবে এডাব্লুএস ইবিএসের মূলের আয়তন হ্রাস করা যায়?


16

ইসি 2 উদাহরণটি বর্ধিত করা শ্বাসের মতো সহজ (উদাহরণস্বরূপ, একটি এএমআই তৈরি করুন, এটি থেকে একটি উদাহরণ চালু করুন এবং তারপরে স্টোরেজের আকার পরিবর্তন করুন)।

তবে এটি হ্রাস করা আরও কঠিন হয়ে পড়ে। আমি একটি অ্যামাজন ওয়েব সার্ভিসেস (এডাব্লুএস) ইসি 2 ইনস্ট্যান্স ইলাস্টিক ব্লক স্টোর (ইবিএস) এর মূল ভলিউমের আকার হ্রাস করতে চাই। নেটে পুরানো উচ্চ স্তরের প্রক্রিয়াগুলির একটি দম্পতি রয়েছে। আমি যে আরও বিশদ সংস্করণটি পেয়েছি তা হ'ল স্ট্যাকওভারফ্লো প্রশ্নটির এক বছরের পুরানো উত্তর: আমি কীভাবে আমার পর্বের পরিমাণ বাড়িয়ে তুলতে পারি , পদক্ষেপগুলিতে একটি সুন্দর উচ্চ স্তর রয়েছে:

একটি নতুন ইবিএস ভলিউম তৈরি করুন যা পছন্দসই আকার (যেমন / দেব / এক্সভিডিজি)

একটি উদাহরণ চালু করুন এবং এতে দুটি ইবিএস ভলিউম সংযুক্ত করুন

ফাইল ফাইলটি পরীক্ষা করুন (মূল মূল ভলিউমের): (উদাহরণস্বরূপ) e2fsck -f / dev / xvda1

মূল মূল ভলিউম সর্বাধিক সঙ্কুচিত করুন: (উদাহরণস্বরূপ ext2 / 3/4) আকার পরিবর্তন 2fs -M -p / dev / xvda1

ডিডি দিয়ে ডেটা অনুলিপি করুন:

  • খণ্ড আকার চয়ন করুন (আমি 16 এমবি পছন্দ করি)

  • খণ্ডের সংখ্যা গণনা করুন (পুনরায় আকার 2fs আউটপুট থেকে ব্লকের সংখ্যা ব্যবহার করে): ব্লক * 4 / (শঙ্ক_সাইজ_ইন_এমবি * 1024) - সুরক্ষার জন্য কিছুটা গোল করুন

  • ডেটা অনুলিপি করুন: (উদাহরণস্বরূপ) ডিডি যদি = / dev / xvda1 ইব্‌স = 16 এম = = দেব / এক্সভিডিজি ওবস = 16 এম গণনা = 80

নতুন (ছোট) ইবিএস ভলিউমে ফাইল সিস্টেমের আকার পরিবর্তন করুন: (উদাঃ) পুনরায় আকার 2fs -p / dev / xvdg

ফাইল ফাইলটি পরীক্ষা করুন (মূল মূল ভলিউমের): (যেমন) e2fsck -f / dev / xvdg

আপনার নতুন ইবিএস মূল ভলিউমটি আলাদা করুন এবং এটি আপনার আসল দৃষ্টান্তের সাথে সংযুক্ত করুন

আমি "কীভাবে" সমাধানের ধাপে ধাপে একটি বিশদ পদক্ষেপ খুঁজে পাচ্ছি না।

আমার ইবিএস রুট ভলিউমটি এইচভিএম উবুন্টু দৃষ্টান্তের সাথে সংযুক্ত।

কোন সাহায্যের সত্যিই প্রশংসা করা হবে.


এটি দেখতে একটি দুর্দান্ত ধাপে ধাপে "কীভাবে" সমাধানের মতো দেখায়।
সিজেজোজ

ডিডি - ডিস্ক-থেকে-ডিস্কে অনুলিপি করুন ডিডি যদি = / দেব / এক্সভিডিএফ এর = / দেব / এক্সভিডিএইচ বিএস = 4 কে গণনা = 227613 ই 2fsck -f / দেব / এক্সভিএডি 1 পুনরায় আকার 2fs -p / দেব / এক্সভিডি 1
সিরকুব্যাক্স

উত্তর:


6

এডাব্লুএস কনসোলে:

  1. আপনি যে আকারটি আকার পরিবর্তন করতে চান তা বন্ধ করুন

  2. সক্রিয় ভলিউমের একটি স্ন্যাপশট তৈরি করুন এবং তারপরে সেই স্ন্যাপশট থেকে একটি "সাধারণ উদ্দেশ্য এসএসডি" ভলিউম তৈরি করুন।

  3. আপনি যে আকারটি চান তার জন্য অন্য একটি "সাধারণ উদ্দেশ্য এসএসডি" ভলিউম তৈরি করুন।

  4. এই 3 খণ্ডটি উদাহরণ হিসাবে সংযুক্ত করুন:

    • সক্রিয় ভলিউমের জন্য / dev / sda1।
    • / dev / xvdf ভলিউমের জন্য যা লক্ষ্য আকার size
    • সক্রিয় ভলিউমের স্ন্যাপশট থেকে তৈরি ভলিউমের জন্য / dev / xvdg।
  5. উদাহরণ শুরু করুন।

  6. এসএসএইচ দিয়ে নতুন দৃষ্টান্তে লগ ইন করুন।

  7. এই নতুন ডিরেক্টরি তৈরি করুন:

mkdir /source /target

  1. নতুন ভলিউমে একটি ext4 ফাইল সিস্টেম তৈরি করুন:

mkfs.ext4 /dev/xvdf

  1. এটি এই ডিরেক্টরিতে মাউন্ট করুন:

mount -t ext4 /dev/xvdf /target

  1. এটি অত্যন্ত গুরুত্বপূর্ণ, ফাইল সিস্টেমটি লিনাক্সকে এটি সনাক্ত করতে এবং এটি বুট করার জন্য একটি e2label প্রয়োজন, এটি কী হওয়া উচিত তা দেখতে একটি সক্রিয় উদাহরণে "e2label / dev / xvda1" ব্যবহার করুন, এই ক্ষেত্রে লেবেলটি হ'ল: "/"

e2label /dev/xvdf /

  1. স্ন্যাপশট থেকে তৈরি ভলিউম মাউন্ট করুন:

mount -t ext4 /dev/xvdg /source

  1. বিষয়বস্তু অনুলিপি করুন:

rsync -ax /source/ /target

দ্রষ্টব্য: "/" অনুসরণ "/ লক্ষ্য" নেই। এছাড়াও, সিমলিংক এবং অ্যাটর্সগুলি সম্পর্কে কয়েকটি ত্রুটি থাকতে পারে, তবে পুনরায় আকারটি সফল ছিল

  1. ফাইল সিস্টেমের পরিমাণ:

umount /target
umount /source

  1. এডব্লিউএস কনসোলে ফিরে যান: দৃষ্টান্তটি বন্ধ করুন এবং সমস্ত খণ্ড আলাদা করুন।

  2. উদাহরণ হিসাবে নতুন আকারের ভলিউমটি সংযুক্ত করুন: "/ dev / sda1"

  3. উদাহরণটি শুরু করুন এবং এটি বুট করা উচিত।

পদক্ষেপ 10 গুরুত্বপূর্ণ : উপরে উল্লিখিত হিসাবে "e2label" দিয়ে নতুন ভলিউম লেবেল করুন, বা দৃষ্টান্তটি বুটতে প্রদর্শিত হবে তবে সংযোগ পরীক্ষাটি পাস করবে না।


9
আমি এই পদক্ষেপগুলি বেশ কয়েকবার দৌড়েছি (উবুন্টু 14.04) এবং যতবার আমি নতুন ভলিউম সংযুক্ত করি, উদাহরণটি কেবল থামে। এই সমস্যাটি অন্য কেউ? এই আমার মস্তিষ্ক racking হয়!
থিসিডিগিটি

2
তুমি শুধু একা নও. আমি এটি এবং অন্যান্য সমাধানগুলি চেষ্টা করেছি এবং আপনার ভাল আত্মার মতো, আমার উদাহরণটিও বন্ধ হয়ে যায়।
প্রতারণাপূর্ণ

1
@ ব্লেয়ারমিস্টার আমার একই সমস্যা ছিল তবে এটি কাজ করতে সক্ষম হয়েছে! যদি আপনি এখনও আটকে থাকেন তবে নীচে আমার উত্তরটি একবার দেখুন:
রুবেন সেরেট

আমার ই 2 লেবেল ক্লাউডিমগ-রুটফস ... এই সমস্ত পদক্ষেপগুলি অনুসরণ করে আমি উবুন্টু 14.04 এ নিশ্চিত করতে পারি যে কাজ করে না
NineCattoRules

1
ব্যবহারকারীদের অসাবধানতা ক্ষতি থেকে রক্ষা করার জন্য এটি কোনও ভলিউমের (বুট ভলিউমের মতো) যথেষ্ট পরিমাণে ব্যবহারের ক্ষেত্রে কভার দেয় না বলে আমি এই উত্তরটিকে নিম্নমুখী করছি।
জেসি অ্যাডেলম্যান 16

6

যদি ভলিউমটি রুট (বুটেবল) ডিভাইস হিসাবে ব্যবহৃত হয় তবে অন্য কোনও সমাধানের কাজ করবে না।

নতুন তৈরি ডিস্কে বুট পার্টিশনটি অনুপস্থিত, সুতরাং উদাহরণস্বরূপ এটি রুট ভলিউম হিসাবে ব্যবহার করার আগে GRUB ইনস্টল করা উচিত এবং কিছু পতাকা সঠিকভাবে সেট আপ করা দরকার।

আমার (আজকের হিসাবে, কাজ করা ) একটি মূল ভলিউম সঙ্কুচিত করার সমাধানটি হ'ল:

পটভূমি: আমাদের একটি এ আছে, যার মূল ভলিউম সঙ্কুচিত করতে চাই। আসুন এই ভলিউম ভিএ কল করুন। আমরা 10 জিবি বলতে 30 জিবি থেকে ভিএ সঙ্কুচিত করতে চাই

  1. উদাহরণ এ এর ​​একই ওএস সহ একটি নতুন ই সি 2 উদাহরণ বি, তৈরি করুন, স্টোরেজ হিসাবে, ভিএর মতো একই ধরণের ভলিউম চয়ন করুন, তবে 10 জিবি আকারের সাথে। (বা আপনার টার্গেটের আকার যাই হোক না কেন)। সুতরাং এখন আমাদের কাছে একটি দৃষ্টান্ত বি রয়েছে যা এই নতুন ভলিউমটিকে (আসুন একে VB বলুন) রুট ভলিউম হিসাবে ব্যবহার করে।
  2. একবার নতুন দৃষ্টান্ত (খ) চলছে। এটি বন্ধ করুন এবং এর মূল ভলিউম (VB) আলাদা করুন।

দ্রষ্টব্য: নীচের পদক্ষেপগুলি বেশিরভাগ @ বিল এর সমাধান থেকে নেওয়া:

  1. আপনি যে আকারটি পুনরায় আকার দিতে চান তা বন্ধ করুন (এ)।

  2. ভলিউম ভিএর একটি স্ন্যাপশট তৈরি করুন এবং তারপরে সেই স্ন্যাপশট থেকে একটি "সাধারণ উদ্দেশ্য এসএসডি" ভলিউম তৈরি করুন। এই ভলিউমটিকে আমরা VASNAP বলব।

  3. অ্যামাজন লিনাক্স সহ একটি নতুন উদাহরণ স্পিন করুন, আমরা এই উদাহরণটি সি বলব আমরা কেবলমাত্র এই উদাহরণটি VASNAP এর সামগ্রীগুলি ভিবিতে অনুলিপি করতে ব্যবহার করব। আমরা সম্ভবত এই পদক্ষেপগুলি করতে উদাহরণ এ ব্যবহার করতে পারি, তবে আমি এটি একটি স্বাধীন মেশিনে করতে পছন্দ করি।

  4. উদাহরণস্বরূপ সি / ডিভ / এক্সভিডিএফ-তে নিম্নলিখিত খণ্ডগুলি সংযুক্ত করুন B VASNAP এর জন্য / dev / xvdg।

  5. পুনরায় বুট করুন সি।

  6. এসএসএইচ এর মাধ্যমে সি সি ইন লগ ইন করুন।

  7. এই নতুন ডিরেক্টরি তৈরি করুন:

mkdir /source /target

  1. একটি ext4 ফাইল সিস্টেমের সাহায্যে VB- র মূল পার্টিশনটি ফর্ম্যাট করুন:

mkfs.ext4 /dev/xvdf1

আপনি যদি কোনও ত্রুটি না পান তবে পদক্ষেপ ১১ এ যান Otherwise অন্যথায়, আপনার যদি না থাকে তবে আপনার /dev/xvdf1নিম্নলিখিত আই-ভিআই করে পার্টিশনটি তৈরি করতে হবে:

i) যদি /dev/xvdf1কোনও কারণে অস্তিত্ব না থাকে তবে আপনার এটি তৈরি করা দরকার। প্রথমে প্রবেশ করুন:

sudo fdisk /dev/xvdf

ii) প্রবেশ করে ডিস্ক মুছুন: wipefs

iii) প্রবেশ করে একটি নতুন পার্টিশন তৈরি করুন: n

iv) pপ্রাথমিক পার্টিশন তৈরি করতে প্রবেশ করান

v) ডিফল্ট সেটিংস চালিয়ে যেতে এন্টার টিপুন।

vi) যখন এটি আবার কোনও আদেশের জন্য জিজ্ঞাসা করবে, wপরিবর্তন লিখতে লিখুন এবং প্রস্থান করুন।

vii) /dev/xvdf1পার্টিশনটি করে যাচাই করে নিন: lsblk

আপনার কিছু দেখতে হবে:

NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  250G  0 disk
└─xvda1 202:1    0  250G  0 part
xvdf    202:80   0   80G  0 disk
└─xvdf1 202:81   0   80G  0 part 
xvdg    202:96   0  250G  0 disk
└─xvdg1 202:97   0  250G  0 part

এখন 11 ধাপে এগিয়ে যান।

  1. এটি এই ডিরেক্টরিতে মাউন্ট করুন:

mount -t ext4 /dev/xvdf1 /target

  1. এটি অত্যন্ত গুরুত্বপূর্ণ, ফাইল সিস্টেমটি লিনাক্সকে এটি সনাক্ত করতে এবং এটি বুট করার জন্য একটি e2label প্রয়োজন, এটি কী হওয়া উচিত তা দেখতে একটি সক্রিয় উদাহরণে "e2label / dev / xvda1" ব্যবহার করুন, সেক্ষেত্রে এই লেবেলটি রয়েছে: "/"

e2label /dev/xvdf1 /

  1. উত্স / উত্স উপর VASNAP মাউন্ট:

mount -t ext4 /dev/xvdg1 /source

  1. বিষয়বস্তু অনুলিপি করুন:

rsync -vaxSHAX /source/ /target

দ্রষ্টব্য: "/" অনুসরণ "/ লক্ষ্য" নেই। এছাড়াও, সিমলিংক এবং অ্যাটর্সগুলি সম্পর্কে কয়েকটি ত্রুটি থাকতে পারে, তবে পুনরায় আকারটি সফল ছিল

  1. পরিমাণ ভিবি:

umount /target

  1. এডাব্লুএস কনসোলে ফিরে আসুন: উদাহরণ সি থেকে ভিটি বিচ্ছিন্ন করুন, এবং এ থেকে ভিএ বিচ্ছিন্ন করুন

  2. উদাহরণ হিসাবে নতুন আকারের ভলিউম (VB) সংযুক্ত করুন: "/ dev / xvda"

  3. বুট দৃষ্টান্ত এ, এখন এটির মূল ডিভাইসটি 10 ​​জিবি :)

  4. বি এবং সি উভয় দৃষ্টান্ত এবং সমস্ত ভলিউম ছাড়াও ভিবি, মুছে ফেলুন যা এখন এ এর ​​মূল ভলিউম।


আপনার ওএস কি?
NineCattoRules

@ নাইনেকিটোরিলস অ্যামাজন লিনাক্স
রুবেনের সেরেট

আমি উবুন্টু 14.04 এ চেষ্টা করেছি এবং এটি কাজ করে না
NineCattoRules

@ নেটগেটোআরুলস অউচ ... আমি নিশ্চিত করতে পারি যে এটি অ্যামাজন লিনাক্সের জন্য কাজ করে, সম্প্রতি এটি করতে হয়েছিল।
রুবেনের সেরেট

1
আমরা কি 17 টি পদক্ষেপে ভলিউমটি /dev/sda1@ /dev/xvdaরুবেনসারেটের অন্তর্নির্মিত জায়গায় সংযুক্ত করব না ?
আল্পার

2

নিম্নলিখিত পদক্ষেপগুলি আমার জন্য কাজ করেছিল

পদক্ষেপ 1. রুট ebs ভলিউমের স্ন্যাপশট তৈরি করুন এবং স্ন্যাপশট থেকে নতুন ভলিউম তৈরি করুন (আসুন এই ভলিউম-অনুলিপি কল করুন)

পদক্ষেপ 2. পছন্দসই আকারের ebs মূল ভলিউম সহ নতুন উদাহরণ তৈরি করুন। (আসুন আমরা এই ভলিউমকে পুনরায় আকার দেওয়া বলি) এই ebs ভলিউমে বুট করার জন্য সঠিক বিভাজন থাকবে। (স্ক্র্যাচ থেকে নতুন ebs ভলিউম তৈরি করা আমার পক্ষে কার্যকর হয়নি)

পদক্ষেপ 3. একটি উদাহরণে ভলিউম-পুনরায় আকার এবং ভলিউম-অনুলিপি সংযুক্ত করুন।

পদক্ষেপ 4. ভলিউম-পুনরায় আকার ফর্ম্যাট করুন।

sudo fdisk -l
    sudo mkfs -t ext4 /dev/xvdf1

দ্রষ্টব্য: পার্টিশনের ভলিউম সন্নিবেশ করা হয়েছে /dev/xvdf1তা নিশ্চিত করুন/dev/xvdf

পদক্ষেপ 5. মাউন্ট ভলিউম-পুনরায় আকার এবং ভলিউম-অনুলিপি এমকেডির / এমএনটি / কপি এমকেডির / এমএনটি / পুনরায় আকার

sudo mount /dev/xvdh1 /mnt/copy
sudo mount /dev/xvdf1 /mnt/resize

পদক্ষেপ 6. ফাইলগুলি অনুলিপি করুন

rsync -ax /mnt/copy/ /mnt/resize

পদক্ষেপ En. ই 2 লেবেলটি রুট ভলিউমের মতোই রয়েছে তা নিশ্চিত করুন

sudo E2label /dev/xvdh1 > cloudimg-rootfs
sudo E2label /dev/xvdf1 cloudimg-rootfs

পদক্ষেপ 8. নতুন ভলিউম ইউডিড মেলানোর জন্য ভলিউম-কপির উপর grub.conf আপডেট করুন

Ubid /boot/grub/grub.cfg- এ অনুসন্ধান এবং প্রতিস্থাপন করুন

ubuntu@server:~/mnt$ sudo blkid
/dev/xvdh1: LABEL="cloudimg-rootfs" UUID="1d61c588-f8fc-47c9-bdf5-07ae1a00e9a3" TYPE="ext4"
/dev/xvdf1: LABEL="cloudimg-rootfs" UUID="78786e15-f45d-46f9-8524-ae04402d1116" TYPE="ext4"

পদক্ষেপ 9. আনমাউন্ট ভলিউম

পদক্ষেপ 10. উদাহরণস্বরূপ / dev / sda1 এ নতুন পুনরায় আকারিত EBS ভলিউম সংযুক্ত করুন


1
গ্রাব ইউইউডি আপডেটের সাথে @ রূবেন সেরেট উত্তরের সংমিশ্রণটি আমার পক্ষে কাজ করেছে।
জোনাথন মাইম

ছোট্ট নোট যেমন আমি কিছুটা সময় নষ্ট করেছি: রিটার্ন blkidব্যতীত চালানো sudoসেগুলির ফলাফলকে বৈধতা না দিয়ে ক্যাশে করে। সুতরাং এটি দেখতে ইউআইডির মত পরিবর্তন হয়নি।
আখিল নাইয়ার

0

এখানে একটি বিকল্প পদ্ধতি;

একটি চলমান ইসি 2 ইভেন্টে পুরানো EBS ভলিউম সংযুক্ত করুন এবং মাউন্ট করুন। আপনি যদি বুটের ভলিউমটি অনুলিপি করতে চান, তবে পুরানো ভলিউমটি ডেটা হিসাবে মাউন্ট করা, ভলিউমটি লাইভ সিস্টেম হিসাবে ব্যবহার না করে, অন্য কোনও ক্ষেত্রে করা ভাল।

পছন্দসই আকারের একটি নতুন ইবিএস ভলিউম তৈরি করুন।

উদাহরণে নতুন ভলিউম সংযুক্ত করুন এবং (সাবধানে) এর উপর একটি নতুন ফাইল সিস্টেম ফর্ম্যাট করুন (উদাহরণস্বরূপ, mkfs ব্যবহার করে)। এটি মাউন্ট।

পুরানো ফাইল সিস্টেমের সামগ্রীটি পুরানো ভলিউম থেকে নতুন ভলিউমে অনুলিপি করুন:

rsync -vaxSHAX /oldvol/ /newvol/

নতুন ভলিউম আনমাউন্ট করুন এবং এটিকে উদাহরণ থেকে আলাদা করুন।

আপনি যদি মূল ফাইল সিস্টেমটি অনুলিপি করে থাকেন তবে:

নতুন ভলিউমের একটি ইবিএস স্ন্যাপশট তৈরি করুন।

নতুন এএমআই হিসাবে স্ন্যাপশট নিবন্ধন করুন।


0

নীচের নিবন্ধটি কীভাবে ইবিএস ভলিউমের আকার হ্রাস করা যায় সে সম্পর্কে একটি ভাল এবং সহজবোধ্য টিউটোরিয়াল। এটিতে ধাপে ধাপে গাইড এবং স্ক্রিনশটগুলি অনুসরণ করা সহজ।

আপনার ইসি 2 ইভেন্টে ইবিএস ভলিউমের আকার হ্রাস করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.