사막의 여우
Loading...
2018. 1. 25. 23:37

Stein 오픈스택 클라우드 서버 구축(2) - 시스템 구성 (update 2020.01.28)

b l o g p o s t 앞서 멀티노드 구성 개요에서 언급한 바와 같이 3개의 노드(컨트롤러, 컴퓨트, 네트워크)를 구성하기위해 본 포스팅에서는 각 노드별로 오픈스택 서버를 구축하기 위한 시스템 초기화를 진행해 보겠습니다. 노드별로 구성될 호스트는 총 3대(컨트롤러, 컴퓨트0, 네트워크 노드)입니다. 성능을 고려하면 물리 디바이스로 구축되어야 하는 것이 맞지만, 저의 경우 앞서 개요에서 언급한 바와 같이 컨트롤러와 네트워크는 VMware를 통한 가상머신으로 구축하고 컴퓨트0 노드만 물리 장비로 구축합니다. 1. OS 구성 모든 노드의 OS 및 커널 버전은 아래 버전으로 통일하였습니다. 구체적인 OS 설치 과정은 생략합니다. CentOS 7, Linux 3.10.0-1062.4.1.el7.x86_64 ..

2018. 1. 24. 23:17

Stein 오픈스택 클라우드 서버 구축(1) - 개요 (update 2020.01.23)

b l o g p o s t 지난번 개인 오픈스택 클라우드 시스템 구축 프로젝트를 진행하던 도중 개인 사정으로 잠시 중단했는데 다시 시작합니다. 본 포스팅은 기존 Ocata 버전으로 구축을 진행하고자 하였으나, 어느새 오래된 버전이 되었네요. 현재 Train 버전까지 릴리즈 된 상태지만, 저는 Stein 버전으로 진행해 보겠습니다. 본 포스팅은 시리즈로 작성될 예정이며, 오픈스택에 대한 개념적 설명에 대해서는 진행 과정에서 필요한 경우에 따라 간략하게 정리하거나 별도의 포스팅으로 따로 다뤄보도록 하겠습니다. 자세한 설명은 오픈스택 재단의 기술문서를 참고하시기 바랍니다. 전체 시스템 구성 본 프로젝트를 진행하는 과정은 하드웨어 자원 구성부터 OS 설치 및 기본 네트워크 세팅, 오픈스택 구성, 가상 네트워크..

2018. 1. 21. 18:46

RHCSA 자격증 준비부터 취득까지

b l o g p o s t 드디어 RHCSA 자격증을 취득했습니다.이번 포스팅에서는 RHCSA 자격증에 대해 다뤄보도록 하겠습니다. RHCSA 자격증을 독학으로 취득하고 싶은데 어떻게 준비해야 할 지 고민하는 분들에게 도움이 되었으면 합니다. 자격증 취득 사실 작년에 한번 시도했다가 충격의 불합격 통보 이후 바로 재시험을 볼까 했으나 결국 해를 넘기고 말았습니다. 당시 자신감(?)에 넘쳐 벼락치기로 공부한 결과 탈락하고 말았습니다. 광탈의 쓴 맛을 보고 재 도전을 기약했으나 결국 해를 넘기게 되었습니다. 사실 이번 시험 준비도 연말이 끼어 있었던 터라, 급하게 공부를 시작했습니다. 그래도 지난번 공부 했던 기억과 자료들이 남아있어 어렵지 않게 재 시작 할 수 있었고, 결국 250점으로 통과했습니다. 사..

2017. 2. 28. 00:25

[neutron] cli로 맥주소, ip가 지정된 포트 생성, 수정, 제거

blog post 오픈스택 기본 horizon 환경에서는 자신이 원하는 mac, ip 주소를 지정하여 포트를 생성할 수 없습니다. cli로 생성해 줘야 합니다. 이는 특히, 인스턴스 내부 nic의 mac, ip 주소와 여기에 연결된 오픈스택 포트의 mac, ip 주소를 맞추고자 할 때 유용합니다. 왜냐하면 기본 호라이즌 환경에서 인스턴스에 포트를 생성하고 붙이게 되면 자동으로 해당 네트워크의 범위 내에서 dhcp 에이전트가 아이피 주소와 맥주소를 할당해버리기 때문입니다. 만약 인스턴스 내부의 아이피, 맥주소와 오픈스택 포트의 맥, 아이피주소를 맞춰야 한다면, cli로 설정해줘야 합니다. - 포트 생성 - neutron port-create 명령어를 다음과 같이 옵션을 사용할 수 있습니다. # neutro..

[RHCSA 준비] SELinux 개념과 유용한 명령어

blog post 이번 포스트에서는 리눅스 시스템 정책 메커니즘인 SELinux에 대해 알아보도록 하겠습니다. SELinux는 시스템을 사용하는 프로세스, 사용자 등 모든 사용 개체들에 보안 레벨을 적용하고 그 레벨에 따라 동작하는 리눅스 커널 기반 메커니즘입니다. selinux는 아래와 같이 6가지의 핵심 요소들로 구성되어 있습니다. Policy: 출발지 객체가 타겟에 접근하는 것에 대해 정의한 룰의 모임 Source domain: 목표에 접근하려고 하는 객체. 일반적으로 유저나 프로세스를 의미 Target domain: 출발 객체가 접근하려고 하는 것. 일반적으로 파일이나 포트를 의미 Context: selinux에서 카테고리화 된 객체들을 사용하는 보안 라벨 Rule: 타겟 도매인으로 접근을 허가하..

2017. 2. 26. 19:45

[RHCSA 준비] FreeIPA 서버 구축하기

blog post FreeIPA는 오픈소스 프로젝트로, Identity, Policy, Audit 등을 유닉스/리눅스 네트워크로 쉽게 관리할 수 있는 소프트웨어 입니다. 본 포스팅에서는 RHCSA 테스트를 위해 FreeIPA 서버를 구축하는 과정에 대해 설명하겠습니다. * 참고 - FreeIPA 서버를 구축하는 방법 자체가 RHCSA의 시험내용은 아닙니다. - 기존에 구성했던 server1과는 별도의 서버입니다. 본 포스팅을 위한 테스트는 KVM 가상머신에서 구축됩니다. FreeIPA 서버 설치 및 구성 1. 호스트 설정# vim /etc/hosts 192.168.0.3 ipa.example.com ipa 2. freeipa 서버를 구성하기 위한 패키지 설치# yum -y install ipa-serve..

[RHCSA 준비] 아파치 서버 구성하기

blog post * 참고- 아파치 서버 구성 자체가 rhcsa 시험 출제 항목은 아닙니다.- 설정 과정에서 원활한 구성을 위해 잠시 SElinux를 꺼두지만, 실제로 구성하는 과정에서는 끄지 않는 것이 좋습니다. 주요 구성 파일 설명/etc/httpd/conf/httpd.conf : 아파치 서버 메인 구성 파일 DocumentRoot: 실제 아파치 웹 서버가 있는 기본 위치 ServerRoot: 그 아파치 서버의 구성 파일이 있는 위치 /etc/httpd/conf/magic : 브라우저에 의해 사용되는 파일로, 웹서버의 콘텐츠를 해석하는 방법에 대해 명시되어 있다. /etc/httpd/conf.d/ : 아파치 구성파일에 포함된 파일들이 있다./etc/httpd/conf.modules.d : 이 위치에 ..

[RHCSA 준비] 킥스타트 서버 구성하기

blog post 킥스타트는 설치OS가 준비된 킥스타트 서버를 통해 OS가 설치되지 않은 다른 서버에 자동으로 OS를 설치하도록 구성된 OS 자동 설치 시스템 정도로 보면 될 것 같습니다. 본 포스트에서는 간단하게 킥스타트 서버를 사용하는 방법을 소개하도록 하겠습니다.(IPA 서버가 구성된 서버가 있어야 하며, 이 서버를 구성하는 방법은 추후에 포스팅하도록 하겠습니다) 네트워크 설치 서버 구성하기 HTTP서버를 통해 제공되는 디렉토리로 설치에 요구되는 모든 파일들을 복사함으로써 네트워크 설치 서버를 설치합니다. 그 후에, 가상머신을 통해 설치 테스트 합니다. 1. 서버에서 리눅스 설치 DVD설치 마운트 및, 마운트된 경로 확인 2. 서버에서 설치 폴더 생성 # mkdir /www/docs/account...

[RHCSA준비] 리눅스 기초 명령어 정리

# date 날짜 표시 # cal 달력 표시 # df 디스크 용량 표시 # free 메모리 사용 현황 # exit 터미널 세션 종료 파일시스템 탐색 # ls 현재 디렉토리의 파일과 하위 디렉토리 표시 # ls -a 숨겨진 파일까지 모두 표시 # cd /usr 경로 이동 # cd 작업 디렉토리를 홈 디렉토리로 변경 # cd - 작업 디렉토리를 이전 작업 디렉토리로 변경 # cd ~username username의 홈 디렉토리로 작업 디렉토리를 변경 예) cd ~bob을 입력하면 사용자 bob의 홈 디렉토리가 작업 디렉토리로 변경된다. *참고: 1. 리눅스는 파일명과 명령어 대소문자 구분 2. 확장자의 개념이 없다. 3. 파일에 공백을 포함하지 말것 (사용은 가능하지만 번거로움) # pwd 현재 작업 디렉토..

2016. 2. 19. 12:00

[OS 개발 18] 태스크 스위칭과 보호 (3) - 보호

1. 보호의 개념 이번 포스팅에서는 보호에 대해 알아보도록 하겠습니다. 글을 쓰는 과정에서 나도 공부하면서 작성하는지라 처음에는 좀 내용이 빈약할 수 있습니다. 왜냐하면 이번 포스팅에서는 개념위주로 작성할 계획이기 때문입니다. 일단 포스팅을 마치고 나중에 다시 확인해서 부족한 점이 있으면 보완하도록 하겠습니다. 지난 포스팅까지는 jmp와 Call을 통해 각 태스크 간에 어떻게 스위칭이 일어나는지 살펴보았습니다. 그런데, 여기에서 한 가지 혹은 그 이상으로 문제가 발생할 개연성이 생깁니다. 특정 프로세스로 스위칭했는데 그 태스크 혹은 레벨(특권 레벨 간의 모드 스위칭은 다음에 알아볼 계획이다)에 민감한 코드, 혹은 데이터가 존재한다면 어떻게 될까요? 이러한 문제에서 기인하여 인텔 아키텍처에서는 보호모드에서..