LXC، اختصار لـ حاويات لينكس، هو حل ظاهري خفيف الوزن يعتمد على نواة Linux ، والذي يعمل عمليا أعلى نظام التشغيل ، مما يسمح لك بتشغيل توزيعات معزولة متعددة في نفس الوقت.
الفرق بين LXC و افتراضية KVM هو أن LXC لا يحاكي الأجهزة ، ولكنه يشترك في نفس مساحة اسم kernel ، على غرار تطبيقات chroot.
هذا يجعل LXC حلاً افتراضيًا سريعًا جدًا مقارنةً بالحلول الافتراضية الأخرى ، مثل KVM, XEN أو برنامج VMware.
ستوجهك هذه المقالة إلى كيفية تثبيت ونشر وتشغيل حاويات LXC على توزيعات CentOS / RHEL و Fedora.
نظام تشغيل Linux يعمل بأقل قدر من التثبيت:
1. يتم توفير المحاكاة الافتراضية LXC من خلال مستودعات Epel. من أجل استخدام هذا الريبو ، افتح Terminal وقم بتثبيت مستودعات Epel في نظامك عن طريق إصدار الأمر التالي:
# yum تثبيت الإصدار epel.
2. قبل متابعة عملية تثبيت LXC ، تأكد من ذلك بيرل يتم تثبيت حزم debootstrap و debootstrap من خلال إصدار الأوامر التالية.
# يمكنك تثبيت debootstrap perl libvirt.
3. أخيرًا ، قم بتثبيت حل المحاكاة الافتراضية LXC باستخدام الأمر التالي.
# يمكنك تثبيت قوالب lxc lxc.
4. بعد تثبيت خدمة LXC ، تحقق مما إذا كان LXC و libvirt الشيطان قيد التشغيل.
# systemctl status lxc.service. # systemctl ابدأ خدمة lxc. # systemctl ابدأ libvirtd # systemctl status lxc.service.
تحقق من حالة LXC Daemon
[[البريد الإلكتروني محمي] ~]# systemctl status lxc.service lxc.service - تهيئة حاوية LXC وتحميل رمز التشغيل التلقائي: تم تحميله (/usr/lib/systemd/system/lxc.service ؛ معطل) نشط: غير نشط (ميت) [[البريد الإلكتروني محمي] ~]# systemctl ابدأ lxc.service [[البريد الإلكتروني محمي] ~]# systemctl status lxc.service lxc.service - تهيئة حاوية LXC وتحميل رمز التشغيل التلقائي: تم تحميله (/usr/lib/systemd/system/lxc.service ؛ معطل) نشط: نشط (خرج)منذ الجمعة 2016-04-01 02:33:36 EDT؛ قبل دقيقة و 37 ثانية العملية: 2250 ExecStart = / usr / libexec / lxc / lxc-autostart-helper start (كود = تم الخروج ، الحالة = 0 / نجاح) العملية: 2244 ExecStartPre = / usr / libexec / lxc / lxc-devsetup (code = exited، status = 0 / SUCCESS) PID الرئيسي: 2250 (code = exited، status = 0 / SUCCESS) Apr 01 02:33:06 mail systemd [1]: بدء LXC Container Initialization و Autoboot Code... 01 أبريل 02:33:06 mail lxc-devsetup [2244]: إنشاء /dev/.lxc. 01 أبريل 02:33:06 mail lxc-devsetup [2244]: / dev is devtmpfs. 01 أبريل 02:33:06 mail lxc-devsetup [2244]: إنشاء /dev/.lxc/user. 01 أبريل 02:33:36 mail lxc-autostart-helper [2250]: بدء حاويات LXC autoboot: [موافق] 01 أبريل 02:33:36 نظام البريد [1]: بدء تهيئة حاوية LXC ورمز التشغيل التلقائي.
وتحقق من حالة المحاكاة الافتراضية لـ LXC kernel عن طريق إصدار الأمر أدناه.
# lxc-checkconfig.
تحقق من تكوين المحاكاة الافتراضية LXC Kernel
[[البريد الإلكتروني محمي] ~]# lxc-checkconfig
لم يتم العثور على تكوين Kernel في /proc/config.gz ؛ يبحث... تم العثور على تكوين Kernel في /boot/config-3.10.0-229.el7.x86_64. مساحات الأسماء: ممكن
مساحة اسم Utsname: ممكن
مساحة اسم IPC: ممكن
معرف الهيكلة: ممكن
مساحة اسم المستخدم: ممكن
مساحة اسم الشبكة: ممكن
حالات متعددة / dev / pts: ممكن مجموعات التحكم Cgroup: ممكن
Cgroup clone_children flag: ممكن
جهاز Cgroup: ممكن
جدول Cgroup: ممكن
حساب وحدة المعالجة المركزية Cgroup: ممكن
وحدة تحكم ذاكرة Cgroup: ممكن
Cgroup cpuset: ممكن جهاز Misc Veth pair: ممكن
ماكفلان: ممكن
شبكة محلية ظاهرية: ممكن
الجسور: ممكن
مرشح الشبكة المتقدم: ممكن
CONFIG_NF_NAT_IPV4: ممكن
CONFIG_NF_NAT_IPV6: ممكن
CONFIG_IP_NF_TARGET_MASQUERADE: ممكن
CONFIG_IP6_NF_TARGET_MASQUERADE: ممكن
CONFIG_NETFILTER_XT_TARGET_CHECKSUM: ممكن استعادة نقاط التفتيش / استعادة نقاط التفتيش: مفقود. CONFIG_FHANDLE: ممكن
CONFIG_EVENTFD: ممكن
CONFIG_EPOLL: ممكن
CONFIG_UNIX_DIAG: ممكن
CONFIG_INET_DIAG: ممكن
CONFIG_PACKET_DIAG: ممكن
CONFIG_NETLINK_DIAG: ممكن
إمكانيات الملف: ممكن ملاحظة: قبل تشغيل نواة جديدة ، يمكنك التحقق من تكوينها. الاستعمال: CONFIG = / path / to / config / usr / bin / lxc-checkconfig.
5. لسرد حاويات قوالب LXC المتاحة المثبتة بالفعل على إصدار النظام الخاص بك ، الأمر أدناه.
# ls -alh / usr / share / lxc / قوالب /
قائمة حاويات قوالب LXC
إجمالي 344 ألف. drwxr-xr-x. 2 جذر 4.0K 1 أبريل 02:32. drwxr-xr-x. 6 جذر 100 أبريل 1 02:32.. -rwxr-xr-x. 1 جذر 11K Nov 15 10:19 lxc-alpine. -rwxr-xr-x. 1 جذر 14K 15 نوفمبر 10:19 lxc-altlinux. -rwxr-xr-x. 1 جذر 11K نوفمبر 15 10:19 lxc-archlinux. -rwxr-xr-x. 1 جذر 9.7K 15 نوفمبر 10:19 lxc-busybox. -rwxr-xr-x. 1 جذر 29K 15 نوفمبر 10:19 lxc-centos. -rwxr-xr-x. 1 جذر 11K Nov 15 10:19 lxc-cirros. -rwxr-xr-x. 1 جذر 17 ك 15 نوفمبر 10:19 lxc-debian. -rwxr-xr-x. 1 جذر 18K Nov 15 10:19 lxc-download. -rwxr-xr-x. 1 جذر 49K نوفمبر 15 10:19 lxc-fedora. -rwxr-xr-x. 1 جذر 28K 15 نوفمبر 10:19 lxc-gentoo. -rwxr-xr-x. 1 جذر 14K Nov 15 10:19 lxc-openmandriva. -rwxr-xr-x. 1 جذر 14K 15 نوفمبر 10:19 lxc-openuse. -rwxr-xr-x. 1 جذر 35K Nov 15 10:19 lxc-oracle. -rwxr-xr-x. 1 جذر 12K Nov 15 10:19 lxc-plamo. -rwxr-xr-x. 1 جذر 6.7K Nov 15 10:19 lxc-sshd. -rwxr-xr-x. 1 جذر 23 ك 15 نوفمبر 10:19 lxc-ubuntu. -rwxr-xr-x. 1 جذر 12K 15 نوفمبر 10:19 lxc-ubuntu-cloud.
6. عملية إنشاء حاوية LXC بسيطة للغاية. يتم شرح بناء جملة الأمر لإنشاء حاوية جديدة أدناه.
# lxc-create -n container_name -t container_template.
في المقتطف أدناه سننشئ حاوية جديدة باسم mydeb
استنادا إلى أ ديبيان
النموذج الذي سيتم سحبه من مستودعات LXC.
إنشاء حاوية LXC
[[البريد الإلكتروني محمي] ~]# lxc-create -n mydcb -t debian
debootstrap هو / usr / sbin / debootstrap. التحقق من تنزيل ذاكرة التخزين المؤقت في / var / cache / lxc / debian / rootfs-jessie-amd64... جارٍ تنزيل debian Minimal... W: لا يمكن التحقق من توقيع الإصدار ؛ ملف keyring غير متاح /usr/share/keyrings/debian-archive-keyring.gpg. I: استرداد الإصدار الأول: استرداد الحزم 1: التحقق من صحة الحزم 1: حل تبعيات الحزم المطلوبة... I: حل تبعيات الحزم الأساسية... ...
7. بعد سلسلة من التبعيات الأساسية والحزم التي سيتم تنزيلها وتثبيتها في نظامك ، سيتم إنشاء الحاوية. عند انتهاء العملية ، ستظهر رسالة تعرض كلمة المرور الافتراضية لحساب الجذر. قم بتغيير كلمة المرور هذه بمجرد أن تبدأ وتسجيل الدخول إلى وحدة تحكم الحاوية حتى تكون آمنًا.
مدعومة ومثبتة على نظامك. perl: تحذير: الرجوع إلى اللغة القياسية ("C"). فشلت قراءة / proc / cmdline. تجاهل: لا يوجد مثل هذا الملف أو الدليل. invoke-rc.d: رفض policy-rc.d تنفيذ البداية. لم يتم تكوين المنطقة الزمنية في الحاوية. اضبطه يدويًا. كلمة مرور الجذر هي "جذر'، من فضلك غير ! إنشاء مواقع (قد يستغرق ذلك بعض الوقت)... en_IN.en_IN... ملف مخطط الأحرف "en_IN" غير موجود: لا يوجد مثل هذا الملف أو الدليل. / usr / share / i18n / locales / en_IN: 55: LC_MONETARY: تم إنجاز حرف غير معروف في الحقل "currency_symbol". اكتمل الجيل.
8. الآن ، يمكنك استخدام lxc-ls
لسرد حاوياتك و معلومات lxc
للحصول على معلومات حول حاوية قيد التشغيل / متوقفة.
لبدء الحاوية التي تم إنشاؤها حديثًا في الخلفية (سيتم تشغيلها كخادم عن طريق تحديد ملف -د
option) قم بإصدار الأمر التالي:
# lxc-start -n mydeb -d.
9. بعد بدء تشغيل الحاوية ، يمكنك سرد الحاويات قيد التشغيل باستخدام ملف lxc-ls - نشط
الأمر والحصول على معلومات مفصلة حول الحاوية قيد التشغيل.
# lxc-ls - نشط.
10. من أجل تسجيل الدخول إلى وحدة تحكم الحاوية ، قم بإصدار ملف lxc- وحدة التحكم
الأمر ضد اسم حاوية قيد التشغيل. تسجيل الدخول باستخدام جذر المستخدم وكلمة المرور التي تم إنشاؤها افتراضيًا بواسطة مشرف lxc.
بمجرد تسجيل الدخول إلى الحاوية ، يمكنك تشغيل عدة أوامر للتحقق من التوزيع عن طريق عرض ملف /etc/issue.net
محتوى الملف ، قم بتغيير كلمة مرور الجذر عن طريق إصدار passwd
الأمر أو عرض تفاصيل حول واجهات الشبكة باستخدام ifconfig
.
# lxc-console -n mydeb. # قطة /etc/issue.net. # ifconfig. # كلمة مرور.
الاتصال بحاوية LXC
[[البريد الإلكتروني محمي]~]# lxc- وحدة التحكم- n mydcb متصل بـ tty 1. اكتب & ltCtrl + a q> للخروج من وحدة التحكم ،للدخول إلى Ctrl + a نفسه Debian GNU / Linux 8 mydcb tty1 mydcb login: جذر كلمة المرور: آخر تسجيل دخول: الجمعة 1 أبريل 07:39:08 UTC 2016 على وحدة التحكم. Linux mydcb 3.10.0-229.el7.x86_64 # 1 SMP Fri 6 Mar 6 11:36:42 UTC 2015 x86_64 البرامج المضمنة في نظام Debian GNU / Linux هي برامج مجانية ؛ يتم وصف شروط التوزيع الدقيقة لكل برنامج في. ملفات فردية في / usr / share / doc / * / copyright. يأتي Debian GNU / Linux بدون ضمان مطلقًا ، إلى حدٍ ما. يسمح به القانون المعمول به. [البريد الإلكتروني محمي]:~# cat /etc/issue.net دبيان جنو / لينكس 8. [البريد الإلكتروني محمي]:~# ifconfig eth0 Link encap: Ethernet HWaddr 00: 16: 3e: d9: 21: d7 inet6 addr: fe80:: 216: 3eff: fed9: 21d7 / 64 النطاق: Link UP BroadCast RUNNING MULTICAST MTU: 1500 Metric: 1 RX packets: 107 أخطاء: 0 مسقطة: 0 تجاوزات: 0 إطار: 0 حزم TX: 8 أخطاء: 0 مسقطة: 0 تجاوزات: 0 ناقل: 0 تصادم: 0 txqueuelen: 1000 RX بايت: 5796 (5.6 KiB) TX بايت: 648 (648.0 B) lo encap: Local Loopback inet addr: 127.0.0.1 القناع: 255.0.0.0 inet6 addr::: 1/128 النطاق: Host UP LOOPBACK RUNNING MTU: 65536 Metric: 1 RX الحزم: 0 أخطاء: 0 مسقطة: 0 تجاوزات: 0 إطار: 0 حزم TX: 0 أخطاء: 0 مسقطة: 0 تجاوزات: 0 ناقل: 0 تصادم: 0 txqueuelen: 0 RX بايت: 0 (0.0 B) بايت TX: 0 (0.0 مليار) [البريد الإلكتروني محمي]:~# جذر passwd أدخل كلمة مرور UNIX الجديدة: أعد كتابة كلمة مرور UNIX الجديدة: passwd: تم تحديث كلمة المرور بنجاح.
11. للانفصال عن وحدة التحكم في الحاوية والعودة إلى وحدة التحكم المضيفة الخاصة بك ، وترك الحاوية في حالة نشطة ، اضغط Ctrl + a
من ثم ف
على لوحة المفاتيح.
لإيقاف تشغيل حاوية إصدار الأمر التالي.
# lxc-stop -n mydcb.
12. لإنشاء حاوية LXC بناءً على قالب Ubuntu ، أدخل /usr/sbin/
الدليل وإنشاء ما يلي debootstrap رابط رمزي.
# cd / usr / sbin. # ln -s debootstrap qemu-debootstrap.
13. يحرر qemu-debootstrap
ملف مع السادس محرر واستبدال ما يلي مرآة الأسطر على النحو التالي:
DEF_MIRROR = " http://mirrors.kernel.org/ubuntu” DEF_HTTPS_MIRROR = " https://mirrors.kernel.org/ubuntu”
للرجوع إليها ، راجع المحتوى التالي وضع السطرين أعلاه كما هو مذكور:
... MAKE_TARBALL = "" EXTRACTOR_OVERRIDE = "" UNPACK_TARBALL = "" إضافي = "" استثناء = "" فيربوز = "" شهادة = "" CHECKCERTIF = "" PRIVATEKEY = ""DEF_MIRROR = " http://mirrors.kernel.org/ubuntu” DEF_HTTPS_MIRROR = " https://mirrors.kernel.org/ubuntu”
14. أخيرًا ، قم بإنشاء حاوية LXC جديدة بناءً على أوبونتو نموذج اصدار نفسه lxc- إنشاء
قيادة.
بمجرد انتهاء عملية إنشاء حاوية Ubuntu ، ستعرض رسالة بيانات اعتماد تسجيل الدخول الافتراضية للحاوية كما هو موضح في لقطة الشاشة أدناه.
# lxc-create -n myubuntu -t ubuntu.
قم بإنشاء حاوية LXC Ubuntu
التحقق من تنزيل ذاكرة التخزين المؤقت في / var / cache / lxc / Precision / rootfs-amd64... تثبيت الحزم في قالب: ssh ، vim ، language-pack-en. تحميل الحد الأدنى الدقيق أوبونتو...
15. من أجل إنشاء حاوية معينة بناءً على نموذج محلي ، استخدم الصيغة التالية:
# lxc-create -n container_name -t container_template - -r distro_release -a distro_architercture
هنا مقتطف من إنشاء ملف ديبيان ويزي حاوية مع amd64 بنية النظام.
# lxc-create -n mywheezy -t debian - -r Wheezy -a amd64.
قم بإنشاء حاوية LXC بناءً على هندسة التوزيع
debootstrap هو / sbin / debootstrap. التحقق من تنزيل ذاكرة التخزين المؤقت في / var / cache / lxc / debian / rootfs-wheezy-amd64... جارٍ تنزيل debian Minimal... W: لا يمكن التحقق من توقيع الإصدار ؛ ملف keyring غير متاح /usr/share/keyrings/debian-archive-keyring.gpg. I: استرداد الإصدار الأول: استرداد الحزم 1: التحقق من صحة الحزم 1: حل تبعيات الحزم المطلوبة... الأول: حل تبعيات الحزم الأساسية... I: تم العثور على تبعيات إضافية مطلوبة: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1 I: وجدت تبعيات أساسية إضافية: adduser debian-archive-keyring gnupg gpgv isc-dhcp-common libapt-pkg4.12 libbsd0 libclass-isa-perl libedit2 libgdbm3 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5-3 libncursesw5 libprocps0 libreadline6 libssl1.0.0 libstdc ++ 6 libswitch-perl libusb-0.1-4 libwrap0 openssh-client perl perl-modules procps readline-common I: فحص المكون الرئيسي على http://http.debian.net/debian... الأول: استرداد libacl1 2.2.51-8. الأول: التحقق من صحة libacl1 2.2.51-8. الأول: استرداد adduser 3.113 + nmu3. الأول: التحقق من صحة adduser 3.113 + nmu3. الأول: استرداد apt 0.9.7.9 + deb7u7. I: التحقق من صحة apt 0.9.7.9 + deb7u7. الأول: استرداد libapt-pkg4.12 0.9.7.9 + deb7u7. الأول: التحقق من صحة libapt-pkg4.12 0.9.7.9 + deb7u7. الأول: استرداد libattr1 1: 2.4.46-8. الأول: التحقق من صحة libattr1 1: 2.4.46-8. الأول: استرداد الملفات الأساسية 7.1wheezy9. الأول: التحقق من صحة الملفات الأساسية 7.1wheezy9. الأول: استرداد base-passwd 3.5.26...
16. على سبيل المثال ، يمكن أيضًا إنشاء حاويات محددة لإصدارات وبنى توزيعات مختلفة من نموذج عام سيتم تنزيله من مستودعات LXC كما هو موضح أدناه مثال.
# lxc-create -n mycentos6 -t download - -d centos -r 6 -a i386. تحميل
هنا قائمة lxc- إنشاء
مفاتيح سطر الأوامر:
-n = الاسم -t = القالب. -d = التوزيع. -a = قوس. -r = إطلاق.
17. يمكن حذف الحاويات من مضيفك بامتداد lxc- تدمير
صدر الأمر مقابل اسم حاوية.
# lxc-تدمير-ن ميويزي.
18. يمكن استنساخ حاوية من حاوية موجودة عن طريق الإصدار lxc- استنساخ
قيادة:
# lxc- استنساخ mydeb mydeb-clone.
19. وأخيرًا ، توجد جميع الحاويات التي تم إنشاؤها /var/lib/lxc/
الدليل. إذا احتجت لسبب ما إلى ضبط إعدادات الحاوية يدويًا ، يجب عليك تحرير ملف التكوين من كل دليل حاوية.
# ls / var / lib / lxc.
هذه ليست سوى الأشياء الأساسية التي تحتاج إلى معرفتها من أجل العمل في طريقك حول LXC.