오픈 소스/LXC

[LXC] 수동 설치 - lxc-net 오류 해결

benjykim 2019. 4. 16. 23:59
반응형

lxc 수동 설치 트러블 슈팅

lxcbr0 자동 생성 안 되는 경우

  • systemctl start lxc-net 실행 시 아래와 같은 오류 발생.

    4월 16 23:07:42 jykcom systemd[1]: Starting LXC network bridge setup...
    4월 16 23:07:42 jykcom lxc-net[6101]: dnsmasq: cannot open or create lease file /usr/local/var/lib/misc/dnsmasq.lxcbr0.leases: No such file or directory
    4월 16 23:07:42 jykcom lxc-net[6101]: Failed to setup lxc-net.
    4월 16 23:07:42 jykcom systemd[1]: lxc-net.service: Main process exited, code=exited, status=1/FAILURE
    4월 16 23:07:42 jykcom lxc-net[6101]: Failed to setup lxc-net.
    4월 16 23:07:42 jykcom systemd[1]: lxc-net.service: Failed with result 'exit-code'.
    4월 16 23:07:42 jykcom systemd[1]: Failed to start LXC network bridge setup.
    • set lxcbr0 같은 검색어로 구글링 해봤지만 마땅한 답을 찾을 수 없었음.
    • 오류를 자세히 읽어보니 dnsmasq.lxcbr0.leases 파일을 못 읽겠다는 내용.
    • 곰곰이 생각해보니, lxc 설치할 때 git에서 소스코드를 받아와 설치하여 apt로 설치했을 때와 디렉토리 구조가 다름.
    • lxc만 소스코드로 설치하고 나머지 의존성 패키지들은 apt로 설치하였기 때문에 파일을 못 읽는 것이 당연함.
    • /var/lib/misc 폴더에 있는 dnsmasq.lxcbr0.leases파일을 /usr/local/var/lib/misc폴더로 이동하니 제대로 동작하였다.

LXC 디렉터리 구조

우분투 패키지 CentOS 패키지 소스 설치
1 /usr/share/lxc /usr/share/lxc /usr/local/share/lxc
2 /usr/share/lxc/config /usr/share/lxc/config /usr/local/share/lxc/config
3 /usr/share/lxc/templates /usr/share/lxc/templates /usr/local/share/lxc/templates
4 /usr/bin /usr/bin /usr/local/bin
5 /usr/lib/x86_64-linux-gnu /usr/lib64 /usr/local/libt
6 /etc/lxc /etc/lxc /usr/local/etc/lxc
7 /var/lib/lxc/ /var/lib/lxc/ /usr/local/var/lib/lxc/
8 /var/log/lxc var/log/lxc /usr/local/var/log/lxc

  1. LXC 기본 디렉토리
  2. 배포 기반의 LXC 설정 파일 모음
  3. 컨테이너 템플릿 스크립트 모음
  4. 대부분의 LXC 바이너리 경로
  5. liblxc 라이브러리 경로
  6. 기본 LXC 설정 파일 경로
  7. 루트 파일시스템과 생성된 컨테이너 설정 파일
  8. LXC 로그 파일

리눅스 컨테이터 LXC책을 참고하여 작성했습니다.

반응형