এলএক্সসি: আমি কীভাবে কোনও ফোল্ডারটি হোস্ট থেকে পাত্রে মাউন্ট করব?


24

আমি হোস্টে একটি এলএক্সসি পাত্রে একটি ফোল্ডার মাউন্ট করার চেষ্টা করছি।

হোস্টটির একটি ফোল্ডার /mnt/ssd/solr_dataতৈরি করা হয়েছে (এটি বর্তমানে মূল ফাইল সিস্টেমে রয়েছে তবে পরে আমি সেখানে এসএসডি ড্রাইভটি মাউন্ট করব, তাই আমি এটির জন্য প্রস্তুতি নিচ্ছি)।

আমি চাই যে ফোল্ডারটি /dataধারক হিসাবে মাউন্ট করা উচিত ।

সুতরাং ধারকগুলিতে fstab ফাইলটিতে আমার নিম্নলিখিত রয়েছে:

/mnt/ssd/solr_data      /var/lib/lxc/Solr4StandAlone/rootfs/data        ext4    defaults,noatime        0       0

তবে এটি কোনও যেতে হবে না, আমি ধারকটি শুরু করার সময় এই ত্রুটিটি পেয়েছি:

lxc-start: No such file or directory - failed to mount '/mnt/ssd/solr_data' on '/usr/lib/x86_64-linux-gnu/lxc//data'
lxc-start: failed to setup the mounts for 'Solr4StandAlone'
lxc-start: failed to setup the container
lxc-start: invalid sequence number 1. expected 2
lxc-start: failed to spawn 'Solr4StandAlone'

উত্তর:


16

ধারকটিতে স্বয়ংক্রিয়ভাবে ডিরেক্টরি তৈরি করতে, আপনি create=dirfstab- এ বিকল্পটিও যুক্ত করতে পারেন :

/mnt/ssd/solr_data      /var/lib/lxc/Solr4StandAlone/rootfs/data        none   bind,create=dir

সম্পাদনা করুন: এটি এলএক্সসির সাথে নির্দিষ্ট। এই থ্রেড দেখুন

আমাদের যেমন ইতিমধ্যে "alচ্ছিক" ছিল, এটি দুটি নতুন এলএক্সসি-নির্দিষ্ট মাউন্ট ফ্ল্যাগ যুক্ত করেছে:

  • তৈরি করুন = দির (পথে একটি mkdir_p করবে)

  • তৈরি করুন = ফাইল (পথে একটি dirname + fopen একটি mkdir_p করবে)

এটি সুবিধাবঞ্চিত ধারকগুলির জন্য প্রয়োজনীয় কয়েকটি বাইন্ড-মাউন্টগুলির দ্বারা অনুপ্রাণিত হয়েছিল।


1
এটি কোন সংস্করণে mountপ্রযোজ্য? mount(8)উদাহরণস্বরূপ, উবুন্টু 14.04 এ বর্ণিত বিকল্পটি আমি খুঁজে পাইনি ।
0xC0000022L

এছাড়াও নেই সর্বশেষmount(8)
0xC0000022L

2
প্রকৃতপক্ষে ... দেখে মনে হচ্ছে এটি শুধুমাত্র lxc এর সাথে কাজ করে। দেখুন উপর lxc-devel এমএল এই থ্রেড
অল্প শহরবাসী

14

ইন /var/lib/lxc/Solr4StandAlone/configএকটি লাইন পড়া যোগ করুন:

lxc.mount.entry = /mnt/ssd/solr_data  /var/lib/lxc/Solr4StandAlone/rootfs/data none bind 0 0

তারপরে lxc-stopআপনার ধারক এবং lxc-startআপনার ধারকটি আবার থামান ।

এটাই দরকার।

রেফ: রেফারেন্স লিঙ্ক


2
আপনার সমাধানটি আরও ভাল পর্যালোচনা হওয়া উচিত কারণ এটি অনিবদ্ধ এলএক্সসি পাত্রে সরঞ্জাম দিয়ে কাজ করে। অন্যগুলি এই ক্ষেত্রে কাজ করবে না। এবং সম্ভবত সেলিনাক্স / অ্যাপোর্টটি তাদের পদ্ধতির অনুমতি দেওয়ার জন্য টুইঙ্ক করা দরকার। আপনার সমাধানের জন্য +1!
হিউজেন্স 14

11

/dataমাউন্টটি সঠিকভাবে কাজ করার আগে আমাকে লোকাল পাত্রে ফোল্ডারটি তৈরি করতে হয়েছিল ।

আমি এই fstab এন্ট্রিটিও ব্যবহার করেছি:

/mnt/ssd/solr_data      /var/lib/lxc/Solr4StandAlone/rootfs/data        none   bind     0       0

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

9

2015/09/30 হিসাবে একটি সুরক্ষা প্যাচের ফলে পরিবর্তিত পরিবর্তনটি কনফিগার ফাইলে lxc.mount.entry এর সাথে একটি নিখুঁত পাথের দিকে যেতে পারে।

পরিবর্তে আপনি একটি আপেক্ষিক পথ ব্যবহার করতে পারেন

 lxc.mount.entry = /mnt/ssd/solr_data data none bind 0 0

দেখুন: https://wiki.debian.org/LXC#Bind_mounts_inside_t_container


দুর্দান্ত সংযোজন, এটি একটি উত্তর হিসাবে কাজ করে, এটি উত্সাহিত হবে যাতে লোকেরা শীঘ্রই এটি দেখতে পারে। এটি যুক্ত করার জন্য ধন্যবাদ!
ডেভিড পার্কস

6

যেহেতু সময়ের সাথে এলএক্সসি পরিবর্তিত হয়েছে এটি খুব সহজ হতে পারে তবে এটি আমাকে কিছুটা থামিয়ে দিয়েছে, তাই অবদান রাখতে চেয়েছিল। আমি এটির জন্য একটি বাক্যও তৈরি করেছি যাতে আমি নিজেকে স্মরণ করতে পারি, তবে কেবলমাত্র lxc কনফিগার ডিভাইসটি ব্যবহারটি কৌশলটি করবে।

sudo lxc config device add Solr4StandAlone sdb disk source=/var/lib/lxc/Solr4StandAlone/rootfs/data path=mnt/ssd/solr_data

দ্রষ্টব্য @ বিস্কুটনিঞ্জা দ্বারা উল্লিখিত পরিবর্তনের কারণে পথের তর্কটি বন্ধ করে দেওয়া গুরুত্বপূর্ণ is

ধারক থেকে হোস্টে মাউন্টিং ডিরেক্টরি


1

আপনি যদি libvirtনিজের lxcধারক তৈরি করতে ব্যবহার করে থাকেন তবে আপনি হোস্টে ডিরেক্টরিটি passthroughএখানে প্রদর্শিত হিসাবে তৈরি করতে পারেন :

root@localhost:/# cat /etc/libvirt/lxc/my_container.xml
...
 <filesystem type='mount' accessmode='passthrough'>
    <source dir='<dir on host>'/>
    <target dir='<dir on container>'/>
 </filesystem>
....
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.