কিভাবে libvirt / কেভিএম উদাহরণ থেকে কাস্টম ভ্যাগ্রান্ট বক্স তৈরি করবেন?


16

ভার্চুয়ালবক্স উদাহরণ থেকে একটি কাস্টম ভিজেন্ট বক্স তৈরি করতে ইন্টারনেটে অনেক সংস্থান রয়েছে। তবে আমি সরাসরি একটি কেভিএম / লিবারভিট উদাহরণ থেকে একটি কাস্টম ভিজান্ট বক্স তৈরি করার জন্য একটি সরাসরি পদ্ধতি জানতে চাই। অনুগ্রহ করে কোনও ভার্চুয়াল-মিউটেট বা এমন কোনও প্রস্তাব নেই যা ভার্চুয়ালবক্সকে অন্য সরবরাহকারীতে রূপান্তর করে।

উত্তর:


21

ভ্যাংগ্র্যান্টের সাথে সময় কাটানোর পরে আমি কাস্টম বক্সের জন্য সমাধান পেয়েছি। প্রথমে libvirt / qvm এ যে কোনও লিনাক্স ওএস ইনস্টল করুন এবং কাস্টমাইজেশনের জন্য এটিতে লগইন করুন এবং vagrantপাসওয়ার্ড সহ ব্যবহারকারী তৈরি করুনvagrant

adduser vagrant

vagrant ব্যবহারকারীর পাসওয়ার্ড প্রম্পট ছাড়াই sudo কমান্ড চালাতে সক্ষম হওয়া উচিত

sudo visudo -f /etc/sudoers.d/vagrant

এবং পেস্ট করুন

vagrant ALL=(ALL) NOPASSWD:ALL

আপনি আপনার যান্ত্রিক বাক্সটি কাস্টমাইজ করতে চান যা করুন এবং আগে ইনস্টল openssh-serverনা করা থাকলে ইনস্টল করুন

sudo apt-get install -y openssh-server

যোদ্ধা ব্যবহারকারী থেকে ssh কী রাখুন

mkdir -p /home/vagrant/.ssh
chmod 0700 /home/vagrant/.ssh
wget --no-check-certificate \
https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub \
-O /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh

ওপেন সুডো vi /etc/ssh/sshd_configএবং পরিবর্তন

PubKeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no

ব্যবহার করে পুনরায় আরম্ভ করুন

 sudo service ssh restart

সঠিকভাবে সংকলন এবং ইনস্টল করার জন্য সরঞ্জামগুলির জন্য অতিরিক্ত বিকাশ প্যাকেজ ইনস্টল করুন

sudo apt-get install -y gcc build-essential linux-headers-server

আপনি চান যে কোনও পরিবর্তন করুন এবং ভিএম বন্ধ করুন। এখন, হোস্ট মেশিনে আসুন যার উপরে অতিথি ভিএম চলছে এবং সেখানে /var/lib/libvirt/images/গিয়ে কাঁচা ছবিটি বেছে নিন যা আপনি পরিবর্তন করেছেন এবং উদাহরণ হিসাবে কোথাও অনুলিপি করেছেন/test

cp /var/lib/libvirt/images/test.img  /test 

দুটি ফাইল তৈরি করুন metadata.jsonএবং Vagrantfileভিতরে /test প্রবেশ করানmetadata.json

{
  "provider"     : "libvirt",
  "format"       : "qcow2",
  "virtual_size" : 40
}

এবং ভিতরে Vagrantfile

Vagrant.configure("2") do |config|
         config.vm.provider :libvirt do |libvirt|
         libvirt.driver = "kvm"
         libvirt.host = 'localhost'
         libvirt.uri = 'qemu:///system'
         end
config.vm.define "new" do |custombox|
         custombox.vm.box = "custombox"       
         custombox.vm.provider :libvirt do |test|
         test.memory = 1024
         test.cpus = 1
         end
         end
end

test.img কে কিওকিও 2 ফর্ম্যাটে ব্যবহার করে রূপান্তর করুন

sudo qemu-img convert -f raw -O qcow2  test.img  ubuntu.qcow2

ubuntu.qcow2 এর নাম পরিবর্তন করে box.img করুন

mv ubuntu.qcow2 box.img 

দ্রষ্টব্য: বর্তমানে, libvirt- যোগ্রান্ট কেবল qCO2 ফর্ম্যাট সমর্থন করে। সুতরাং, বিন্যাসটি পরিবর্তন না করে কেবল নাম পরিবর্তন করুন। box.img। কারণ এটি ডিফল্টরূপে box.img নামের ইনপুট নেয়।
বক্স তৈরি করুন

tar cvzf custom_box.box ./metadata.json ./Vagrantfile ./box.img 

যোজক বাক্সে যুক্ত করুন

vagrant box add --name custom custom_box.box

যে কোনও ডিরেক্টরিতে যান যেখানে আপনি যান্ত্রিক আরম্ভ করতে চান এবং কমান্ড বেলো চালান যা ভ্যাগ্র্যান্ট ফাইল তৈরি করবে

vagrant init custom

ভ্যাগ্র্যান্ট ভিএম কনফিগার করা শুরু করুন

vagrant up --provider=libvirt 

উপভোগ করুন !!!


2
আমি উল্লেখ করতে চেয়েছিলাম, যে সমস্ত সময় ব্যয় করার পরে তাদের জিগগুলি কাটানোর পরে, যোদ্ধা আবার সেই টারেটিকে পুনরায় সংকুচিত করতে সমতুল্য সময় ব্যয় করে। : ফুবার:
থারস্মমনার

2
রাউন্ড-ট্রিপ ট্যারি / আনতার অবধি এড়াতে আপনি নিজের ভ্যাগ্রান্টফায়াল, মেটা.জেসন এবং বক্স.আইএমজি সরাসরি এড়াতে সক্ষম হতে পারবেন~/.vagrant.d/boxes/<name>/0/libvirt/
থারস্মমনার

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