কনসোল থেকে কেভিএম গেস্ট ইনস্টল করা হয়েছে। তবে কীভাবে অতিথির কনসোল পাবেন?


28

আমি কেবল কমান্ড-লাইন (হাইপারভাইসর এবং অতিথি উভয়) ব্যবহার করে কেভিএম (আরএইচইএল 6) এ একটি সম্পূর্ণ ভার্চুয়ালাইজড গেস্ট (ফেডোরা 14 x86_64) ইনস্টল করার চেষ্টা করছি। এটি ত্রুটি ছাড়াই এবং একটি স্পষ্ট ফল ছাড়াই যায়। আমি পাঠ্য-কেবল ইনস্টলেশন কীভাবে করব তা জানতে চাই।

সুতরাং, আমি এখানে যা করেছি:

# virt-install \
--name=FE --ram=756 --vcpus=1 \
--file=/var/lib/libvirt/images/FE.img  --network bridge:br0 \
--nographics --os-type=linux  \
--extra-args='console=tty0' -v \
--cdrom=/media/usb/Fedora-14-x86_64-Live-Desktop.iso 


Starting install...
Creating domain...                                                                                                                                                        |    0 B     00:00     
Connected to domain FE
Escape character is ^]
ÿ

এখন কি? যেহেতু আমি কয়েক দিন ধরে গুগল করার পরে বুঝতে পারি, আমার পাঠ্য ইনস্টলেশন থেকে অতিথির আউটপুটটি দেখা উচিত, তবে কিছুই হয় না। গুণ-দর্শক এটির সাথে সংযোগ স্থাপন করতে পারবেন না, দয়া করে পরামর্শ দিন যে --help (যা আমি করেছি) যোগ করে আমি সমস্ত অপশন অন্বেষণ করি। যদি আমি বিরশের সাথে পুনরায় সংযোগ স্থাপন করি তবে আমি এটি দেখতে পাচ্ছি:

Domain installation still in progress. You can reconnect to 
the console to complete the installation process.
[root@v ~]
# virsh console FEConnected to domain FE
Escape character is ^]

এটি দেখায় যে ভিএম চলছে

# virsh list
 Id Name                 State
----------------------------------
  8 FE                   running

কিমু লগৰ

LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin /usr/libexec/qemu-kvm -S -M rhel6.0.0 -enable-kvm -m 756 -smp 1,sockets=1,cores=1,threads=1 -name FE -uuid 6989d008-7c89-424c-d2d3-f41235c57a18 -nographic -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/FE.monitor,server,nowait -mon chardev=monitor,mode=control -rtc base=utc -no-reboot -boot d -drive file=/var/lib/libvirt/images/FE.img,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -drive file=/media/usb/Fedora-14-x86_64-Live-Desktop.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=20,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:0a:65:8d,bus=pci.0,addr=0x2 -chardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 
char device redirected to /dev/pts/1

/Etc/libvirt/qemu/FE.xML এর আউটপুট

# cat /etc/libvirt/qemu/FE.xml 
<domain type='kvm'>
  <name>FE</name>
  <uuid>6989d008-7c89-424c-d2d3-f41235c57a18</uuid>
  <memory>774144</memory>
  <currentMemory>774144</currentMemory>
  <vcpu>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.0.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/FE.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:0a:65:8d'/>
      <source bridge='br0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target port='0'/>
    </console>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </memballoon>
  </devices>
</domain>

আমি স্পষ্টতই এমন কিছু মিস করছি যা অন্য অনেকেই করেন না, তবে এটি কী? থ্যাঙ্কস আগাম!


3
আপনি কীভাবে --cdrom এর সাথে কাজ করতে --extra-args স্যুইচ করতে সক্ষম হন? পুণ্য-ইনস্টল ম্যান পৃষ্ঠা অনুসারে --extra-args কেবল --location দিয়ে কাজ করে?
slm

4
আমি মুছে --network bridge:br0পরিবর্তন cdromকরতে location, এবং extra-argsথেকে --extra-args='console=tty0 console=ttyS0,115200n8 serial'এবং এটা কাজ!
কিছু

2
আমি কেবল সিড্রোমে লোকেশনে পরিবর্তন করেছি এবং "অতিরিক্ত-আরগস" যুক্ত করেছি। --Network অপশনগুলি সরানোর দরকার নেই।
twan163

1
যে কোনও কারণে --cdromঅতিরিক্ত-আরগগুলির সাথে কাজ করে না তবে --location(বা -l) করে। একই পথ এবং সবকিছু।
রিক চ্যাথাম

উত্তর:


9

আমি --extra-args='console=ttyS0'গতবার ইন্টারনেট থেকে কোথাও অনুলিপি করেছি , এটি কার্যকর!

  • দুটি "কনসোল" কমান্ডের প্রয়োজন নেই, যা একটির পরিবর্তে দুটি কনসোল খোলে
  • ম্যানুয়ালি বাড রেট নির্দিষ্ট করার দরকার নেই।
  • "--serial" বিকল্পটি হ্রাস করা হয়েছে
  • রেডহ্যাট কনসোল ডিভাইসটি "/ dev / ttyS0", "/ dev / tty0" নয়

দেখুন: http://anaconda-installer.readthedocs.io/en/latest/boot-options.html


7

--nographicsব্যবহৃত হয়, এবং আপনার কাছে tty0 কনসোল ছাড়াও অতিথিতে কোনও কনসোল সেট আপ করা হয় না। আপনি যদি গ্রাফিকাল কনসোল চান, বিশেষত দূরবর্তীভাবে উপলভ্য আপনার ভিগা এবং ভিএনসি, বা কিউএক্সএল এবং মশলা সক্ষম করতে হবে। এই একটি উদাহরণ রয়েছে: http://www.linux-kvm.com/content/tip-how-run-headless-guest-machine-using-vnc-kvm

http://www.linux-kvm.com/content/running-kvm-nographics-no-console- আউটপুট বা http://ubuntuforums.org/showpost.php?p=9610421&postcount=7 একটি সমাধানও।


উত্তর দেওয়ার জন্য ধন্যবাদ, dyasny। আপনার পয়েন্টগুলি বাছাই করা: 1. না, আমি গ্রাফিকাল কনসোলটি চাই না (আমার পোস্টটি দেখুন) ২. হ্যাঁ, আমি এটি এবং অনুরূপ সমাধানগুলি চেষ্টা করে যাচ্ছি। এটি আমার পক্ষে কাজ করে নি।
ব্যাডবিশপ

আমি লিনাক্স-কেভিএম.আর.এইউ বা লিবারভিট মেইলিং লিস্টে জিজ্ঞাসা করার চেষ্টা করব
dyasny

6

সেন্টোসের একটি পাঠ্য-কেবল ইনস্টলেশন সম্পাদনের চেষ্টা করার সময় আমারও একই সমস্যা হয়েছিল। এটি সিরিয়াল আউটপুট কনসোল নির্দিষ্ট করার জন্য কার্নেল আর্গুমেন্টগুলি যুক্ত করার জন্য এটি সমস্ত ফোটে console=ttyS0যাতে আপনি তারপরে কখন এটি ব্যবহার করতে পারবেন --graphics noneবা --nographicsব্যবহৃত হবে। থেকে virt-install'ম্যানুয়াল S:

--গ্রাফিক্স কিছুই না

অতিথির জন্য কোনও গ্রাফিকাল কনসোল বরাদ্দ করা হবে না। সম্পূর্ণ ভার্চুয়ালাইজ করা অতিথির (জেন এফভি বা কিউইমু / কেভিএম) অতিথির প্রথম সিরিয়াল পোর্টে একটি পাঠ্য কনসোল কনফিগার করতে হবে (এটি --extra-args বিকল্পের সাহায্যে করা যেতে পারে)। জেন পিভি এটি স্বয়ংক্রিয়ভাবে সেট আপ করবে। 'Virsh কনসোল NAME' কমান্ডটি সিরিয়াল ডিভাইসে সংযোগ করতে ব্যবহার করা যেতে পারে।

আমি এটি দুটি উপায়ে সমাধান করতে পেরেছি:

  1. আইসো চিত্রটি সংশোধন করে এবং --cdromবিকল্পটি ব্যবহার করে
  2. আইএসও চিত্রটি এনএফএস শেয়ার হিসাবে প্রকাশ করে এবং --locationবিকল্পটি ব্যবহার করে--extra-args

1. চিত্রটি পরিবর্তন করা

আইসো ইনস্টলেশন ডিস্কে কার্নেল প্যারামিটারগুলি পরিবর্তন করতে:

  1. এমন একটি প্রোগ্রাম পান যা চিত্রগুলি ম্যানিপুলেটিংয়ের অনুমতি দেয়, উদাহরণস্বরূপ, আইসোমাস্টার
  2. isolinux/isolinux.cfgইমেজের ফাইলটিতে যান , এটি খুলুন, এটির সাথে প্রথম লাইনটি সন্ধান initrd=করুন console=ttyS0এবং এতে এবং অন্যান্য পংক্তিতে যুক্ত প্যারামিটার যুক্ত করুন।
  3. ফাইল এবং ইমেজ সংরক্ষণ করুন।
  4. virt-installযথারীতি পরিবর্তিত চিত্রটি ব্যবহার করুন , যেমন:

    $ sudo virt-install --name centos-vm --ram 1024 --disk path=/home/user/domains/centos-vm --cdrom /home/user/images/centos-modified.iso --os-type linux --nographics --accelerate
    

সম্পন্ন.

2. একটি এনএফএস ভাগ ব্যবহার করে

  1. চিত্রটি মাউন্ট করুন:

    $ sudo mount -o loop,unhide -t iso9660 -r /home/user/images/CentOS.iso /home/user/mnt/cdrom
    
  2. চলমান না থাকলে এনএফএস পরিষেবাটি শুরু করুন: service nfs start

  3. /etc/exportsএটি ক্লায়েন্টদের জন্য উপলব্ধ করতে নিম্নলিখিত লাইনটি যুক্ত করুন :

    /home/user/mnt/cdrom    *(ro,insecure,all_squash)
    
  4. সিস্টেমের রফতানি সারণীটি এর সাথে রিফ্রেশ করুন:

    $ exportfs -r
    
  5. ভাগ virt-installনিশ্চিত করার সাথে ভাগটি ব্যবহার করুন --extra-args, যেমন:

    $ sudo virt-install --name centos-vm --ram 1024 --disk path=/home/user/domains/centos-vm --location /home/user/mnt/cdrom --os-type linux --nographics --accelerate --extra-args="console=ttyS0"
    
  6. CentOS ইনস্টলেশন করার সময় আপনি ইনস্টলেশন ফাইলগুলির অবস্থান সম্পর্কে জিজ্ঞাসা করে একটি প্রম্পট পাবেন। আপনাকে আপনার মেশিনের ঠিকানা এবং ভাগ করার পুরো পথটি টাইপ করতে হবে।

সম্পন্ন.


আইসো ফাইলটি মাউন্ট করার জন্য আমি আপনার দ্বিতীয় পদ্ধতিটি চেষ্টা করেছি তবে ইনস্টল করা শুরু হচ্ছে ... ফাইলটি পুনরুদ্ধার করা হচ্ছে ... | 552 বি 00:00:00 ত্রুটি বিভাগে 'কার্নেল' বিকল্প নেই: '
ইমেজ-

@ সর্বজনীন_নাম আইসো মাউন্ট না করার চেষ্টা করুন তবে --locationপছন্দ করার পরে কেবল আইসোর পাথ নির্দিষ্ট করে দিন --location /tmp/centos6.iso
রিক চ্যাথাম

উবুন্টু 16 এ কাজ করা হয়েছে, isolinux / isolinux.cfg এর পরিবর্তে isolinux / txt.cfg সম্পাদনা করা হয়েছে।
জন ম্যাকগিহি 16'18

2

আপনার পাঠ্য মোডে ফেডোরা ইনস্টলারটি চালানো দরকার। অতিরিক্ত আরগগুলিতে 'পাঠ্য' যুক্ত করার চেষ্টা করুন। বিকল্পভাবে, আপনি "ভিএনসি" যুক্ত করার চেষ্টা করতে পারেন যা একবার VNC এর সাথে ইনস্টলারের সাথে সংযোগ স্থাপনের অনুমতি দেয়


1
এটি পরীক্ষা করে দেখুন, একটি নতুন লিবারভিটের জন্য আপনি -x এবং --cdrom ব্যবহার করতে পারবেন না। নেটওয়ার্কে কোথাও সিড্রোম মাউন্ট করার চেষ্টা করুন - কোথাও কোথাও --clocation.com/m Mount-iso - অনুগ্রহ করে কিছুই --extra-args "কনসোল = ttyS0,115200 পাঠ্য শিরোনামহীন"
ক্যাটরিয়েল

1

আমি এখন মুচি এবং কোয়ান ব্যবহার করে কিছু সময়ের জন্য আমার ইনস্টলেশনগুলি করছি doing মোচড়ের মধ্যে আমি আমার সেন্টো 60-x86_64 প্রোফাইলের অধীনে আমার কর্নেল বিকল্পগুলি সেট করেছিলাম:

Kernel Options: serial console=ttyS0,115200
Kernel Options (Post Install): console=ttyS0,115200

বুটের পরে আপনি দুটি ডিভাইসে কনসোলটি দেখতে কনসোল = tty0 কনসোল = ttS0,115200 ব্যবহার করতে পারেন; এটি ইনস্টলেশনের জন্য কাজ করে না। আপনি যদি / ইত্যাদি / গ্রাবের অধীনে গ্রাব বিকল্পগুলি সম্পাদনা করেন এবং সিরিয়াল কনসোল সেটিংস একটি কার্নেল আপগ্রেড থেকে বাঁচতে পারবেন তবে গ্রাবকনফন পুনরায় জেনারেট করুন। GUI শুরু করা থেকে ইনস্টলারকে প্রতিরোধ করতে কার্নেল কমান্ড লাইনে "পাঠ্য" যুক্ত করুন।

আমার কেভিএম অতিথির উদাহরণগুলি যখন শুরু হয় আমি তখন কেভিএম হোস্টে লগ ইন করার সাথে তাদের সাথে সংযুক্ত হয়ে গেস্ট কনসোলটির সাথে এর সাথে সংযুক্ত করে থাকি:

[root@vmhost ~]# virsh console guestvm

আমি তখন এটি আমার শেলের মধ্যে দেখতে পাচ্ছি:

Connected to domain guestvm
Escape character is ^]

CentOS Linux release 6.0 (Final)
Kernel 2.6.32-71.el6.x86_64 on an x86_64

guestvm login: 

একটি চূড়ান্ত নোট, যখন আমি কোয়ানকে আমার কেভিএম অতিথির মধ্যে একটি তৈরি শুরু করতে বলি, আমি এটিকে --nogfx সুইচ দিয়ে কল করি:

koan --server 192.168.1.1 --virt --nogfx --system=guestvm

1

আমি অনুমান করি আপনি একটি ভুল কনফিগার্ড কনসোল দেখছেন।

সম্ভবত এটি চেষ্টা করুন বা অনুরূপ:

প্রথমে আমি আমার গ্রাব কনফিগারেশনে কনসোল লাইন যুক্ত করি, যেমন কোনও আর্চ গেস্টের জন্য: কার্নেল / vmlinuz26 রুট = / dev / vda2 রো কনসোল = ttyS0,115200 তারপরে ttyS0 (একই আর্চ অতিথি) সক্ষম করতে আমি / etc / inittab সম্পাদনা করি: co: 23 : রেসপন: / এসবিন / অ্যাজেটি -8 115200 টিটিএস0 লিনাক্স। এবং আপনার / ইত্যাদি / সুরক্ষিত্রে ttyS0 রয়েছে তা নিশ্চিত করুন।

এখানে আরও তথ্য: ww http://www.linux-kvm.com/content/running-kvm-nographic

--edit--

আপনি console=ttyS0,115200অন্য সম্ভাব্য কনসোল প্যারামিটারগুলি চেষ্টা করে দেখতে পারেন ।


বিটিডব্লিউ --extra-args=সরাসরি অন্যান্য কনসোল সেটিংসও নেয়।
জোনাথন রস

আপনি উদ্ধৃত পাঠ্য অনুসারে, আমাকে অতিথিতে / etc / inittab পরিবর্তন করতে হবে। পুরো সমস্যাটি: আমি কীভাবে অতিথির সাথে ইন্টারেক্ট করব? দুঃখিত, আমি এটি পাচ্ছি না।
ব্যাডবিশপ

দুঃখিত সম্পাদনা দেখুন, আমি খুব পরিষ্কার ছিল না।
জোনাথন রস

হ্যাঁ, প্রশ্ন পোস্ট করার আগে আমি --extra-args = 'কনসোল = ttyS0' চেষ্টা করেছি।
ব্যাডবিশপ

দুঃখিত আমি বোঝাতে চেয়েছিলাম console=ttyS0,115200এবং সম্ভবত এটির জন্য অন্যান্য পরামিতি রয়েছে যা আপনি চেষ্টা করতে পারেন। আমি এখনও অনুমান করতে পারি যে আপনার কিছু বর্ণনার ভুল কনফিগার করা কনসোল রয়েছে।
জোনাথন রস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.