আমি কীভাবে একটি এলএক্সসি অতিথি মেশিনে কার্নেল মডিউল ইনস্টল করব?


13

আমি একটি এলএক্সসি অতিথি মেশিনে ওপেনস্ট্যাক ডেভস্ট্যাক ইনস্টল করার চেষ্টা করছি। ডেভস্ট্যাকের প্যাকেজগুলির মধ্যে একটিতে নতুন কার্নেল মডিউল প্রয়োজন, তবে আমি যখন LXC অতিথির উপর Modprobe চালানোর চেষ্টা করি তখন আমি একটি ত্রুটি পাই:

ubuntu@lxc$ sudo modprobe scsi_transport_iscsi
FATAL: Could not load /lib/modules/3.2.0-48-generic/modules.dep: No such file or directory

আমি কীভাবে আমার এলএক্সসি অতিথি মেশিনের জন্য এই মডিউলটি ইনস্টল করতে পারি?

উত্তর:


13

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

স্ট্যান্ডার্ড সুপারিশটি হ'ল কনটেইনারটি শুরু করার আগে হোস্টে কোনও মডিউল লোড করা উচিত। আপনি এটি একটি ভাল পুরাতন আরআইপি স্ক্রিপ্টের সাহায্যে বা একটি এলএক্সসি হুক ব্যবহার করে করতে পারেন (বিশদের জন্য আমার সাম্প্রতিক পোস্টটি এখানে দেখুন: https://www.stgraber.org/2013/12/23/lxc-1-0-some- আরও উন্নত-ধারক-ব্যবহার / )


1

এই উত্তরের উদ্দেশ্যে, ধরে নেওয়া যাক আপনার ধারকটির নাম `" foo "রাখা হয়েছে।

পার্ট এ

  1. হোস্ট থেকে, একটি অনুলিপি সংরক্ষণ করুন /var/lib/lxc/foo/config, যদি আমার নির্দেশাবলী কিছু ভঙ্গ করে।

  2. SYS_MODULE ক্ষমতা রাখতে আপনার ধারকটি কনফিগার করতে হবে ।

    সচেতন থাকুন যে এই জাতীয় কনফিগারেশনটি সেই ধারকটিকে কার্নেল এবং তার দ্বারা হোস্টকে ধরে নেওয়ার ক্ষমতা দেয়

    এটি করতে, আপনি "lxc.cap.drop"বা "lxc.cap.keep"কনফিগারেশন লাইনটি পরিবর্তন করতে চান ।

    আপনি যদি উবুন্টু 19.04 গেস্ট চালাচ্ছেন যা তখন তৈরি হয়েছিল "lxc-create --name foo --template download -- ...":

    • /var/lib/lxc/foo/config একটি লাইন থাকবে

      lxc.include = /usr/share/lxc/ubuntu.common.conf
      
    • /usr/share/lxc/ubuntu.common.conf একটি লাইন থাকবে

      lxc.include = /usr/share/lxc/config/common.conf
      
    • /usr/share/lxc/config/common.conf এই মত একটি লাইন থাকবে

      lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
      

আপনার সেই শেষ লাইনটি /var/lib/lxc/foo/config(বা এর পরে যে কোনও স্থানের "include /usr/share/lxc/ubuntu.common.conf") শেষে অনুলিপি করা উচিত এবং তারপরে "sys_module"সেই তালিকা থেকে মুছুন ।

খণ্ড খ

পাত্রে আপনার কার্নেল মডিউলগুলির একটি অনুলিপি দরকার।

যদি আপনার হোস্ট কোনও উবুন্টু কার্নেল চালাচ্ছেন তবে আপনি "sudo apt install kernel-image-$(uname -r)"অতিথির কাছ থেকে এমন কিছু করতে সক্ষম হতে পারেন ।

অন্যথায় হোস্টের কাছ থেকে এই জাতীয় কিছু করার প্রয়োজন হতে পারে (ধরে নিলে আপনার ধারকটির নাম "ফু" রাখা হয়েছে):

mkdir -p /var/lib/lxc/foo/rootfs/lib/modules
cp -apr /lib/modules/$(uname -r) /var/lib/lxc/foo/rootfs/lib/modules/

এর পরে, গেস্ট ফু চলমান থাকলে বন্ধ করুন, এবং এরপরে আবার কিছু শুরু করুন "lxc-start --name foo"

এলএক্সসি পাত্রে এখন কার্নেল মডিউলগুলি লোড এবং আনলোড করতে সক্ষম হওয়া উচিত।

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