লাইভসিডি বা পুনরায় বুট না করে ফেডোরায় রুট এলভিএম পার্টিশনকে কীভাবে পুনরায় আকার দিন


24

আমার একটি ভার্চুয়াল মেশিন রয়েছে যা সম্প্রতি এর ডিস্ক চিত্রটি 20GB থেকে 50GB-তে বেড়েছে এবং fdisk -lভিএম এই নতুন আকারটি দেখতে পারে কিনা তা যাচাই করে। অতিরিক্ত 30 জিবি পূরণ করার জন্য এখন আমার রুট এলভিএম পার্টিশনটির আকার পরিবর্তন করতে হবে।

আমি এলভিএমকে পুনরায় আকার দেওয়ার বিষয়ে বেশ কয়েকটি নিবন্ধ পেয়েছি , তবে মূল বিভাজনকে পুনরায় আকার দেওয়ার ক্ষেত্রে কয়েকটি লাইভসিডি থেকে বুট করার দরকার পড়ে claim সার্ভারটি নামিয়ে না দিয়ে এটি করার কোনও উপায় আছে কি? সার্ভারটি গুরুত্বপূর্ণ, তাই আমি ডাউনটাইম কমিয়ে আনতে চাই।

সম্পাদনা: এর আউটপুট fdisk -l:

[root@fedora-host ~]# sudo fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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: 0x00097c90

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    83886079    41430016   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 36.1 GB, 36104568832 bytes
255 heads, 63 sectors/track, 4389 cylinders, total 70516736 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/mapper/VolGroup-lv_root doesn't contain a valid partition table

Disk /dev/mapper/VolGroup-lv_swap: 6308 MB, 6308233216 bytes
255 heads, 63 sectors/track, 766 cylinders, total 12320768 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/mapper/VolGroup-lv_swap doesn't contain a valid partition table

সম্পাদনা করুন: আমি কীভাবে শারীরিক পার্টিশনটির আকার পরিবর্তন করব? fdisk মুক্ত স্থান দেখতে পারে, তবে এটি ব্যবহারের জন্য প্রাথমিক LVM পার্টিশনটিকে কীভাবে আকার পরিবর্তন করতে হয় তা আমি জানি না। আমি একটি লাইভসিডি বুট করার চেষ্টা করেছি এবং পার্টেডড resizeকমান্ডটি ব্যবহার করে চেষ্টা করেছি , তবে এটিই আমাকে দেয় "ফাইল সিস্টেম সনাক্ত করতে অক্ষম" ত্রুটি। আমি এই গাইডটি পেয়েছি , যা বলেছে যে পার্টিশনটি মুছতে এবং সঠিক আকারের সাথে একটি নতুন তৈরি করা আমার দরকার , তবে এটি খুব বিপজ্জনক বলে মনে হচ্ছে।

চূড়ান্ত সম্পাদনা: পার্টেড resizeকমান্ড অদ্ভুতভাবে LVM পার্টিশনগুলির আকার পরিবর্তন করতে অক্ষম। চিত্রে যান. পরিবর্তে, আমি কেবল পুরানো পার্টিশনটি মুছে ফেলেছি এবং উপরের লিঙ্কে বর্ণিত হিসাবে নতুন পরিসীমা সহ একটি নতুন তৈরি করেছি এবং এটি সঠিকভাবে এলভিএম বিভাজনকে পুনরায় আকার দিয়েছে। তারপরে আমি LVM পার্টিশনের অভ্যন্তরে ভলিউম এবং ফাইল-সিস্টেমগুলির আকার পরিবর্তন করতে নীচের পরামর্শ অনুসরণ করেছি followed


আমাদের এফডিস্ক - আউটপুট প্রদর্শন করুন। আপনি কেবলমাত্র ভলিউমটিই নয় পার্টিশনের আকার পরিবর্তন করলেন?
জোরেডেচি

@ জোরেদাছে, আমি সেই আউটপুটটিকে প্রশ্নের সাথে যুক্ত করেছি।
সেরিন

উত্তর:


32

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

  1. pvresize /dev/sda2(আপনার এলভিএম পার্টিশনটি ধরে নিচ্ছেন sda2required প্রয়োজনীয় হিসাবে প্রতিস্থাপন করুন))
  2. lvextend /dev/mapper/root -l+100%FREE (বা, আপনার মূল লজিকাল ভলিউম যাই হোক না কেন।)
  3. resize2fs /dev/mapper/root (অনুমান 2/3/4)

1
আমি ব্যক্তিগতভাবে পছন্দ করি lvextend -L [size][unit] /dev/group/volume, কেবলমাত্র যদি আমি নির্দিষ্ট করে 10 গিগাবাইট বাড়িয়ে দিতে পারি-L +10G
হুবার্ট কারিও

হ্যাঁ, তবে ওপি জিজ্ঞাসা করেছিল; Now I need to resize my root LVM partition to fill the extra 30GB.(যেটি উপলভ্য বিনামূল্যে স্থানের দ্বারা যৌক্তিক আয়তনের বৃদ্ধি করা।)
অ্যারন কোপালি

"নতুন আকার (1076 এক্সটেন্টস) বিদ্যমান আকারের সাথে মিলছে (1076 এক্সটেন্টস)"
সেরিন

7
আমি ভাবলাম এই কৌশলটি পরিষ্কার ছিল: আপনি যদি -rবিকল্পটি যুক্ত করেন তবে lvextendএটি fsadmএফএসকে পুনরায় আকার দেবে। এটি তৃতীয় ধাপকে রিডানড্যান্ট করে তুলবে।
Jodie সি

3
দ্রষ্টব্য এই উত্তরটি ধরে নিয়েছে পার্টিশনটি ইতিমধ্যে ফাঁকা স্থান পূরণ করার জন্য প্রসারিত হয়েছে এবং কেবলমাত্র লজিক্যাল ভলিউম আপডেট করা দরকার। pvresize /dev/sda2কমান্ড, / dev / sda2 পার্টিশন পর্যন্ত কিছুই বিভক্ত বা fdisk সঙ্গে মাপ পরিবর্তন করা হয়েছে না। আমার সিস্টেমে বিভাজক হিসাবে আমার এফডিস্কের সাথে আমার মাপ পরিবর্তন করতে হবে কারণ এতে পুনরায় আকার কমান্ড নেই বা নেই। Fdisk রাইজাইয়ে পার্টিশন মোছা এবং পুনরুদ্ধার করা জড়িত।
জেসন

2

আপনার সিস্টেমটি কি সত্যিই 20 থেকে 50 জিবি থেকে পরিবর্তন হয়েছে? এটি সত্যই অদ্ভুত বলে মনে হচ্ছে যেহেতু আপনার sda2 ডিভাইসটি 40 জিবি ডলার, lv_root 36GB দেখায় এবং অদলবদল 6GB দেখায়।

আপনার আউটপুট fdisk -lশো মোট খাতে /dev/sdaহয় 104857600। গত দ্বারা ব্যবহৃত খাতের /dev/sda2হয় 83886079। এটি আমাকে বলে যে আপনি ড্রাইভে সমস্ত উপলব্ধ স্থান ব্যবহার করার জন্য পার্টিশন আকারটি সামঞ্জস্য করেন নি। Pvresize কমান্ড পার্টিশন টেবিল পরিবর্তন করে না। আপনাকে প্রথমে পার্টিশন সারণী পরিবর্তন করতে হবে।


1

জিপিআরটি ইনস্টল করুন। রুট হিসাবে চালান (রিমোট থাকলে ssh -X বা x2go ব্যবহার করুন)। পার্টিশনটি নির্বাচন করুন। এটি শেষ (ডানদিকে) অতীত ফাঁকা স্থান প্রদর্শন করা উচিত। যদি এটি না হয় তবে ভার্চুয়াল ডিভাইসের নতুন আকার দেখতে আপনার ভার্চুয়াল মেশিনটি পুনরায় চালু করতে হবে। এটি সিস্টেমেড সহ ন্যূনতম ডাউনটাইম হওয়া উচিত।

রাইট ক্লিক করুন এবং পুনরায় আকার নির্বাচন করুন। ডিস্কের শেষ প্রান্তে টেনে আনুন। নিশ্চিত করুন যে আপনি শুরুটি স্পর্শ করবেন না। জিপিটার্ট পুনরায় আকার দেওয়ার সময় একটি পার্টিশন স্থানান্তর করতে সক্ষম, তবে এটি অবশ্যই একটি চলমান সিস্টেমকে ধ্বংস করবে। তবে শেষ সরিয়ে নেওয়া ঠিক আছে। পার্টিশনটি প্রসারিত করছেন এবং না সরানোর বিষয়টি নিশ্চিত করার জন্য জিপিডে অপেক্ষারত অপারেশনটি পর্যালোচনা করুন perform প্রয়োগ ক্লিক করুন। জিপিআর্ট্ড ডিস্কে পার্টিশন পরিবর্তন করবে, তারপরে পার্টিশন টেবিলটি পুনরায় পড়তে কার্নেল ioctl জারি করবে, লাইভ ব্লক ডিভাইসের আকারও পরিবর্তন করবে। তারপরে, যেহেতু এটি দেখে এটি একটি এলভিএম পিভি, তাই এটি আপনার জন্য প্রভিসাইজ চালায়। জিপ্টার্ড থেকে প্রস্থান করুন এবং vgs এখন আপনার নতুন স্থান দেখায়।

আমি গুজব শুনেছি যে বিভক্তরা কোনও জিইউআইয়ের ওভারহেড ছাড়াই এটি করতে পারে তবে আমি কখনও ভুডু বের করতে সক্ষম হইনি। পার্টেডটি আমি ব্যবহার করার চেষ্টা করেছি এমন সবচেয়ে খারাপ সিএলআই ইন্টারফেসগুলির মধ্যে একটি হতে হবে।

Fdisk ব্যবহার করবেন না, আপনাকে পুনরায় আকার দেওয়ার জন্য পার্টিশনটি মুছে ফেলতে হবে এবং পুনঃনির্ধারণ করতে হবে এবং ডিফল্টরূপে এটি লেখায় LVM2 স্বাক্ষর মুছবে। আমি মনে করি যে ধ্বংসাত্মক আচরণটি বন্ধ করার জন্য আমি একটি "উন্নত" বিকল্পটি দেখেছি, তবে আমি এটি কখনও পরীক্ষা করে দেখিনি।

আপনি সিএফডিস্ক চেষ্টা করতে পারেন (এফডিস্ককে অভিশাপ দিন)। এটির একটি ব্যবহারযোগ্য পার্টিশন আকার পরিবর্তন করতে পারে। ম্যানুয়ালি pvresize চালানো যথেষ্ট সহজ, এবং পার্টিশন টেবিলটি পুনরায় পড়তে কার্নেলকে বলতে একটি কমান্ড রয়েছে। তবে এটি এলডিএম এর স্বাক্ষরটি fdisk এর মতো মুছে না তা নিশ্চিত করার জন্য আমাকে পরীক্ষা করতে হবে।


0

যদি LVM দৈহিক ভলিউমটি কোনও পার্টিশনে থাকে তবে আপনি পুনরায় বুট না করে এটিকে পুনরায় আকার দিতে পারবেন না।

আপনি ড্রাইভে পার্টিশন টেবিল সম্পাদনা করতে পারেন, তবে লিনাক্স আপনি পুনরায় বুট না করা পর্যন্ত এটি ব্যবহার করতে অস্বীকার করবে।

আপনি যদি এক্সএফএস ব্যবহার করছেন তবে স্যুইচ resize2fsকরুন xfs_growfs

ব্যবহার করে আপনি ভলিউম গ্রুপের মধ্যে PVs আপনি ব্যবহার এবং LVs প্রদর্শন করতে পারেন pvsএবং lvs

কাঁচা ডিস্কে পিভি

pvresize /dev/sda
lvextend /dev/<volume-group>/<lv-name> -L +<size>G
resize2fs /dev/<volume-group>/<lv-name>

একটি পার্টিশনের পিভি

প্রথমে পার্টিশন, ব্যবহার মাপ পরিবর্তন করতে হবে parted, fdiskঅথবা যে জন্য অনুরূপ হাতিয়ার। মনে রাখবেন যে tools সরঞ্জামগুলি কেবলমাত্র পার্টিশন যেখানে রয়েছে তার বিবরণটি সম্পাদন করে, তারা ডেটা আশেপাশে সরায় না। অন্য কথায়, সহজেই আপনি ডিস্কে কেবলমাত্র শেষ পার্টিশনটি প্রসারিত করতে পারেন। তারপরে আপনার মেশিনটি পুনরায় বুট করুন এবং তারপরে আপনি LVM কে জানাতে সক্ষম হবেন যে এতে অতিরিক্ত জায়গা উপলব্ধ রয়েছে:

pvresize /dev/sda2
lvextend /dev/<volume-group>/<lv-name> -L +<size>G
resize2fs /dev/<volume-group>/<lv-name>

একটি জিপিআরড লাইভ সিডি ব্যবহার করে sudo pvresize /dev/sda2"1 দৈহিক ভলিউম (গুলি) পুনরায় আকার দেওয়া" প্রতিবেদন করে, তবে sudo lvextend /dev/mapper/VolGroup-lv_root -L +10G"অপর্যাপ্ত ফ্রি স্পেস: 320 এক্সটেন্ট প্রয়োজন, তবে কেবল 0 উপলব্ধ" ত্রুটিটি ব্যর্থ করে। sudo fdisk -lআমার কাছে 54G উপলব্ধ রয়েছে এমন sudo pvdisplayপ্রতিবেদন রয়েছে , যখন কেবল 40G ব্যবহার করা হয়। লভেক্সেন্ড কেন ব্যর্থ হচ্ছে?
সেরিন

1
@ ক্যারিন, আপনি পার্টিশনে কোনও পিভির জন্য হুবার্টস প্রথম বিবৃতিটি মিস করেছেন। প্রথমে আপনাকে পার্টিশনটির আকার পরিবর্তন করতে হবে, তার জন্য পার্টড, এফডিস্ক বা অনুরূপ সরঞ্জাম ব্যবহার করতে হবে
জোরডাচি

@ জোরেদাছে, ঠিক আছে, আসলে এটিই আমার সম্পূর্ণ প্রশ্ন। আমি কিভাবে জানি না। আমি সবেমাত্র একটি জিপার্টেড লাইভসিডি বুট করেছি এবং resizeপ্রাথমিক পার্টিশনের আকার বাড়ানোর জন্য পার্টেড কমান্ডটি ব্যবহার করার চেষ্টা করেছি , তবে এটি "ফাইল সিস্টেম সনাক্ত করতে পারে না" ত্রুটিটি দিয়েছিল। পার্টড বা এফডিস্ক ব্যবহার করে পার্টিশনটি কীভাবে আকার পরিবর্তন করবেন?
সেরিন

@ কেরিন: এসএফ অনুসন্ধান করুন বা অন্য একটি প্রশ্ন জিজ্ঞাসা করুন
হুবার্ট কারিও

0

আমি যদি এসএসএম (সিস্টেম-স্টোরেজ-ম্যানেজার) আপনার ডিস্ট্রোতে পাওয়া যায় তা পরীক্ষা করে বিবেচনা করব।

আরও কিছু তথ্যের জন্য এটি দেখুন htt /unix//a/293173

এসএসএম নিজেকে সবকিছু না করে লজিক্যাল ভলিউমের আকার পরিবর্তন করা সহজ করে বলে মনে হয়।

আমার ওএস রিবুট করার পরে এবং প্রথমে মূল হিসাবে লগ ইন করার পরে আমি এটির সাথে আমার হোম পার্টিশনটি বাড়িয়ে দিতে সক্ষম হয়েছি। (মোট দুইবার রিবুট করতে হয়েছিল, তবে এটি শেষ পর্যন্ত কাজ করেছিল এবং আমার / হোম পার্টিশনে আমার কাছে এখন অতিরিক্ত 50 জি পাওয়া যায়))


0

25 টি কিভাবে সংযুক্ত করার পরে, আমার অবশেষে এই সমাধান আছে। এটির জন্য কোনও লাইভ সিডি প্রয়োজন নেই, এটি পুরোপুরি উড়ে।

পদক্ষেপ 1. বিভাজক (কোন gui) দিয়ে পার্টিশন ফর্ম্যাট করুন। এই উদাহরণে ডিস্কের সর্বোচ্চ আকারটি ভার্চুয়াল বাক্সে 8BG থেকে 32 গিগাবাইটে বেড়েছে।

    # parted
       ....
       Number   Begin   End     Size     Type     FileSystem       Flags
         1      1049kB  1075MB  1074MB   primary  ext4             boot
         2      1075MB  8590MB  7515MB   primary                   lvm
       ....
    (parted) mkpart primary ext2 8590 100%
       ....
       Number   Begin   End     Size     Type     FileSystem       Flags
         1      1049kB  1075MB  1074MB   primary  ext4             boot
         2      1075MB  8590MB  7515MB   primary                   lvm
         3      8590MB  34,4GB  25,8GB   primary  ext2             lba
       ....
    (parted) set 3 lvm on
    (parted) set 3 lba off
    (parted) print
       ....
         3      8590MB  34,4GB  25,8GB   primary  ext2             lvm
       ....
    (parted) quit

পদক্ষেপ 2. নতুন পার্টিশনের উপর ভিত্তি করে একটি শারীরিক ভলিউম তৈরি করুন

# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.

পদক্ষেপ 3. ভলিউম গ্রুপে শারীরিক ভলিউম যুক্ত করুন। একটি সরল ফেডোরা 28 সার্ভারে ভলিউম গ্রুপকে ইনস্টল করা হয় ফেডোরা।

# vgextend fedora /dev/sda3
  Volume group "fedora" successfully extended

পদক্ষেপ 4. লজিকাল ভলিউমে ভলিউম গ্রুপের উপলব্ধ স্থান যুক্ত করুন। একটি সরল ফেডোরা 28 সার্ভারে লজিক্যাল ভলিউম ইনস্টল করা হয় তাকে রুট বলে।

# lvextend -l+100%FREE /dev/fedora/root
  Size of logical volume fedora/root changed from <6,20 GiB (1586 extents) to 30,19 GiB (7729 extents).
  Logical volume fedora/root successfully resized.

পদক্ষেপ 5. অতিরিক্ত স্থান ব্যবহার করতে লজিক্যাল ভলিউমে ফাইল সিস্টেমটি বলুন। ফেডোরায় ফাইল সিস্টেমটি এক্সএফএস হয়।

মনোযোগ! xfs_growfs ফাইল সিস্টেম সনাক্ত করার জন্য মাউন্ট পয়েন্ট ব্যবহার করে, df আউটপুটে আপনি যে ফাইল সিস্টেম আবিষ্কার করেন তার নাম নয় !!!!!!!

'Xfs_growfs / dev / mapper / fedora-root' কমান্ডটি আপনাকে বলবে / dev / mapper / ফেডোরা-রুট মাউন্ট করা এক্সএফএস ফাইল সিস্টেম নয়। আপনি যদি অন্য কোনও ফাইল সিস্টেম ব্যবহার করেন তবে https://www.tldp.org/HOWTO/LVM-HOWTO/extendlv.html দেখুন

# xfs_growfs /
    data blocks changed from 1624064 to 7914496

পদক্ষেপ 6. উপভোগ করুন

# df
FileSystem               1K-blocks      Used   Available used% Mounted on
....
/dev/mapper/fedora-root   31647744   6492840    25154904  21% /
/dev/sda1                   999320    125576      804932  14% /boot
....

-1

টেস্টডিস্ক চেষ্টা করুন

sudo dnf ইনস্টল টেস্টডিস্ক

sudo টেস্টডিস্ক

একটি লগ ফাইল তৈরি করুন সেট করুন তারপরে এটি পার্টিশনের তালিকা তৈরি করবে - মিডিয়া / পার্টিশন নির্বাচন করুন - তারপরে টাইপ করুন - এবং বিশ্লেষণ করুন - দ্রুত অনুসন্ধান - নির্বাচন করুন এবং লিখুন

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