libvirt + KVM ব্যবহার করে কোনও ভিএমের কীভাবে নাম পরিবর্তন করবেন


24

কেভিএম + লিবিভার্টে আমি কীভাবে কোনও ভিএমের নাম পরিবর্তন করতে পারি?

আমি চাই যে এটি 'ইনভেন্টরি'-তে নাম পরিবর্তন করার পাশাপাশি সঞ্চয়স্থানের নাম পরিবর্তন করা ইত্যাদি to


3
আমি এই প্রশ্নটি জিজ্ঞাসা করার পরে লিবারভিট প্রকল্পের সূক্ষ্ম লোকেরা 'বীরষ সম্পাদনা আমার-ভিএম-নাম' কমান্ড যুক্ত করেছে।
— আর্থার উলফেল্ট

উত্তর:


18

চালান

virsh dumpxml name_of_vm > name_of_vm.xml

সদৃশ ইউআইডির কারণে কোনও ত্রুটি রোধ করতে পুরানো ভিএম অপরিবর্তিত করুন।

virsh undefine name-of-vm

এক্সএমএল ফাইল সম্পাদনা করুন তারপরে এটি আমদানি করুন।

virsh define name_of_vm.xml

অবশ্যই পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনাকে থামাতে হবে এবং ভিএম শুরু করতে হবে

virsh destroy name_of_vm
virsh start name_of_vm

5
একটি পদক্ষেপ যুক্ত করতে হবে: (নতুন নামের সাথে ভিএম সংজ্ঞায়নের আগে) "ভাইরাস অপরিবর্তিত নাম-অফ-ভিএম" অন্যথায় এটি ডুপ্লিকেট ইউআইডি সম্পর্কে অভিযোগ করে।
— আর্থার উলফেল্ট

1
আমাকে এইচডি.আইএমজি ফাইলটির নতুন নামকরণ করতে হবে এবং এক্সএমএল ফাইলটিতে লাইনটি সম্পাদনা করতে হয়েছিল
— আর্থার উলফেল্ট

সঠিক উত্তর অন্য উত্তরে। আপনি যদি পুরানো মেশিনটি ব্যবহার না করেন তবে আপনার নাম পরিবর্তন করতে হবে না।
— Nux

1
এই উত্তরটি এখন পুরানো। আমার উত্তর নীচে দেখুন। tldr; বীরশের এখন দমনেম আছে।
— পুনর্নির্মাণ


13

virshdomrename1.2.19 প্রকাশের মধ্যে বাস্তবায়ন হয়েছে: সেপ্টেম্বর 02 2015. সুতরাং বর্তমানের সেরা অনুশীলনটি কেবলমাত্র:

 virsh domrename oldname newname

যেমনটি আপনি আশা করতে পারেন, ডোডোমেন অবশ্যই বন্ধ করা উচিত, তবে এটির কোনও স্ন্যাপশটও থাকতে পারে না।


+1 - আপনি virsh edit newnameফাইলের পাথ পরিবর্তন করতে পারেন এবং mv oldname newnameডিরেক্টরিটির নতুন নামকরণ করতে চান যদি আপনি সবকিছু মিলে যেতে চান।
— পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

অন্য কথায়, আপনার 1) /var/lib/libvirt/images/oldname.qCO2 /var/lib/libvirt/images/newname.qcow2 এ নতুন নামকরণও করতে হবে; এবং 2) সম্পাদিত /etc/libvirt/qemu/newname.xML সঠিক উত্স ফাইল ব্যালাইস সেট করতে <উত্স ফাইল = '/ var / lib / libvirt / চিত্র / newname.qcow2'
— ম্যাক্সিআরগ্লিজ

তবে কেবলমাত্র যদি আপনার ডোমেইননামগুলি (যা আমি স্বীকার করি সুবিধাজনক) মেলানোর জন্য ফাইলের প্রয়োজন হয় - এটি একটি ধ্বংস / তৈরি চক্র
— এড়ায়

5

অনেকগুলি মেশিন পরিবর্তন করতে আপনি এটি ব্যবহার করতে পারেন:

virsh shutdown old-name

শেষ এবং চালানোর জন্য উপরে অপেক্ষা করুন:

virsh dumpxml old-name > old-name.xml
virsh undefine old-name

শেষ এবং চালানোর জন্য উপরে অপেক্ষা করুন:

sed -i 's/<name>old-name<\/name>/<name>new-name<\/name>/g' old-name.xml
virsh define old-name.xml

প্রতিটি মেশিনের জন্য এটি একের পর এক চালান। আপনার যদি এই তালিকা অন্তর্ভুক্ত থাকে তবে আপনি এই RegExp ব্যবহার করতে পারেন old-name new-name:

([^\r\n]+?)[ \t]+([^\r\n]+)
virsh shutdown $1\n#WAIT!\nvirsh dumpxml $1 > $1.xml\nvirsh undefine $1\n\#WAIT!\nsed -i 's/<name>$1<\\/name>/<name>$2<\\/name>/g' $1.xml\nvirsh define $1.xml\n

0

আমি এটি কিছুটা ভিন্নভাবে করি এবং এটি প্রস্তাবিত পদ্ধতি হতে পারে (নিশ্চিত নয়)।

virsh destroy old-vm virsh edit old-vm

এক্সএমএল পরিবর্তনে

  1. নতুন-ভিএম থেকে ডোমেইন নাম পুরানো-ভিএম
  2. সংরক্ষণ করুন এবং প্রস্থান করার জন্য ইউইউডি-তে একটি চর / সংখ্যা পরিবর্তন করুন।

virsh list --all

1 পুরানো-ভিএম শাট-অফ

2 নতুন-ভিএম শাট-অফ

এখন পুরানো-ভিএম অপরিবর্তিত করুন

virsh undefine old-vm

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