কোনও স্থানান্তর ভার্চুয়াল মেশিন কীভাবে রফতানি করা যায়


107

আমার কাছে একটি ভ্যাংগার বক্স রয়েছে এবং চলছে (একটি এলএএমপি স্ট্যাকের সাহায্যে কনফিগার করা হয়েছে)। আমার এটি অন্য পিসিতে স্থানান্তর করা দরকার। আমি কীভাবে এটি রফতানি করতে পারি? আমি অনুমান করি যে আমি এমন একটি ফাইল (বা ফাইল) পেতে পারি যা অন্য পিসিতে অনুলিপি করা যায়, সুতরাং সেখানে আমি ভিজাগর বাক্সটি আমদানি করার জন্য কিছু কমান্ড চালাতে পারি।


1
আমি ভিজাগর বাক্সগুলির স্থানান্তর স্বয়ংক্রিয় করার জন্য কিছু স্ক্রিপ্ট লিখেছিলাম। দেখুন soniah / transfer_vagrant_boxes
সোনিয়া হ্যামিলটন

//, কেউ কি সোনিয়ার স্ক্রিপ্ট ব্যবহার করে দেখেছেন?
নাথান বাসানিজ

@ নাথানবাশানিজ এএফআইইউ, এই লিপিগুলি বেস বক্সগুলিতে স্থানান্তরিত করতে সহায়তা করে, ফলস্বরূপ চলমান ভিএমগুলিকে না, কারণ তারা ভ্যাংগার বক্সের ক্ষতিপূরণগুলি ব্যবহার করে (এর ডকসটি দেখুন)
অলিভিয়ের বার্জার

উত্তর:


119

এটি করার আপনার দুটি উপায় আছে, আমি এটিকে নোংরা উপায় এবং পরিষ্কার উপায় বলব :

1. নোংরা উপায়

vagrant packageকমান্ডটি ব্যবহার করে আপনার বর্তমান ভার্চুয়াল পরিবেশ থেকে একটি বাক্স তৈরি করুন :

http://docs.vagrantup.com/v2/cli/package.html

তারপরে বাক্সটি অন্য পিসিতে অনুলিপি করুন, এটি ব্যবহার করে যুক্ত করুন vagrant box addএবং এটি vagrant upযথারীতি ব্যবহার করে চালান ।

মনে রাখবেন যে Vagrantfileভার্চুয়াল মেশিন বুট করার সময় আপনার ওয়ার্কিং ডিরেক্টরিতে থাকা ফাইলগুলি (যার সাথে একটি ) ভাগ করা হয়, তাই আপনাকে এটি অন্য পিসিতেও অনুলিপি করতে হবে।

2. পরিষ্কার উপায়

তাত্ত্বিকভাবে ভ্যাগ্র্যান্টের সাথে রফতানি / আমদানি করা কখনই প্রয়োজন হবে না। ভার্চুয়াল পরিবেশ (শেফ, পুতুল, জবাবদিহি) কনফিগার করার জন্য আপনার কাজ করার ডিরেক্টরি এবং গিরিটির মতো সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ব্যবহারের জন্য আপনার যদি দূরদৃষ্টি থাকে তবে পরিবেশের অনুলিপি তৈরি করা এই মুহুর্তে সহজ হবে:

git clone <your_repo>
vagrant up

5
সেই পরিষ্কার , দূরদর্শী অ্যাডমিন হওয়ার চেষ্টা করছি ... আপনার গিট রেপোতে আপনাকে কোনও OS ইনস্টলড আইসো লাগাতে হবে না? আপনি উদাহরণস্বরূপ যে পরামর্শ দিচ্ছেন? জবাবদিহিতা ব্যবহার করে, আপনার রেপোতে ভ্যাগ্রান্টফাইল এবং একটি উত্তরযোগ্য প্লেবুক থাকবে contain ভ্যাগ্রান্টফাইলটি ১. ভিজান্টক্লাউড থেকে একটি বেসবক্স ডাউনলোড করবে ২. অন্যান্য ফাইল / রেপো / ক্লাউড-স্টোরেজ ব্যবহার করে বেসবক্সটি কনফিগার করার জন্য উত্তরবহুল প্লেবুকটি চালায়। রাইট? নাকি গিট রেপোতে অন্য কিছু আছে?
hobs

8
"ক্লিন ওয়ে" ডেটাবেসগুলির জন্য অ্যাকাউন্ট (মাইএসকিউএল, ওয়ার্ডপ্রেস) যা ভিএম এর অভ্যন্তরে থাকতে পারে? কীভাবে এটি অন্য পিসির সাথে সিঙ্ক করা যায়?
কেভলার

1
@ কেভ্ল্লার পরিষ্কার উপায়টির অর্থ হ'ল গিট সংগ্রহস্থলের বাইরের কোনও তথ্য নেই যা নতুন দেব পরিবেশ শুরু করতে প্রয়োজনীয়। এটি সূচিত করে যে নতুন ভিজাগর বাক্সটি সরবরাহ করার সময় (শেফ / পুতুল / আপনার কীসের মাধ্যমে) ডাটাবেস ইনস্টল ও কনফিগার করা সম্পন্ন হবে।
হোভিস বিডল

2
তাহলে কি হাশিকর্প দ্বারা প্রস্তাবিত উপায়টিও 'নোংরা'? অর্থাত্ বাক্সটি প্যাকেজ করে এটলাস সার্ভারে আপলোড করবেন? আমি নিশ্চিত নই যে 'পরিষ্কার'
উপায়টি

1
আমি বুঝতে পারি না কীভাবে সরকারী উপায়টিকে নোংরা বলে মনে করা হয়। কোনও ভাল আত্মা কেন ব্যাখ্যা করতে পারে?
thclpr

28

আমার ম্যাকের আমার হার্ড ড্রাইভটি একটি প্রকল্পের মাঝখানে বীপিং শব্দগুলি করছিল তাই আমি একটি এসএসডি ইনস্টল করার সিদ্ধান্ত নিয়েছি। আমার প্রকল্পটি একটি ডিস্ক থেকে অন্য ডিস্কে স্থানান্তরিত করা দরকার। কয়েকটি বিষয় বিবেচনা করুন:

  • আমি একটি ম্যাকের উপর ভিজাগর ডাব্লু / ভার্চুয়ালবক্স
  • আমি গিট ব্যবহার করছি

এটিই আমার পক্ষে কাজ করেছে:

1.) Copy your ~/.vagrant.d directory to your new machine.
2.) Copy your ~/VirtualBox\ VMs directory to your new machine. 
3.) In VirtualBox add the machines one by one using **Machine** >> **Add**
4.) Run `vagrant box list` to see if vagrant acknowledges your machines. 
5.) `git clone my_project`
6.) `vagrant up`

ভিবি গেস্ট সংযোজনে আমার কয়েকটি সমস্যা ছিল।

এখানে চিত্র বর্ণনা লিখুন

আমি এই সমাধান দিয়ে তাদের স্থির ।


//, আমি এটি চেষ্টা করতে যাচ্ছি, @ কেজেপ্রিন্স। আমাদের জন্য এটি ভেঙে দেওয়ার জন্য ধন্যবাদ।
নাথান বাসানিজ

//, আমি এটা চেষ্টা করেছি, কিন্তু যখন আমি ~ / VirtualBox \ ভার্চুয়াল মেশিনের জন্য ওভার আমার VirtualBoxVMs ডিরেক্টরির উপর কপি আমি নিম্নলিখিত লিঙ্ক-এ ত্রুটি আছে, এবং দৌড়ে vagrant box list: 0bin.net/paste/iCiaqNhU-i3bbfY2#-KDiXYcRFni1RNgNJhOBrIs/...
নাথন

18

এটি আসলে বেশ সহজ

  1. রিমোট মেশিনে ভার্চুয়াল বাক্স এবং ভ্যাগ্র্যান্ট ইনস্টল করুন
  2. আপনার যোজনী যন্ত্রটি জড়িয়ে দিন

    vagrant package --base [machine name as it shows in virtual box] --output /Users/myuser/Documents/Workspace/my.box

  3. আপনার রিমোটে বাক্সটি অনুলিপি করুন

  4. আপনার দূরবর্তী মেশিনে বক্সটি চালিয়ে চালান

    vagrant init [machine name as it shows in virtual box] /Users/myuser/Documents/Workspace/my.box

  5. চালান vagrant up


1
আপনার মেশিনে নাম দীর্ঘ এবং আপনিও Virtualbox গুই তাকান এবং এটি এর নাম অথবা ID টাইপ করতে অলস হন - আপনি সব আপনার VM- র এর নাম এবং আইডি এর নিচের কমান্ডটি রান তালিকাবদ্ধ করতে পারেন: VBoxManage list vms। আপনি কেবল ফিলিপ ২ য় এবং চতুর্থ পদক্ষেপে যা যা বলা হয়েছে তা অনুলিপি করে তা করতে পারবেন। :) ইয়ে
সিড

@ সিড কেন কেবল $ যোদ্ধা বক্সের তালিকা নয়
কেন রতানাচাই এস।

@ কেনরাটানাচাইস কারণ আপনার আদেশটি বাক্সগুলি তালিকা করে, যেমন: ( scotch/box (virtualbox, 3.0))। আমার কমান্ড - সনাক্তকারী সহ ভার্চুয়াল মেশিনগুলি, যেমন:"Win10 - SandBox" {bc251c06-501f-4c0f-bgfa-21f2815ba2cd}
সিড

6

সবচেয়ে সহজ উপায় হ'ল ভ্যাগ্র্যান্ট বক্সটি প্যাকেজ করা এবং তারপরে এটি অন্য পিসিতে অনুলিপি করুন (যেমন scpবা rsync), এটি যুক্ত করুন এবং vagrant up;-)

বিস্তারিত পদক্ষেপের জন্য, এটি পরীক্ষা করে দেখুন => ইতিমধ্যে ইনস্টল থাকা কোনও ভিজাগর বক্সকে ক্লোন করার কোনও উপায় আছে কি?


2

উপরের উত্তরগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি। কম্পিউটার থেকে অন্য কম্পিউটারে ভার্চুয়াল + ভার্চুয়ালবক্স মেশিন স্থানান্তর করার জন্য আমার 2 দিন হয়ে গেছে ... এটি সম্ভব!

প্রথমত, আপনার বুঝতে হবে যে ভার্চুয়াল মেশিনটি আপনার সিঙ্ক / ভাগ করা ফোল্ডার থেকে পৃথক। সুতরাং আপনি যখন নিজের মেশিনটি প্যাক করেন আপনি এটিকে আপনার ফাইলগুলি ছাড়াই প্যাকিং করেন তবে ডেটাবেসগুলি দিয়ে।

তোমাকে যা করতে হবে:

1- আপনার কম্পিউটারের 1 টি হোস্ট মেশিনের সিএমডি খুলুন (কমান্ড লাইন it এটিকে ডান বোতাম দিয়ে প্রশাসক হিসাবে খুলুন -> "প্রশাসক হিসাবে চালান") এবং আপনার যোদ্ধা ইনস্টল করা ফাইলগুলিতে যান। আমার ক্ষেত্রে: সি: / ভিভিভি আপনি আপনার ভ্যাগ্রান্টফাইলে এই ফোল্ডারগুলি দেখতে পাবেন:

/config/
/database/
/log/
/provision/
/www/
Vagrantfile
...

/ Www / ফোল্ডারটি যেখানে আমার বিকাশ ডোমেনগুলির সাথে আমার সিঙ্ক ফোল্ডার রয়েছে। আপনার অন্য স্থানে আপনার সিঙ্ক ফোল্ডার থাকতে পারে, আপনি কী করছেন তা বোঝার জন্য নিশ্চিত হন। এছাড়াও / কনফিগারেশন এবং / ডাটাবেসগুলি সিঙ্ক ফোল্ডার।

2- এই আদেশটি চালান: vagrant package --vagrantfile Vagrantfile

(এই কমান্ডটি আপনাকে ভার্গ্রাফিল কনফিগারেশন ব্যবহার করে আপনার ভার্চুয়াল মেশিনের একটি প্যাকেজ করে)

কমান্ডটি সম্পর্কে আপনি ভ্যাগ্রান্ট ডকুমেন্টেশনে যা পড়তে পারেন তা এখানে:

একটি সাধারণ ভ্রান্ত ধারণাটি হ'ল --vagrantfile বিকল্পটি একটি Vagrantfile প্যাকেজ করবে যা যখন এই বাক্সের সাথে ভিজান্ট থ্রি ব্যবহৃত হয় তখন ব্যবহৃত হয়। এই ক্ষেত্রে না হয়. পরিবর্তে, কোনও ভ্যাগ্রান্টফাইল লোড করা হয় এবং বাক্সটি ব্যবহার করা হলে ভ্যাগ্র্যান্ট লোড প্রক্রিয়াটির অংশ হিসাবে পড়া হয়। আরও তথ্যের জন্য, ভ্যাগ্রান্টফাইল লোড ক্রমটি সম্পর্কে পড়ুন।

https://www.vagrantup.com/docs/cli/package.html

ফিনিশ হয়ে গেলে আপনার একটি প্যাকেজ.বক্স ফাইল থাকবে।

3- এই সমস্ত ফাইলগুলি (/ কনফিগারেশন, / ডাটাবেস, ভ্যাগ্রান্টফায়াল, প্যাকেজ.বক্স, ইত্যাদি) অনুলিপি করুন এবং আপনার কম্পিউটার 2 এ যেখানে আপনার ভার্চুয়াল মেশিনটি ইনস্টল করতে চান ঠিক সেখানেই আটকে দিন (আমার ক্ষেত্রে ডি: / ভিভিভি)।

আপনার কম্পিউটার 2 হোস্টে আপনার যা প্রয়োজন তা সবই অনুলিপি করে।

4- এটি চালান: vagrant box add package.box --name VVV

(- নামটি আপনার ভার্চুয়াল মেশিনটির নামকরণে ব্যবহৃত হয় my আমার ক্ষেত্রে এটির নাম ভিভিভি দেওয়া হয়েছে) (আপনি যদি ইতিমধ্যে এই নামের ভার্চুয়াল মেশিন রেখে থাকেন এবং এটি ওভাররাইট করতে চান তবে আপনি ব্যবহার করতে পারেন - (সাবধানতার সাথে ব্যবহার করুন!))

এটি আপনার নতুন ভিজাগর ভার্চুয়াল মেশিনটিকে প্যাক করবে।

5- ফিনিশ হয়ে গেলে, চালান: vagrant up

মেশিনটি ইনস্টল হবে এবং আপনার এটি "ওরাকল ভার্চুয়াল মেশিন বক্স ম্যানেজার" এ দেখা উচিত। যদি আপনি ভার্চুয়াল মেশিনটি দেখতে না পান তবে প্রশাসক হিসাবে ওরাকল ভিএম বক্স চালানোর চেষ্টা করুন (ডান ক্লিক করুন -> প্রশাসক হিসাবে চালান)

আপনার কাছে এখন সবকিছু ঠিক আছে তবে আপনার হোস্টগুলি যেমনটি প্রত্যাশা করেছিলেন তেমন রয়েছে কিনা তা মনে রাখবেন:

c:/windows/system32/hosts

Maybe- সম্ভবত আপনার হোস্ট ফাইলটি আপনার কম্পিউটার 1 থেকে আপনার কম্পিউটারে অনুলিপি করা 2 বা আপনার প্রয়োজনীয় লাইনগুলি অনুলিপি করা ভাল ধারণা । আমার ক্ষেত্রে এগুলি আমার দরকার হোস্টগুলি:

192.168.50.4 test.dev
192.168.50.4 vvv.dev
...

যেখানে 192.168.50.4 হ'ল আমার ভার্চুয়াল মেশিনের আইপি এবং টেস্ট.দেব এবং ভিভিভি.দেব হোস্ট বিকাশ করছে।

আমি আশা করি এটি আপনাকে সহায়তা করতে পারে :) আপনি নিজের প্রতিক্রিয়া জানালে আমি খুশি হব।

আমার মামলার কিছু বিশদ যা আপনি খুঁজে পেতে পারেন:

আমি যখন অস্পষ্ট হয়ে দৌড়ে গেলাম তখন মাইএসকিএল নিয়ে সমস্যা ছিল, এটি কাজ করে না। আমাকে ভার্চুয়াল সার্ভারে চালাতে হয়েছিল (ওরাকল ভার্চুয়াল মেশিনে ডান ক্লিক করুন -> কনসোল দেখান):apt-get install mysql-server

এরপরে, আমি আবারও উদ্বিগ্ন হয়ে দৌড়ে এসেছি এবং সবকিছুই কাজ করছে তবে ডাটাবেসের ডেটা ছাড়াই। সুতরাং আমি কম্পিউটার 1 থেকে একটি মাইসকিल्डম্প অল-টেবিলগুলি করেছি এবং সেগুলি কম্পিউটার 2 এ আপলোড করেছি।

অন্যান্য নোটগুলি: আমার ভার্চুয়াল মেশিনটি কম্পিউটার 1 এবং কম্পিউটার 2 তে ঠিক নেই হোস্ট:vagrant plugin install vagrant-winnfsd


1

যেমন বলা হয়েছে

ভ্যাগ্র্যান্ট যেখানে তার ভার্চুয়াল হার্ড ড্রাইভের সন্ধান করে সেখানে আমি কীভাবে পরিবর্তন করতে পারি?

ভার্চুয়াল-মেশিনের স্থিতি পূর্বনির্ধারিত ভার্চুয়ালবক্স ফোল্ডারে সংরক্ষিত। আপনার যান্ত্রিক-প্রকল্পের পাশাপাশি আপনার অন্য হোস্টের সাথে সম্পর্কিত মেশিন (ফোল্ডার) অনুলিপি করা আপনার ভার্চুয়াল মেশিনের অবস্থা রক্ষা করা উচিত।


0

2019 পর্যন্ত একটি সাবকম্যান্ড রয়েছে: vagrant box repackage

vagrant box repackage --help 
Usage: vagrant box repackage <name> <provider> <version>
    -h, --help                       Print this help

আপনি খুঁজে পেতে পারেন name providerএবং versionচালিয়েvagrant box list

vagrant box list
macinbox (virtualbox, 10.14.5)

এর আউটপুট vagrant box repackageহ'ল একটি ফাইল package.boxযা মূলত একটি টিজিজেড ফাইল যা সামগ্রীটি নীচে তালিকাভুক্ত করা যেতে পারে:

tar tzf package.box
./metadata.json
./box.ovf
./Vagrantfile
./box-disk001.vmdk
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.