এলএক্সডি দিয়ে তৈরি এলএক্সসি পাত্রে স্বয়ং-শুরু করা যায় না


5

আমি LXD সরঞ্জামের সাহায্যে সহজেই একটি lxc ধারক তৈরি করেছি তবে আমি এটি পুনরায় বুট করার সময় স্বয়ংক্রিয়ভাবে শুরু করার কোনও উপায় খুঁজে পাই না। (উবুন্টু 15.04)

এলএক্সসির জন্য বলা হয়েছে যে lxc.start.auto = 1ধারক কনফিগারেশনে যুক্ত করা যথেষ্ট হবে তবে আমি এলএক্সডি দিয়ে তৈরি পাত্রে কনফিগার ফাইলটি খুঁজে পাইনি couldn't আমি চেষ্টা করেছিলাম

lxc config set my_machine raw.lxc "lxc.start.auto=1"

কোন ভাগ্য ছাড়া। কনফিগারেশন সংরক্ষণ করা হয়েছে তবে ধারক শুরু হয়নি ... কোনও ধারণা?

উত্তর:


6

এটি এখন কয়েক মাস পরে, এবং অটোস্টার্টটি (এখন কিছু সময়ের জন্য) নিজেই lxd তে সমর্থিত। আপনি ঠিক করতে পারেন

lxc init ubuntu u1
lxc config set u1 boot.autostart true

এখন u1 প্রতিটি রিবুটটিতে অটোস্টার্ট করবে।


2

এখানে অফিসিয়াল ডকুমেন্টেশনের উপর ভিত্তি করে এলএক্সসি কনটেইনার স্টার্টআপটি আপস্টার্ট ব্যবহার করে ডিজাইন করা হয়েছিল। মার্চ 9, 2015 পর্যন্ত উবুন্টু 15.04 ডিফল্টরূপে সিস্টেমডে পরিবর্তিত হয়েছে। এই পরিবর্তনের প্রভাব সম্পর্কে কীভাবে সিস্টেমড থেকে আপস্টার্ট এবং আবার ফিরে যেতে হবে সে সম্পর্কে আরও বিশদ এই পৃষ্ঠায় উপলভ্য

আপনার সিস্টেমটি systemd বনাম আপস্টার্ট ব্যবহার করছে কিনা তা পরীক্ষা করতে আপনি কমান্ড জারি করে পরীক্ষা করতে পারেন sudo initctl versionযা আপস্টার্টটি init পরিচালনা করে থাকলে আপস্টার্টটি ফিরে আসবে। আর একটি দরকারী পদ্ধতি হ'ল কমান্ড জারি করা dpkg -S /sbin/initযা আপনাকে জানাবে যে এটি কোন প্যাকেজটি ইনস্টল করেছে (আমার ক্ষেত্রে এটি 14.04-এ আপস্টার্ট) আপনি ইউনিক্স এবং লিনাক্স- এ আমাদের বন্ধুদের কাছ থেকে কীভাবে এটি করতে পারেন তার সম্পর্কে আরও খুব ভাল উত্তর পেতে পারেন Init সিস্টেম সনাক্তকরণ সম্পর্কিত আরও বিবরণ উপলব্ধ।

আপনার এলএক্সসি কনটেইনারটি ডিজাইন অনুসারে আপস্টার্টের অধীনে অটো শুরু হয় কিনা তা দেখতে আপনি আপস্টার্ট-সিএসভি প্যাকেজটি ইনস্টল করতে পারেন যা উবুন্টু-স্ট্যান্ডার্ড এবং সিস্টেমড-সিএসভি সরিয়ে ফেলবে (তবে অন্য কিছু মুছে ফেলা উচিত নয়। বিকাশকারীদের যদি মাথা না দেয় তবে তা আপ করুন !), এবং sudo আপডেট-initramfs -u চালান। এর পরে, গ্রাবের "অ্যাডভান্সড অপশনগুলি" মেনুতে একটি "উবুন্টু, লিনাক্স ... (সিস্টেমড) সহ" এন্ট্রি থাকবে যেখানে আপনি সিস্টেমডের সাহায্যে এককালীন বুট করতে পারবেন।

আপনি systemd-sysv এবং উবুন্টু-স্ট্যান্ডার্ড প্যাকেজ ইনস্টল করে সিস্টেমে ফিরে যেতে পারেন ।

আরও উত্স (অন্যত্র সংযুক্ত নয়):

https://unix.stackexchange.com/questions/196166/how-to-find-out-if-a-system-uses-sysv-upstart-or-systemd-initsystem


বিস্তারিত উত্তরের জন্য ধন্যবাদ তবে এটি আপস্টার্ট / সিস্টেমড পরিবর্তন সম্পর্কে নয়। আমি চেষ্টা করি নি তবে lxc.serviceএলএক্সসি পাত্রে শুরু করার জন্য প্রয়োজনীয় কোড রয়েছে যা বাক্সের বাইরে কাজ করা উচিত ...
ম্যাডপোয়েট

0

আমি lxc / lxd বিকাশকারীদের তাদের জিজ্ঞাসা করেছি এবং এটি প্রদর্শিত হয় যে কনটেইনারগুলি তৈরি করতে যদি lxd ব্যবহার করা হয় তবে এটি কনফিগারেশন দিয়ে করা সম্ভব নয়। এটি এখনও কার্যকর করা হয়নি, তবে তারা পরিকল্পনা করে বলে ...

lxd lxc স্ক্রিপ্ট থেকে কিছুটা পৃথক: যেমন পাত্রে ডিফল্ট ডিরেক্টরি /var/lib/lxd/lxc/পরিবর্তে হয় /var/lib/lxc/এবং ধারক প্রতি কনফিগার ফাইলগুলি কনটেইনার অনুযায়ী কিছু কনফিগার ফাইলের পরিবর্তে একটি কেন্দ্রীয় স্ক্লাইট ডিবিতে রাখা হয়।

সুতরাং আমাকে ফাইল তৈরি করে একটি সিস্টেমযুক্ত কাজ তৈরি করতে হয়েছিল: /etc/systemd/system/multi-user.target.wants/lxd-autostart.serviceএই বিষয়বস্তু সহ:

[Unit]
Description=Start lxc containers created with lxd
After=lxd.service
Requires=lxd.service

[Service]
ExecStartPre=/usr/local/bin/lxd-autostart-check.sh
ExecStart=/usr/bin/lxc start my_machine
Restart=on-failure

[Install]
WantedBy=multi-user.target

এবং /usr/local/bin/lxd-autostart-check.shহ'ল:

#!/bin/bash

for i in {1..10}
do
    echo "."
    [ -S /var/lib/lxd/unix.socket ] && exit 0
    sleep 1
done

echo "/var/lib/lxd/unix.socket not detected!"
exit 1

1
আপনি এটি কীভাবে করেছিলেন তা বোঝাতে আপনি সম্পাদনা করতে পারেন?
টিম

@ টিম: ওহ, দুঃখিত, এটি কেবল লেখক একটি স্ক্রিপ্ট যুক্ত করার কথা বলছিল, তাই আমি ধরে নিয়েছিলাম যে এটি একটি সম্পাদনা ছিল।

@ পরানয়েড পান্ডা চিন্তা করবেন না, সহজ ভুল! :)
টিম

ঠিক আছে, অনুরোধ অনুসারে সম্পাদিত প্রশ্নটি কীভাবে সিস্টেমড জব লিখতে হবে তা নয় তবে কীভাবে এলএক্সডি দ্বারা তৈরি পাত্রে শুরু করা যায়। সিস্টেমড বনাম আপস্টার্ট পরিবর্তন এবং বিশদটি ইতিমধ্যে সরকারী উবুন্টু ডক্সে বেশ ভালভাবে নথিভুক্ত হয়েছে তাই আমি ভেবেছিলাম এটি উল্লেখ করা খুব সুস্পষ্ট।
ম্যাডপোয়েট

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