경량의 격리된 Linux 환경

경량의 격리된 Linux 환경

나는 내 컴퓨터에 격리된(게스트) Linux 환경을 갖고 싶기 때문에 호스트 컴퓨터에 대해 걱정하지 않고 돌아다닐 수 있습니다. 예를 들어, 패키지 관리 없이 소스에서 많은 항목을 설치하고, 환경 변수를 오염시키는 등의 작업을 한 다음, 이전 환경이 너무 복잡해지면 다른 게스트 환경을 생성합니다.

저는 Tinycore Linux에서 Virtualbox를 사용하여 즐거운 시간을 보냈지만 적어도 제가 사용하는 방식으로는 Virtualbox 오버헤드가 전적으로 필요하다고 생각하지 않습니다. 한편으로는 가능하다면 호스트 시스템과 동일한 커널을 사용하고 싶습니다.

또한 Linux From Scratch 튜토리얼을 진행하면서 이에 대해 조금 배웠고 chroot그것이 제가 찾고 있던 것일 수도 있을 것 같았습니다. 하지만 솔직히 말해서 LFS에 대해 제가 잘 이해하지 못하는 부분이 많이 있는데, chroot도 그 중 하나입니다. chroot현재 환경에 지장을 줄 수 있다는 우려가 없다면 사용하려고 노력할 것입니다.

그래서 저는 가상화 속도를 높이기 위해 Linuxbox(저는 PinguyOS를 사용하고 있습니다)를 사용하고 있다는 사실을 활용하는 가상화 프로그램이나 chroot를 격리 놀이터로 사용하는 방법에 대한 참조를 찾고 있습니다. .

답변1

크롯당신을 위한 가장 가벼운 무게 환경입니다. 동일한 사용자, 동일한 네트워크 구성 등을 사용하여 다른 배포판(또는 동일한 배포판의 다른 설치)을 설치할 수 있습니다. Chroot는 파일 시스템 수준에서 대략적인 격리만 제공합니다. 검색이 웹사이트는 chroot에 사용됩니다chroot가 무엇을 할 수 있고 무엇을 할 수 없는지 아직도 확신하지 못한다면 이것이 도움이 될 수 있습니다.

다음 단계를 찾고 있다면,LXC이제 커널 메인라인에 포함되었습니다. LXC 게스트(컨테이너라고 함)에는 자체 파일 시스템, 프로세스 및 네트워크 공간이 있습니다. 컨테이너의 루트는 호스트의 루트이기도 합니다. LXC는 게스트 루트에 의한 예상치 못한 여러 작업으로부터 보호하지만 악의적인 게스트 루트로부터는 보호하지 않습니다. (이것은 계획된 기능입니다. 시청하세요.이 공간).

LXC와 다소 유사한 다른 기술은 다음과 같습니다.가상 서버그리고오픈VZ. OpenVZ는 제공하지만 VServer나 LXC는 제공하지 않는 중요한 기능 중 하나는검문소: 실행 중인 컴퓨터의 스냅샷을 찍고 나중에 복원할 수 있습니다. 또 다른 후보는사용자 모드 리눅스, 호스트 시스템에서 일반 사용자로 실행되는 프로세스 내에서 완전한 Linux 시스템을 실행합니다.

다른 운영 체제 설치를 실험하려면 chroot가 수행됩니다. 서비스를 실행하거나 실험적인 설치에서 네트워크를 사용하려면 LXC를 선택하십시오. 스냅샷이 필요한 경우 OpenVZ를 사용하세요. 완전히 독립적인 커널을 원하지만 메모리 오버헤드가 거의 없다면 사용자 모드 Linux를 선택하세요. 스냅샷과 별도의 커널이 필요한 경우 VirtualBox를 사용하세요.

답변2

루스트어바웃LXC를 사용하기 쉽게 만드세요:

주목할만한 기능

파일 시스템 격리: 각 프로세스 컨테이너는 완전히 독립적인 루트 파일 시스템에서 실행됩니다.

리소스 격리: cgroup을 사용하면 CPU, 메모리 등의 시스템 자원을 각 프로세스 컨테이너에 다르게 할당할 수 있습니다.

네트워크 격리: 각 프로세스 컨테이너는 자체 가상 인터페이스와 IP 주소를 사용하여 자체 네트워크 네임스페이스에서 실행됩니다.

쓰기 중 복사: 루트 파일 시스템은 기록 중 복사를 사용하여 생성되므로 배포가 매우 빠르고 메모리 및 디스크 비용이 저렴합니다.

기록: 실시간 또는 일괄 검색을 위해 각 프로세스 컨테이너의 표준 스트림(stdout/stderr/stdin)을 수집하고 기록합니다.

변경 관리: 컨테이너의 파일 시스템에 대한 변경 사항을 새 이미지에 커밋하고 재사용하여 더 많은 컨테이너를 만들 수 있습니다. 템플릿이나 수동 구성이 필요하지 않습니다.

대화형 쉘:docker는 의사 tty를 할당하고 이를 모든 컨테이너의 표준 입력에 연결할 수 있습니다(예: 일회성 대화형 셸 실행).

후드

내부적으로 Docker는 다음 구성 요소를 기반으로 구축되었습니다.

  • Linux 커널의 cgroup 및 네임스페이스 기능

  • 쓰기 시 복사 기능을 갖춘 강력한 통합 파일 시스템인 AUFS

  • 프로그래밍 언어로 이동

  • lxc는 Linux 컨테이너 생성을 단순화하는 편의 스크립트 세트입니다.

답변3

OpenVZ 또는 Linux 컨테이너를 살펴보세요. 두 가지 모두 공통 커널에서 고유한 사용자 영역을 갖춘 경량 의사 가상화 환경을 구현합니다.

OpenVZ는 이 단계에서 비교적 성숙했습니다.

답변4

어쩌면 이것이 당신에게 도움이 될 수 있습니다:오브: 고급 다계층 통합 파일 시스템

시스템이 낮은 수준에 있습니다. 그 위에 aufs 파일 시스템을 마운트할 수 있습니다. 수정(쓰기)은 아래의 "실제" 파일 시스템을 변경하지 않고 이 aufs 파일 시스템에서만 이루어집니다.

관련 정보