কেভিএম দিয়ে অনলাইন ডিস্কের আকার পরিবর্তন সম্ভব?


15

আমরা কয়েকটি প্রকল্পে লিনাক্স ভার্চুয়ালাইজের জন্য কেভিএম বিবর্তন করছি। এখন পর্যন্ত সব ঠিকঠাক চলছে। তবে আমাদের প্রয়োজনীয়তার একটি হ'ল রিবুট করা বা অফলাইনে না নিয়ে কোনও চলমান অতিথির সাথে ডিস্কের স্থান যুক্ত করার ক্ষমতা। কেভিএম দিয়ে কি এটি সম্ভব?

আমি এখনও অবধি কেবলমাত্র খুঁজে পেয়েছি (তবে এখনও পরীক্ষা করা হয়নি) মেশিনে ডিস্ক হটপ্লাগ করার ক্ষমতা। আমি যদি এই রুটে যাই, তবে আমি সর্বদা নতুন ডিস্কটি অতিথির একটি এলভিএম ভলিউম গোষ্ঠীতে যুক্ত করতে পারি এবং তারপরে নির্বাচিত যৌক্তিক ভলিউমটি প্রসারিত করতে পারি। এই পদ্ধতির সবচেয়ে বড় ক্ষতিটি হ'ল সময়ের সাথে সাথে আমরা অতিথিদের সাথে ভেরিয়েবল সংখ্যক ভার্চুয়াল ডিস্ক রেখে যেতে পারি। "রিয়েল" ডিস্কের স্থানটি কোনও সান-এর মাধ্যমে হোস্টকে সরবরাহ করা হবে, তাই আমরা যখনই হোস্টে আরও স্থান যুক্ত করতে পারি।


(এবং "হ্যাঁ" এটি সম্ভব))
পোজ

উত্তর:


4

আমি মনে করি আপনি মেশিনটি নামিয়ে না দিয়ে যদি এটি করতে চান তবে আপনি যা উল্লেখ করেছেন তা করতে আপনি আটকে আছেন।

কেন সান এর ঠিক বাইরে ভার্চুয়াল মেশিনগুলিকে LUNs দেবে না এবং সেখানে স্থানটি পরিচালনা করবে? আপনি যদি কোনওভাবে লাইভ মাইগ্রেশনের মতো বৈশিষ্ট্য ব্যবহার করতে চান তবে এটি আরও ভাল কাজ করে।

কেভিএম কিউইএমইউ-র উপর ভিত্তি করে তাই এর সমস্ত ইমেজ ফর্ম্যাট সমর্থন সেই প্রকল্প থেকেই আসে। কেমু / কেভিএম সমর্থন করে এমন বিভিন্ন ফর্ম্যাটের আকার পরিবর্তন করার জন্য এখানে একটি দুর্দান্ত উপায় । আপনি যদি এখানে কোনও শক্ত উত্তর না পান তবে এই প্রশ্নটি জিজ্ঞাসা করার জন্য কেমু ফোরাম একটি ভাল জায়গা হবে।

আর একটি বিকল্প যা আদর্শ নাও হতে পারে তা হ'ল ড্রাইভের জন্য সত্যিকারের বৃহত কিউকিও 2 বা অন্যান্য স্পার্স ইমেজ ফর্ম্যাটটি ব্যবহার করা। সুতরাং আপনি প্রতিটি মেশিনকে ওএসের জন্য একটি ছোট ড্রাইভ এবং LVM এর অধীনে ডেটার জন্য একটি বিশাল স্পার্স চিত্র দিতে পারেন। এটি আপনাকে পরিচালনা করতে থাকা ভার্চুয়াল ড্রাইভ / চিত্রগুলির কমপক্ষে রাখে। তবে আপনি যদি 1000 টি মেশিনে এটি করেন এবং প্রত্যেকে আপনাকে যে খালি জায়গাতে দেখেন তারা আপনাকে নিয়ে যায় তবে এই পাতলা বিধান কোনও সমস্যা হতে পারে।

XEN আমি বিশ্বাস করি বর্তমানে একই সীমাবদ্ধতা রয়েছে।


আরও বিবেচনা করার সময়, আপনি যেমন উল্লেখ করেছেন তেমন অতিথির মধ্যে থেকেই সান স্টোরেজটি মাউন্ট করা সম্ভবত যাওয়ার উপায়। এবং অতিরিক্ত তথ্যের জন্য ধন্যবাদ।
Eil

পাতলা বিধান বিভাজনের কারণেও ব্যয়বহুল হতে পারে।
ওয়াজুক্স

15

আমি জানি এটি একটি পুরানো প্রশ্ন তবে সমাধানটি গুগল করার সময় আমি এটি খুঁজে পেয়েছি এবং আশা করি এটি অন্য কারও পক্ষে সহায়তা করতে পারে।

আজকের হিসাবে এটি মেশিনের হার্ড ড্রাইভের আকার পরিবর্তন করা সম্ভব। আমি এখানে একটি কাজের উপায় খুঁজে পেয়েছি:

https://bugzilla.redhat.com/show_bug.cgi?id=648594

নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করতে হবে:

  1. আপনি যে আকারটি পুনরায় আকার দিতে চান তার একটি ফাইলের নাম এবং কেভিএম ডিভাইসের নাম সন্ধান করুন:

    root@vhstage02:/data# virsh dumpxml test | xpath -e /domain/devices/disk
    Found 2 nodes in stdin:
    -- NODE --
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2" />
      <source file="/data/test.img" />
      <backingStore />
      <target dev="vda" bus="virtio" />
      <alias name="virtio-disk0" />
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0" />
    </disk>
    -- NODE --
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw" />
      <source file="/data/images/debian-8.2.0-amd64-netinst.iso" />
      <backingStore />
      <target dev="hda" bus="ide" />
      <readonly />
      <alias name="ide0-1-1" />
      <address type="drive" controller="0" bus="1" target="0" unit="1" />
    </disk>
    

আমাদের জন্য আকর্ষণীয় একটি হ'ল ডিস্ক। আপনার উচিত sourceএবং aliasব্লক করা উচিত । আমার জন্য ফাইলের নাম test.imgএবং উপনামের নাম virtio-disk0। এই নামের জন্য, আপনাকে drive-কিউমু ড্রাইভের নাম পেতে প্রস্তুত করতে হবে।

  1. এখন আমরা প্রকৃতপক্ষে qemu মনিটর ব্যবহার করে ড্রাইভটির আকার পরিবর্তন করি:

    virsh qemu-monitor-command test block_resize  drive-virtio-disk0  100G --hmp
    

নোট করুন যে ফাইলের নাম .img এক্সটেনশন এবং ড্রাইভ ছাড়াই ব্যবহার করা হয়েছিল - এটি ডিস্কের উপন্যাসে যুক্ত হয়েছিল। 100G হ'ল আমরা যে ড্রাইভটি পেতে চাই তার ফলাফল আকার

  1. মেশিনে লগইন করুন এবং পরীক্ষা করুন যে আসল আকারটি পরিবর্তন করা হয়েছে:

    root@test:~# fdisk -l
    
    Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 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
    Disklabel type: dos
    Disk identifier: 0x7e6e7f71
    
    Device     Boot  Start       End   Sectors  Size Id Type
    /dev/vda1  *      2048    499711    497664  243M 83 Linux
    /dev/vda2       501758 167770111 167268354 79.8G  5 Extended
    /dev/vda5       501760 167770111 167268352 79.8G 8e Linux LVM
    

এটাই! এখন আপনি হয় নতুন পার্টিশন তৈরি করতে পারেন বা বিদ্যমানগুলিকে পুনরায় আকার দিতে পারেন।


1
ফিরে এসে এই উত্তর যুক্ত করার জন্য ধন্যবাদ! এটি করার পুরানো পদ্ধতির চেয়ে জিনিসগুলিকে অনেক সহজ করে তোলে।
ডেভ শেরোহমান

4

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

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


2
সমস্যাটি আসলে কেভিএম-সম্পর্কিত নয়; লিনাক্স থেকে আপনি যে ডিস্কটি বুট করেছেন সেটিকে পুনরায় আকার দিতে পারবেন না। এটি শারীরিক RAID অ্যারেগুলিতেও প্রযোজ্য।
ওয়াজাক্স

3

লিনাক্স সিস্টেমটি চলার সময় ডিস্কগুলির মধ্যে স্থানান্তরিত করা সম্ভব। সীমাবদ্ধতাটি হ'ল আপনি যে ডিস্কে পার্টিশন ব্যবহার করতে পারেন তাতে পার্টিশন পরিবর্তন করতে পারবেন না ।

এটি করার জন্য আপনার মূল ফাইল সিস্টেমটি অবশ্যই একটি এলভিএমের মধ্যে থাকতে হবে, এর প্রায়শই অর্থ হল আপনার পৃথক বুট ফাইল সিস্টেম থাকতে হবে (এটি অবশ্য প্রয়োজনীয় নয়, এটি কেবল জিনিসগুলিকে সহজ করে তোলে)

নতুন ডিস্কে প্লাগিংয়ের পরে, আপনি এটিকে ভিজেএক্সেন্ডেন্ডের সাথে এলভিএমে যুক্ত করুন, রুটফেসগুলি নতুন ডিস্কে স্থানান্তরিত করতে pvmove ব্যবহার করুন, লজিক্যাল ভলিউম এবং ফাইলসিস্টেমটি প্রসারিত করতে যথাক্রমে lvextend এবং resize2fs ব্যবহার করুন তারপরে ভলিউম থেকে পুরানো ডিস্কটি অপসারণ করতে vgreduce ব্যবহার করুন গ্রুপ। একবার মুছে ফেলা হলে পুরানো ভলিউম আনপ্লাগ করা যাবে।

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

দ্রষ্টব্য: পুনরায় আকার 2 ফাইলগুলি ফাইল সিস্টেমগুলি সঙ্কুচিতও করতে পারে।


0

এটিএম সম্ভব নয়, তবে আফিক এটি বিকাশের অধীনে একটি বৈশিষ্ট্য। পরিবর্তে আপনি যা করতে পারেন তা হ'ল ভিএম থেকে কোনও আইএসসিএসআই টার্গেটের সাথে সংযোগ স্থাপন এবং সান পাশের সেই লক্ষ্যমাত্রার স্থানটি পরিচালনা করা।


আপনি যে উত্তরটি ব্যবহার করতে পারেন তার উত্তর দিয়ে আপনি প্রশ্নের উত্তর দেননি।
মেই

@ ডেভিড: এবং আপনাকে কী এমন ভাবতে বাধ্য করে এবং আমার উত্তরকে আরও নীচে নামিয়ে দেয়? আমার উত্তর কীভাবে ইস্যুটির পক্ষে কাজ করবে না?
dyasny

আপনি "সম্ভব নয় এটিএম ..." বলেছিলেন এবং তারপরে তাকে এমন একটি বৈশিষ্ট্য বলেছিলেন যা এই মুহূর্তে সম্ভব নয়। (এখন, প্রায় দুই বছর পরে, এটি অন্যরকম হতে পারে - তবে এই উত্তরটি এটি বলে না))
মেই

1
তাই দু'বছর আগে আমার তাকে বলা উচিত ছিল "দু'বছরে কি সম্ভব হবে"? আমি কি তোমার কাছে ভাববাদীর মতো দেখতে লাগছি? তারপরে হটপ্লাগিংটি বিকাশের অধীনে ছিল এবং আমি যা বলেছিলাম ঠিক তেমনটাই। তারপরে আমি ভিএম-এর সাথে স্টোরেজ সংযুক্ত করার জন্য একটি পৃথক পদ্ধতির প্রস্তাব দিয়েছিলাম, এটি সম্পূর্ণ কিমু ফিচারসেটের থেকে পৃথক। কখনও বলা হয়নি যে এটি একমাত্র পন্থা ছিল, তবে এটি একটি উপায়।
dyasny

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