কেভিএম হোস্টের ভার্চুয়াল মেশিনের সাথে কোন ভার্চুয়াল ইন্টারফেসটি নির্ধারণ করার কোনও উপায় আছে?


10

আমি কিউমু / কেভিএম উইথ ব্রিজড নেটওয়ার্কিং ব্যবহার করছি। হোস্ট মেশিনে আইপি ছাড়াই বেশ কয়েকটি "ভিএনএটিএক্স" নেটওয়ার্ক ইন্টারফেস রয়েছে। আমি কোন ভার্চুয়াল মেশিনের সাথে কোন vnetX অন্তর্ভুক্ত তা জানার উপায় খুঁজছি

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

ব্র্যাকটিএল শো রয়েছে যা একটি ব্রিজের অন্তর্গত vnet ইন্টারফেসগুলি দেখায়, তবে এটি দরকারী তথ্য নয়।

সেই সম্পর্কটি জানার কোনও উপায় আছে কি? ধন্যবাদ!!

উত্তর:


14

এটি সম্পর্কে (উদাহরণস্বরূপ vnet13):

$ VNET=vnet13; for vm in $(virsh list | grep running | awk '{print $2}'); do virsh dumpxml $vm|grep -q "$VNET" && echo $vm; done

এখানে আমরা virsh dumpxmlভিএম সম্পর্কে গতিশীল বৈশিষ্ট্যগুলি দেখানোর জন্য ব্যবহার করি , যা /etc/libvirt/qemu/foo.xML এ ভিএম এর স্থির এক্সএমএল সংজ্ঞাতে পাওয়া যায় না। কোন vnetXইন্টারফেসের সাথে সংযুক্ত থাকে যার সাথে ভিএম এমন গতিশীল সম্পত্তি। একই ভিএম এর ম্যাক ঠিকানাগুলির জন্য যায়।


4
কোন for vm in $(virsh list | grep running | awk '{print $2}'); do echo -n "$vm:"; virsh dumpxml $vm| grep -oP "vnet\d+" ; done
ভিএম

আপনি যদি ওভিআরটি 'নোড' তদন্ত করেন তবে আপনি একই কমান্ডটি ব্যবহার করতে পারেন তবে বিরশকে 'কেবল পঠনযোগ্য' মোডে চালানো উচিত। প্রতিটি বিরষ কলটিতে কেবলমাত্র প্যারামিটার যুক্ত করুন।
করলাচিও

6

চেষ্টা করুন virsh dumpxml $domain, আপনি এর মতো কিছু দেখতে পাবেন:

  <interface type='network'>
  <mac address='52:54:00:9d:9d:10'/>
  <source network='default'/>
  <target dev='vnet1'/>
  <model type='e1000'/>
  <alias name='net1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>

alias nameকি qemu-kvm- র কমান্ড লাইন ব্যবহার করা হয়, তাই আপনি যদি চালানো হয় ps -ef |grep qemu|grep net1আমার উদাহরণ থেকে, আপনি এই ইন্টারফেসের জন্য ব্যবহৃত প্রকৃত কমান্ড সিনট্যাক্স দেখতে হবে।


2

উপরের প্রদত্ত সমাধানগুলির প্রতিটি অনুমান করে যে ভিএমগুলি লিবারভিট দ্বারা পরিচালিত হচ্ছে। এটি ব্যতীত কিউইএমইউ ভিএমগুলি চালানো বেশ সম্ভব, সেক্ষেত্রে আপনি উত্তরটি খুঁজে পেতে বর্শ ব্যবহার করতে পারবেন না বা এক্সএমএলটি দেখতে পারবেন না।

"কাঁচা" কমান্ড লাইন থেকে কিউইএমইউ ভিএম চালানোর ক্ষেত্রে:

  1. tcpdump -i tap0 -f 'icmp' (আপনার আগ্রহী যেকোনো ট্যাপ ইন্টারফেস)

  2. আপনি ট্রেসে প্যাকেট না পাওয়া পর্যন্ত প্রতিটি প্রার্থী ভিএম-কে পিং করুন। আইসিএমপি প্যাকেটগুলি উপস্থিত হওয়ার সময় আপনি যে ইন্টারফেসটির সন্ধান করছেন তা হ'ল আপনি যা খুঁজছেন!

বিপরীতভাবে আপনি একটি নির্দিষ্ট ভিএম-তে পিং শুরু করতে পারেন এবং তারপরে একটি "লাইট আপ" না হওয়া পর্যন্ত প্রতিটি ট্যাপ ইন্টারফেস টিসিপিডম্প করে। আপনি ভিএম অনুসন্ধান করতে আগ্রহী কিনা তা নির্ভর করে যা ট্যাপ ইন্টারফেসের সাথে মেলে বা ভিএম এর সাথে মেলে এমন ট্যাপ ইন্টারফেস।


0

vnetXইন্টারফেসগুলির ম্যাক ঠিকানা হোস্টের অন্তর্ভুক্ত, অতিথির নয়। brctl showmacs br0ব্রিজটি সনাক্ত করা ম্যাকগুলি প্রদর্শন করবে, তবে আপনাকে ইন্টারফেসের তালিকা সহ পোর্ট নম্বরটি রেফারেন্স করতে হবে brctl show


0

আরপি ক্যাশে থেকে ভিএম-তে আইপি ঠিকানাগুলি মিলান M

# vm mac address list
for vm in $(virsh list | grep running | awk '{print $2}'); do \
  echo -n "$vm "; \
  virsh dumpxml $vm| grep -oP "52:54:[\da-f:]+" ; 
done > vm_mac.list

# vm ip list
arp -i virbr0 | grep '52:' | while read addr ; do \
  ip=$(echo $addr | awk '{print $1}'); \
  mac=$(echo $addr | awk '{print $3}'); \
  vm=$(grep "$mac" vm_mac.list | awk '{print $1}'); \
  echo "$vm $ip $mac"; \
done | sort

নমুনা আউটপুট:

vm66 192.168.191.112 52:54:00:ab:e8:cb
vm67 192.168.191.207 52:54:00:88:66:e7
vm67 192.168.191.241 52:54:00:88:66:e7
vm68 192.168.191.197 52:54:00:c5:e1:30
vm69 192.168.191.254 52:54:00:b6:f6:0f
vm70 192.168.191.232 52:54:00:08:7f:49
vm71 192.168.191.113 52:54:00:e7:6f:2b

0

@ ড্যাফ প্রতিক্রিয়া ভিত্তিক:

for vm in $(virsh list | grep running | awk '{print $2}'); do echo "$vm: " && virsh dumpxml $vm | grep  "vnet" | sed 's/[^'']*''\([^'']*\)''[^'']*/\t\1/g'; done

আউটপুট উদাহরণ:

vm1:
    vnet0
vm2:
    vnet1
vm3:
    vnet2
vm4:
    vnet3
    vnet4
vm5:
    vnet5

0
for vm in $(virsh list  --state-running --name); do \
echo $vm; \
virsh domifaddr $vm; \
done

উদাহরণ আউটপুট:

client1

Nombre     dirección MAC       Protocol     Address
------------------------------------------------------------------------------

vnet2      52:54:00:2c:7a:f0    ipv4         192.168.122.63/24

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