Centos 7 অবিকৃত স্থান সহ পার্টিশন প্রসারিত করুন


16

আমার সেন্টোস 7 সার্ভার রয়েছে (CentOS Linux release 7.3.1611 (Core))যখন আমি আমার সার্ভারটি আপডেট করেছিলাম ত্রুটিটি দেখেছি আপনার অতিরিক্ত স্থানের দরকার। আমি যখন ডিস্কের স্পেসগুলি পরীক্ষা করেছিলাম তখন সার্ভারে আমার কাছে 20 গিগাবাইট ডিস্ক ছিল এবং আমি দেখলাম যে কেবলমাত্র 4.5 গিগাবাইট পার্টিশন তৈরি হয়েছে এবং 16 জিবি পার্টিশনটি নিখরচায় মুক্ত স্থান। আমি কীভাবে 16 গিগাবাইট ফাঁকা স্থান থেকে পার্টিশন প্রসারিত করতে পারি?

lsblk:

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

এখানে চিত্র বর্ণনা লিখুন


উত্তর:


22

এখানে তিনটি পদক্ষেপ রয়েছে:

  1. আপনার পার্টিশন টেবিলটি পরিবর্তন করুন যাতে sda2ডিস্কের শেষে শেষ হয়
  2. পার্টিশন টেবিলটি পুনরায় পড়ুন (পুনরায় বুট লাগবে)
  3. আপনার LVM পিভি ব্যবহার করে পুনরায় আকার দিন pvresize

পদক্ষেপ 1 - পার্টিশন টেবিল

চালান fdisk /dev/sdapআপনার বর্তমান পার্টিশন টেবিলটি মুদ্রণের জন্য ইস্যু করুন এবং সেই আউটপুটটিকে কিছু নিরাপদ স্থানে অনুলিপি করুন। এখন দ্বিতীয় পার্টিশন সরানোর জন্য ইস্যুটি dঅনুসরণ করুন 2nএকটি নতুন দ্বিতীয় পার্টিশন তৈরি করতে ইস্যু । নিশ্চিত হয়ে নিন যে আপনি প্রিন্ট করা পার্টিশন সারণির শুরু সমান হতে পারে। ডিস্কের শেষে (সাধারণত ডিফল্ট) শেষ হয় কিনা তা নিশ্চিত হয়ে নিন।

ইস্যু tদ্বারা অনুসরণ 2দ্বারা অনুসরণ 8e8E আপনার নতুন দ্বিতীয় পার্টিশন বিভাগের টাইপ (লিনাক্সের LVM- র) টগল করতে।

ইস্যু pআপনার নতুন পার্টিশন বিন্যাস পর্যালোচনা এবং নিশ্চিত নতুন দ্বিতীয় পার্টিশন শুরুর ঠিক যেখানে পুরাতন দ্বিতীয় পার্টিশন ছিল না।

যদি সব কিছু ঠিক থাকে, wপার্টিশন টেবিলটি ডিস্কে লিখতে ইস্যু করুন । পার্টপ্রোব থেকে আপনি একটি ত্রুটি বার্তা পাবেন যে পার্টিশন টেবিলটি পুনরায় পড়া সম্ভব হয়নি (কারণ ডিস্কটি ব্যবহার হচ্ছে)।

আপনার সিস্টেমটি পুনরায় বুট করুন

এই পদক্ষেপটি প্রয়োজনীয় তাই পার্টিশন টেবিলটি পুনরায় পড়তে পারে।

এলভিএম পিভি পুনরায় আকার দিন

আপনার সিস্টেম পুনরায় বুট করার পরে pvresize /dev/sda2। আপনার শারীরিক এলভিএম ভলিউমটি এখন বাকী ড্রাইভটি বিস্তৃত করবে এবং আপনি সেই স্থানটিতে লজিকাল ভলিউম তৈরি বা প্রসারিত করতে পারবেন।


একটি দুর্দান্ত সমাধান, এটি পুরোপুরি কাজ করে। লজিকাল ভলিউম প্রসারিত করার জন্য এখনও কেবলমাত্র অংশ।
মিমোনি

1
এই দুর্দান্ত উত্তরটি ফিনিস লাইনের খুব অল্প সময়েই বন্ধ হয়ে গেল! আমি কীভাবে এটি শেষ করব তা বুঝতে পেরেছি। প্রশ্নে ভাগ করা উদাহরণটি নীচে দুটি লজিকাল ভলিউম দেখিয়েছে sda2: centos-rootএবং centos-swap। এই ক্ষেত্রে, ভলিউম গ্রুপটি centosএবং সেই গোষ্ঠীর ভিতরে দুটি লজিকাল ভলিউম হয় rootএবং swap। যদি আমরা centos-rootআমাদের সতেজ-বর্ধিত sda2পার্টিশনে উপলব্ধ স্থানের 50% দিয়ে এই উদাহরণে ভলিউমটি প্রসারিত করতে চাই , আমরা ব্যবহার করব lvextend -r -l +50%FREE /dev/centos/root-rঅন্তর্নিহিত ফাইল সিস্টেম বর্ধিত লজিক্যাল ভলিউম মেলে পরিবর্তন করা হবে।
শাদোনিনজা

@ শাদোনিনজা এটি মূল প্রশ্নের বাইরে নয়। সুতরাং আমি এটি যুক্ত করিনি এবং ভবিষ্যতে এটি এ প্রশ্নের সাথে যুক্ত করব না।
Andreas Rogge

@ অ্যান্ড্রেয়াসরোগ আমি যুক্তি দিয়ে বলব যে পুরোপুরি এই প্রশ্নের আওতার মধ্যে রয়েছে কারণ এই স্থানের পরিভাষা বিভ্রান্তিকর এবং সহজেই লড়াই করতে পারে। ফাইল সিস্টেমের দ্বারা কীভাবে অননুমোদিত ডিস্কের স্থান ব্যবহারযোগ্য সে সম্পর্কে একটি সম্পূর্ণ সংক্ষিপ্ত বিবরণ পোস্ট করা উপযুক্ত যেহেতু লোকেরা এই প্রশ্নটি খুঁজে পাওয়ার জন্য এটি একটি সাধারণ কারণ হবে।
শাদোনিনজা

14

আপনি সেন্টোস reb এ রিবুট না করে এটি করতে পারেন your আপনার ডিস্কটি / dev / vda এবং মানক RHEL / CentOS পার্টিশন হিসাবে ধরে নেওয়া:

পার্টিশন প্রসারিত করুন

# fdisk /dev/vda

pআপনার প্রাথমিক পার্টিশন টেবিল প্রিন্ট করতে প্রবেশ করুন ।

বিদ্যমান পার্টিশন সংজ্ঞা মুছে dফেলতে (মুছুন) প্রবেশ করুন ( 2পার্টিশন 1 সাধারণত / বুট হয় এবং পার্টিশন 2 সাধারণত মূল পার্টিশন হয়)।

প্রবেশ করুন n(নতুন) এর পরে p(প্রাথমিক) অনুসরণ করুন 2পার্টিশন নম্বর 2 পুনরায় তৈরি enterকরতে এবং স্টার্ট ব্লকটি গ্রহণ করুন এবং enterআবার ডিস্কের শেষে ডিফল্ট হওয়া শেষের ব্লকটি গ্রহণ করুন।

লিখুন t(টাইপ) তাহলে 2তারপর 8e"লিনাক্স LVM- র" নতুন পার্টিশনের ধরনের পরিবর্তন।

pআপনার নতুন পার্টিশন টেবিলটি মুদ্রণের জন্য প্রবেশ করুন এবং তা নিশ্চিত করুন যে উপরের প্রিন্ট করা প্রাথমিক পার্টিশন টেবিলের সাথে প্রারম্ভিক ব্লকটি মেলে।

wডিস্কে পার্টিশন টেবিল লিখতে লিখুন । আপনি এমন একটি ত্রুটি দেখতে পাবেন Device or resource busyযা সম্পর্কে আপনি উপেক্ষা করতে পারেন।

মেমরি পার্টিশন টেবিলের কার্নেল আপডেট করুন

আপনার পার্টিশন টেবিলটি পরিবর্তন করার পরে, মেমরি পার্টিশন টেবিলের কার্নেলটি আপডেট করতে নিম্নলিখিত কমান্ডটি চালান:

# partx -u /dev/vda

শারীরিক আয়তনের আকার পরিবর্তন করুন

অতিরিক্ত স্থান সনাক্ত করতে পিভিটিকে পুনরায় আকার দিন

# pvresize /dev/vda2

এলভি এবং ফাইল সিস্টেমের আকার পরিবর্তন করুন

এই কমান্ডে centosপিভি rootহয়, এলভি /dev/vda2হয় এবং বিভাজনটি প্রসারিত হয়েছিল। আপনার শারীরিক এবং লজিক্যাল ভলিউমের নামগুলি যদি আপনি তাদের না জানেন তবে তা ব্যবহার করতে pvsএবং lvsআদেশগুলি ব্যবহার করুন। -rএই কমান্ড বিকল্প ফাইলসিস্টেম উপযুক্তভাবে পরিবর্তন করা যাতে আপনি কল করতে হবে না resize2fsবা xfs_growfsআলাদাভাবে।

# lvextend -r centos/root /dev/vda2

আরও জটিল উত্তর তারপর "নির্বাচিত উত্তর" এক!
ফুরকত ইউ

এটা অসাধারণ. ধন্যবাদ! এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। আমি lv এবং ফাইল সিস্টেমকে পুনরায় আকার দেওয়ার সর্বশেষ পদক্ষেপটি মিস করছিলাম!
স্কিনার 927

4

যারা আমার মতো লজিক্যাল ভলিউম প্রসারিত করতে সমস্যায় পড়ছেন, তাদের এই পোস্টটি পড়তে সহায়তা হতে পারে। সংক্ষেপে, আপনি lvextendআপনার লজিকাল ভলিউমটি প্রসারিত করতে ব্যবহার করতে পারেন : lvextend -l +<PE> <LV_PATH> আপনি অবশিষ্ট পিই ( <PE>) দ্বারা সংখ্যাটি vgdisplayপেতে এবং দ্বারা আপনার লজিকাল ভলিউমের পাথ পেতে পারেন ( LV_PATH) দ্বারা lvdisplay

তারপরে আপনার বিতরণের উপর নির্ভর করে আপনি হয় xfs_growfs <LV_PATH>(সেন্টোস 7) বা resize2fs <LV_PATH>অবশেষে আকার পরিবর্তন করতে চান।


0

এটি দেখুন - একক লাইনে সমস্ত কিছুই, কোনও প্রশ্ন নেই:

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2

আপনার ব্যাখ্যা এবং আপনার পরিবেশ যুক্ত করার কথা বিবেচনা করা উচিত। উদাহরণস্বরূপ, আমার পার্টেক্সের বিকল্প নেই -u(Centos6.7 ইউজার-লিনাক্স-এনজি-2.17.2-12.28.el6)।
বুপ

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