আমি কীভাবে একটি এলভিএম এবং এতে থাকা শারীরিক ভলিউম এবং লজিক্যাল ভলিউম সহ একটি পার্টিশন প্রসারিত করব?


33

আমার 240 জিবি এসএসডি-তে আমার প্রথম দুটি পার্টিশন ছিল, একটিতে লিনাক্স মিন্টের সাথে লজিকাল ভলিউম এবং অন্যটিতে উইন্ডোজের সাথে ভাগ করার জন্য একটি এনটিএফএস বিভাজন ছিল। এখন আমি এনটিএফএস পার্টিশনটি সরিয়েছি এবং প্রকাশিত ডিস্কের স্থানটি ব্যবহার করতে আমার লজিক্যাল ভলিউম গ্রুপটি প্রসারিত করতে চাই।

আমি কীভাবে ভলিউম গ্রুপ , আমার লজিক্যাল ভলিউম / হোম এবং ফাইল সিস্টেম (এক্সট 4) / বাড়ীতে বাড়িয়ে দেব ? এটি কি অনলাইনে করা সম্ভব?

পিএস: হ্যাঁ, আমি জানি যে আমার ডেটা ব্যাকআপ করতে হবে :)

/dev/sdb/  (240GB)
    linuxvg  (160GB) should use 100% of the disk space
        swap
        root
        home (ext4, 128GB) should be extended to use the remaining space

এর আউটপুট sudo vgdisplay:

  --- Volume group ---
  VG Name               linuxvg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               160,00 GiB
  PE Size               4,00 MiB
  Total PE              40959
  Alloc PE / Size       40959 / 160,00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               ...

  --- Logical volume ---
  LV Path                /dev/linuxvg/swap
  LV Name                swap
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:32 +0200
  LV Status              available
  # open                 2
  LV Size                8,00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/linuxvg/root
  LV Name                root
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:43 +0200
  LV Status              available
  # open                 1
  LV Size                24,00 GiB
  Current LE             6144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

  --- Logical volume ---
  LV Path                /dev/linuxvg/home
  LV Name                home
  VG Name                linuxvg
  LV UUID                ...
  LV Write Access        read/write
  LV Creation host, time mint, 2013-08-06 22:48:57 +0200
  LV Status              available
  # open                 1
  LV Size                128,00 GiB
  Current LE             32767
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

  --- Physical volumes ---
  PV Name               /dev/sdb1     
  PV UUID               ...
  PV Status             allocatable
  Total PE / Free PE    40959 / 0

এর আউটপুট sudo fdisk -l:

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 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

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1   468862127   234431063+  ee  GPT

Disk /dev/mapper/linuxvg-swap: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders, total 16777216 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/linuxvg-root: 25.8 GB, 25769803776 bytes
255 heads, 63 sectors/track, 3133 cylinders, total 50331648 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/linuxvg-home: 137.4 GB, 137434759168 bytes
255 heads, 63 sectors/track, 16708 cylinders, total 268427264 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

2
ওয়েল, সহজ উপায় হ'ল এনটিএফএস vgextendপার্টিশনটি পুরোপুরি পার্টিশন মুছে ফেলার পরিবর্তে কেবল এনটিএফএস বিভাজনকে ব্যবহার এবং ব্যবহার করা সম্ভব হত use পরিবর্তে যদি আপনি বিদ্যমান পিভি পার্টিশনটি বৃদ্ধি করেন তবে সম্ভবত আপনাকে পুনরায় বুট করতে হবে, কারণ ডিস্ক ব্যবহারের সময় লিনাক্স পার্টিশন টেবিলটি পুনরায় পড়তে অস্বীকার করে। এই অনলাইনে চারপাশে কাজ করা জটিল। - দয়া করে আপনার বর্তমান পার্টিশন টেবিলটি দেখান।
frostschutz

প্রয়োজনে আমি রিবুট করতে পারি।
ক্লিংটনেট

উত্তর:


44

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

আপনি পুনরায় আকার দিতে চান এমন ফাইল সিস্টেমে চলার সময় আপনি এই পুরো প্রক্রিয়াটি করতে পারেন (হ্যাঁ, এটি নিরাপদ এবং সম্পূর্ণ সমর্থিত)। রেসকিউ সিডি বা বিকল্প অপারেটিং সিস্টেমের প্রয়োজন নেই।

  1. পার্টিশনটির পুনরায় আকার দিন (আবার, আপনি সিস্টেমটি চলমান অবস্থায় এটি করতে পারেন)। জিপিআর্ট ব্যবহার করা সহজ এবং আকার পরিবর্তনকে সমর্থন করে।
    আপনি নিম্ন স্তরের সরঞ্জাম যেমন ব্যবহার করতে পারেন fdisk। তবে আপনাকে পার্টিশনটি মুছতে হবে এবং এটি পুনরায় তৈরি করতে হবে। নতুন পার্টিশনটি ঠিক একই জায়গায় শুরু হওয়ার সাথে সাথে এটি করার সময় নিশ্চিত হয়ে নিন।
  2. পুনরায় বুট করুন। যেহেতু চলমান সিস্টেমে পার্টিশন টেবিলটি পরিবর্তন করা হয়েছিল, এটি পুনরায় বুট না হওয়া পর্যন্ত কার্যকর হবে না।
  3. চালান pvresize /dev/sdXYLVM- র নতুন স্থান কুড়ান আছে।
  4. এর সাথে যৌক্তিক ভলিউমের আকার পরিবর্তন করুন lvextend। আপনি যদি পুরো জিনিসটি ব্যবহার করতে চান lvextend -r -l +100%FREE /dev/VGNAME/LVNAME,। -rপাশাপাশি ফাইলসিস্টেম মাপ পরিবর্তন করতে হবে।
    যদিও আমি সর্বদা পুরো ভলিউম গ্রুপটি ব্যবহার করার বিরুদ্ধে সুপারিশ করি। ভবিষ্যতে আপনার কী প্রয়োজন তা আপনি কখনই জানেন না। আপনি সর্বদা পরে প্রসারিত করতে পারেন, আপনি সঙ্কুচিত করতে পারবেন না।

3
আমি আপনার উত্তরটি মানতে চাই, তবে আপনার পরামর্শ মতো আমি কাজ করি নি, কারণ জিপিআর্ট চলমান সিস্টেমে মূল পার্টিশনের আকার পরিবর্তন করতে পারে না (কমপক্ষে আমার ক্ষেত্রে)।
ক্লিংটনেট

@ হালসগোস্ট আমি আপনার সম্পাদনাটি উল্টে দিয়েছি। partprobe -sআপনি যা ভাবেন তা করে না। কার্নেলটি ব্যবহৃত একটি পার্টিশনের আকার পরিবর্তন করবে না। partprobe -sপুনরায় আকারের সময় পার্টিশনটি ব্যবহার করা হলে (তাই fdisk কার্নেলকে অবহিত করার পরে এটি ব্যর্থ হয়েছে) কাজ করে তবে এটি আর হয় না।
প্যাট্রিক

@ পেট্রিক, আমি এর জন্য ধারণা যুক্ত করিনি; ব্যাকটিক্সে কমান্ডটি রেখে আমি সম্পাদনাটি "উন্নত" করেছি (কোডের জন্য যুদ্ধ মজুরি পলায়ন করে!)।
হালোসঘস্ট

ওহ, দুঃখিত, ভুল ইতিহাসের ঘটনাটি নামটি পড়ুন। @ কিটেশ যা আপনার ক্ষেত্রে প্রযোজ্য :-)
প্যাট্রিক

1
পার্টিশনের আকার আপডেট করার জন্য কার্নেলটিকে জানাতে, "পার্টেক্স-ইউ" ব্যবহার করে পুনরায় বুট করা সম্ভব নয়: এমনকি সক্রিয় পার্টিশনেও কাজ করে এবং /sys/.../sdXY/size পরীক্ষা করে যাচাই করা যেতে পারে এবং এর আগে এবং পরে।
এবি

11

উত্তরের কোনওটিই এলভিএমের ক্ষমতায় বিচার করে না।

(এটি উপরের প্রশ্নের @ ফ্রস্টছুটজ মন্তব্যের উপর ভিত্তি করে))

আসুন সত্যগুলি পাওয়া যাক:

  • ওপির দুটি পার্টিশন রয়েছে, এসডিবি 1 এবং এসডিবি 2 এলভিএমের জন্য একটি ভৌত ​​ভলিউম।
  • sdb1 এখনই এনটিএফএস, আমাদের সেই স্থানটি ভলিউম গ্রুপের মধ্যে homeলজিক্যাল ভলিউমকে দেওয়া দরকার linuxvg

"ব্যবহারিক উপায়" ব্যবহার করে LVM পদক্ষেপ:

  • sdb1 এ শারীরিক ভলিউম তৈরি করুন: pvcreate /dev/sdb1
  • এতে এসডিবি 1 যুক্ত করুন linuxvg:vgextend linuxvg /dev/sdb1
  • homeসমস্ত মুক্ত স্থান সহ লজিকাল ভলিউম প্রসারিত করুন :lvextend -l +100%FREE /dev/linuxvg/home
  • ext4 এফএস প্রসারিত করুন: resize2f /dev/linuxvg/home

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

বাড়ি -> লিনাক্সভিগ -> (এসডিবি 1, এসডিবি 2, এসডিসি 1)

http://tldp.org/HOWTO/LVM-HOWTO/createvgs.html


10

এই ব্লগ পোস্টটি পড়ে প্রশ্নটি সমাধান করা হয়েছিল solved আমি সমাধানটি সংক্ষিপ্ত আকারে লিখব:

  • লাইভ সিডি সহ বুট করুন
  • ব্যবহার করুন gdisk(যদি আপনি জিপিটি ব্যবহার করেন) অন্যথায় আপনি ভাল পুরানো সাথে যেতে পারেনfdisk
  • আমার ক্ষেত্রে আপনার পার্টিশন সেটিংস নোট করুন gdisk -l /dev/sdb
  • এর সাথে আপনার পার্টিশনটি মুছুন
  • পূর্ববর্তীটির মতো ঠিক একই প্রান্তিককরণের সাথে একটি নতুন পার্টিশন তৈরি করুন (আমার উদাহরণে ব্লক 2048 থেকে শুরু হওয়া)
  • আপনার নতুন পার্টিশন টেবিল লিখুন
  • partprobe -sরিবুট ছাড়াই পার্টিশন টেবিলটি রিফ্রেশ করতে চালান
  • pvresize /dev/sdb1আপনার পিভি যেখানে বা যেখানেই রয়েছে তার সাথে আপনার শারীরিক ভলিউমটির আকার পরিবর্তন করুন ( pvsআপনি না জানেন কিনা তা নির্ধারণ করতে ব্যবহার করুন )
  • lvextend -l +100%FREE /dev/file/of/your/lvআমার ক্ষেত্রে এখন আপনার লজিকাল ভলিউমটির আকার পরিবর্তন করুনsudo lvextend -l +100%FREE /dev/linuxvg/home
  • ফাইল সিস্টেমকে পুনরায় আকার দিন sudo resize2fs /dev/linuxvg/home
  • প্রথমে ধারাবাহিকতা পরীক্ষা করুন sudo e2fsck -f /dev/linuxvg/home
  • উপভোগ করুন :)

প্রকৃতপক্ষে আপনি প্রায় অর্ধেক পদক্ষেপগুলি কেটে ফেলতে পারেন এবং এটি কেবল 1 রিবুট দিয়ে করতে পারেন।
প্যাট্রিক

জিপিআর্ট পার্টিশনের আকার পরিবর্তন করতে অস্বীকার করেছিল, কারণ এটি লক হয়ে গেছে (এই মূল প্রতীক)।
ক্লিংটটনেট

4

ইতিমধ্যে কিছু দুর্দান্ত উত্তর।

আপনি যদি xfs ব্যবহার করেন তবে আপনি কমান্ডটি ব্যবহার করেন

xfs_growfs /mountpoint

পরিবর্তে আকার পরিবর্তন 2fs। মাউন্টপয়েন্টটি সক্রিয় থাকা অবস্থায় আপনি এটি করতে পারেন যেমন আপনি মূল বিভাজনটি বাড়িয়েছেন এবং আপনাকে পুনরায় বুট করার দরকার নেই।

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