ฉันมีประสบการณ์มากมายในการใช้ OpenVZ แต่ฉันต้องการลองใช้ LXC บนเซิร์ฟเวอร์ที่การแยกตัวที่สมบูรณ์แบบไม่เป็นปัญหา สาเหตุหลักของสวิตช์คือเลือกใช้ Ubuntu Server LTS เป็นระบบปฏิบัติการพื้นฐาน แต่ปัจจุบันโปรเจ็กต์ OpenVZ รองรับเฉพาะเคอร์เนล RHEL และเคอร์เนลแพตช์ล่าสุดคือ 2.6.32

เซิร์ฟเวอร์ใหม่นี้ใช้งาน Ubuntu 12.04 LTS ฉันพบว่าการสร้างคอนเทนเนอร์โดยใช้เทมเพลตคอนเทนเนอร์ที่ให้มานั้นง่ายมาก เช่นlxc-create -t ubuntu -n testvps -B lvm --vgname vps --fssize 20G --fstype ext4. อย่างไรก็ตาม ฉันยังไม่พบข้อมูลสำคัญใดๆ ที่อธิบายวิธีใช้เทมเพลต OpenVZ ที่สร้างไว้ล่วงหน้าและใช้เป็นฐานสำหรับคอนเทนเนอร์ LXC บทความที่ฉันเห็นโดยพื้นฐานแล้วแนะนำเทมเพลต OpenVZ เป็นตัวเลือกที่ดีสำหรับคอนเทนเนอร์ LXC แต่อย่างไร? บทความนี้ใกล้จะถึงแล้ว แต่ใช้เส้นทางที่Ubuntu 12.04 ไม่ใช้และแยกไปยังระบบไฟล์โดยตรงแทนโลจิคัลวอลุ่ม LVM ฉันยังใหม่กับ LXC อยู่ ฉันแน่ใจว่าต้องมีบางอย่างที่ขาดหายไป ฉันจำเป็นต้องรู้ว่าฉันควรวางเทมเพลต OpenVZ ไว้ที่ไหน (หรือแยกออก) เพื่อให้คำสั่ง lxc-create -t` สามารถเริ่มต้นได้

ฉันต้องสร้างคอนเทนเนอร์ LXC บนโวลุ่ม LVM ภายใต้ Ubuntu 12.04 จากเทมเพลต OpenVZ CentOS 6 ที่สร้างไว้ล่วงหน้า ความช่วยเหลือใด ๆ ที่ชี้ให้ฉันไปในทิศทางที่ถูกต้องจะได้รับการชื่นชมอย่างมาก ขอขอบคุณ!

answer

I do this all the time using LXC and the OpenVZ CentOS templates.

The two guides I followed initially are here and here.

I usually place my containers under /srv/ or /srv/lxc/. I don't bother with LVM, but if you want to, just mount your new LVM volume under /srv/lxc/container_name per-container. That makes sense, right?

In this example, I have a ZFS-on-Linux mount at the place where I want the container to reside under /srv:

[[email protected]_Mirror1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p2      12G  1.9G  9.4G  17% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/cciss/c0d0p1     291M   59M  218M  22% /boot
/dev/cciss/c0d0p7     2.0G  119M  1.8G   7% /tmp
/dev/cciss/c0d0p3     9.9G  1.9G  7.5G  20% /usr
/dev/cciss/c0d0p6     6.0G  321M  5.3G   6% /var
vol2/images            98G   43G   56G  44% /images
vol3/Lancaster_Test    98G   22G   77G  22% /srv/Lancaster_Test <<--container

As for the LXC installation, I take the prebuilt OpenVZ image and put it in the destination container directory, then unpack it - tar -ztvf centos-6-x86_64-devel.tar.gz. Nothing needs to be modified on the template to make this work.

  426  wget http://downloads.sourceforge.net/project/lxc/lxc/lxc-0.7.3/lxc-0.7.3.tar.gz
  427  rpmbuild -ta lxc-0.7.3.tar.gz
  429  rpmbuild -ta lxc-0.7.3.tar.gz
  434  yum --nogpg install lxc-0.7.3-1.x86_64.rpm libvirt
  437  lxc-create -f /etc/lxc/Lancaster_Test.conf -n Lancaster_Test
  438  lxc-checkconfig
  441  screen -dmS init-Lancaster_Test /usr/bin/lxc-start -n Lancaster_Test
  442  screen -dmS console-Lancaster_Test /usr/bin/lxc-console -n Lancaster_Test

Maybe I'm off, but I choose to use the containers directly on a filesystem. Are you doing something different?

I can provide excerpts of the lxc config files, but you don't seem to have an issue with that.