오픈스택 수동 설치 실습 #.3

오픈스택 설치 실습 #.3 - 사전에 각각의 노드에 준비해야 할 것들


저는 일단 controller, compute1, block1 이렇게 3개의 노드를 준비했습니다.

각각 3개의 노드에 /etc/hosts 파일을 수정해서 넣어주고, 서로간에 Ping이 가는지 확인해 봅시다.


※ controller, compute1, block1 에서 모두 설정

# vi /etc/hosts

# controller

10.0.0.11       controller

# compute1

10.0.0.31       compute1

# block1

10.0.0.41       block1



핑이 잘 갑니다.



NTP 설정하기


CentOS 7 설치시에 NTP 옵션을 준 것을 기억하시나요? 그렇다면 각 서버에는 chrony 데몬이 설치 되어 있을 겁니다. 설치가 안되어 있다면, yum install chrony 명령으로 설치를 해줍니다.


chrony 데몬은 RHEL 7버전부터 선택된 기존의 ntpd를 대체하는 시간 동기화 데몬입니다. 네트워크에서 일시 중단되거나 간헐적으로 연결이 끊어지는 시스템 (모바일 및 가상 서버 등)에 가장 적합한 데몬입니다.


▶ chrony의 장점


1) 24 시간 운영되지 않는 데스크톱이나 시스템에서 유용하게 사용되는 시간 및 주파수 오류를 최소화하기 위해 시간 대신 단 몇 분만에 빠른 동기화가 가능합니다. 

2) 클록 주파수의 급격한 변화에 대한보다 나은 대응은 클록 주파수가 불안정한 가상 머신이나 클럭 주파수를 일정하게 유지하지 않는 절전 기술에 유용합니다. 

3) 초기 동기화 후에는 시스템 시간을 필요로하는 응용 프로그램에 영향을 미치지 않도록 시계를 단계별로 조정하지 마십시오. 

4) 일시적인 비대칭 지연을 처리 할 때 안정성이 좋아집니다 (예 : 링크가 대량 다운로드로 포화 된 경우). 

5) 주기적으로 서버를 폴링 할 필요가 없으므로 네트워크 연결이 간헐적으로 연결된 시스템은 여전히 ​​신속하게 클록을 동기화 할 수 있습니다. 


chrony 데몬을 통해 controller 노드는 NTP 서버에서 시간을 가져오고, 각각의 노드는 controller 노드에서 시간을 가져오게 끔 설정합니다.


chrony.conf 파일을 열어 해당 부분의 주석을 제거하고 값을 수정합니다.


※ controller 에서 설정

# vi /etc/chrony.conf


.

.

.

# Allow NTP client access from local network.

allow 10.0.0.0/24

.

.

.


※ compute1, block1 각각의 노드에서 설정

# vi /etc/chrony.conf


.

#server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server controller iburst

.

.

.


※ 모든 노드에서 실행

# systemctl enable chronyd.service
# systemctl restart chronyd.service

설정이 완료되면 각각의 노드에서 chronyc sources 명령을 통해 확인 할 수 있습니다.



controller 노드는 ntp 서버에서, 각각의 노드는 controller 노드에서 시간을 받아오는 걸 확인 할 수 있습니다.



오픈스택 패키지 설치하기


※ 모든 노드에서 실행 (controller, compute1, block1 )

# yum install centos-release-openstack-rocky

# yum upgrade

# yum install python-openstackclient

# yum install openstack-selinux


이제 오픈스택 설치 준비가 완료 되었습니다.

리눅스에서 2TB 이상 대용량 디스크 파티션 사용

리눅스에서는 일반 파티션의 사이즈는 2TB로 제한 되어 있습니다.

이 것을 GPT 타입으로 변경해야 2TB보다 큰 파티션을 사용할 수 있습니다.


일반적으로 파티셔닝을 하면 아래처럼 됩니다.


[root@backup-test ~]# fdisk -l /dev/sdc


Disk /dev/sdc: 5497.6 GB, 5497558138880 bytes, 10737418240 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xbb438cb0


   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1            2048    10487807     5242880   83  Linux

/dev/sdc2        10487808    52430847    20971520   83  Linux

/dev/sdc3        52430848  4294967294  2121268223+  83  Linux


sdc3을 보면 2TB로 제한 되어버립니다.



변경하려고 하는 디스크를 선택


# parted /dev/sdc

GNU Parted 3.1

Using /dev/sdc

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) 


(parted) mklabel gpt                                                      

Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue?

Yes/No? yes


(parted) unit TB                            <----- 최소 용량을 설정하는 명령 (기본 MB) GB or TB


(parted) mkpart primary 0.00TB 5.50TB


(parted) print                                                            

Model: VMware Virtual disk (scsi)

Disk /dev/sdc: 5.50TB

Sector size (logical/physical): 512B/512B

Partition Table: gpt

Disk Flags: 


Number  Start   End     Size    File system  Name     Flags

 1      0.00TB  5.50TB  5.50TB               primary


(parted) quit

vi 편집기 단축키


출처 : https://kldp.org/node/102947


http://www.viemu.com 제공의 내용을 번역한 것

리눅스 로그인 화면 해상도 설정

VM tool 설치하고 나서 해상도 선택에서 엔터를 치고 넘어가서 잘못 설정 되었을때, 너무 크거나 작거나 해서 화면안에 안들어올때,

설정하는 방법입니다.


# vi /etc/X11/xorg.conf


파일을 열어서, 


Section "screen"

아래 mode 부분을 원하는 해상도로 변경해 줍니다.



그리고 재부팅 하면 원하는 해상도로 재부팅 합니다.


RPM 명령어의 사용법과 RHEL4에 yum 설치하기

리눅스에서 프로그램이나 데몬, 그밖에 어플리케이션을 설치할때 여러가지 방법이 있습니다.


1. 소스 파일의 압축을 해제하고, 컴파일 해서 직접 사용자가 인스톨 하는 방법.

2. RPM 명령어를 사용하여 rpm 패키지의 설치.

3. yum으로 자동으로 내려 받기


리눅스에서 애플리케이션 혹은 응용 프로그램을 설치 할 때, 터미널 상에서 일반적으로 RPM을 많이 사용합니다.

그러나 RHEL4 버전에는 yum이 지원 되지 않습니다.

최근 많이 사용하는 페도라나 CentOS에서는 yum을 지원 해주기 때문에 별 어려움 없이 필요한 파일들을 쉽게 설치 할 수 있습니다.


RPM 방식의 설치는 의존성에 문제가 있기 때문에, yum을 설치하면 관련 파일을 같이 찾아서 설치해줍니다.

의존성이란, 특정 새 패키지 설치시 반드시 필요한, 먼저 설치되어 있어야만 하는 필수 프로그램이 시스템 상에 있어야만 설치가 되는 것을 뜻 합니다.


그래서 yum 설치에 필요한 6가지 .rpm 패키지 파일을 첨부합니다.

리눅스 상에서 직접 내려 받으셔도 되고, 윈도우에서 받아서 WinSCP 같은 유틸을 이용하여 리눅스로 옮겨서 설치 하셔도 됩니다.


libsqlite-3.2.1-1.i386.rpm


sqlite2-2.8.17-2.el4.remi.i386.rpm


python-elementtree-1.2.6-7.el4.rf.i386.rpm


python-sqlite-0.5.0-1.2.el4.rf.i386.rpm


python-urlgrabber-2.9.6-1.2.el4.rf.noarch.rpm


yum-2.4.2-0.4.el4.rf.noarch.rpm


위의 6개의 파일을 받아 설치 하시고, 몇가지 세팅만 하면 RHEL4 에서 yum을 사용 할 수 있습니다.

파일은 위에서부터 순서대로 설치 하셔야 합니다.


그럼 WinSCP를 이용해 리눅스에 yum을 설치 해보도록 하겠습니다.



우선


#vi /etc/ssh/sshd_config


명령을 실행하여 ssh 유틸들이 root 권한으로 리눅스에 접속 할 수 있게 세팅을 해줍니다.

ssh 권한 설정을 해주면 나중에 Putty 같은 ssh 프로그램으로도 리눅스 서버에 접속 할 수 있습니다.



vi 에디터로 파일을 열면 PermitRootLogin yes 라고 적힌 부분이 있는데, 라인 맨 앞에 주석(#)이 달려 있습니다.

이 주석을 #을 지워줍니다.

그리고 Command 모드로 나와서 :wq! 를 입력하고 저장 및 터미널로 빠져 나옵니다.



#/etc/init.d/sshd restart

명령으로 sshd 데몬을 재실행 시켜줍니다.

리눅스는 어떤 설정 파일을 수정하면, 그에 관련된 데몬을 재 시작 시켜줘야 인식을 시작합니다.




그리고나서 


#ifconfig -a


명령을 실행해서 자신의 리눅스 서버의 IP를 확인합니다.




WinSCP를 실행 시킨 후, IP를 입력, Root의 권한으로 접속을 합니다.




6개의 파일을 리눅스 바탕화면 폴더에 복사를 합니다.




물론 바탕화면에서 패키지 파일을 더블 클릭 해주면 X윈도우 환경이 알아서 설치 합니다.

그러나 우리는 텍스트 모드를 써야 하겠죠?




터미널을 열고 Desktop 폴더로 이동 합니다. (대문자 주의)


#cd /root/Desktop




#ls -h 


파일 리스트를 확인하고 RPM 명령을 사용하여 6개의 패키지를 설치합니다.






이런식으로 순서대로 6개를 설치해주면 됩니다.



※ RPM 명령어


rpm 명령어를 사용 할 때 옵션이 있습니다.

옵션에 주의하여 설치를 하도록 합니다.


 ● 설치


   rpm -Uvh <패키지파일 (*.rpm)>


   i               - 일반적인 설치

   U (대문자) - 같은 패키지가 존재 할 경우 업그레이드, 없으면 일반 설치

   v              - 설치 과정의 확인

   h              - 설치 진행 과정을 "#"마크로 화면에 출력



 ● 삭제


   rpm -e <패키지 이름>



 ● 설치된 패키지의 확인


   rpm -qa <패키지 이름> → 설치된 패키지 확인

   rpm -qf <패키지 절대 경로> → 이미 설치된 파일이 어느 패키지에 포함되어 있는지 확인

   rpm -ql <패키지 이름> → 패키지 안의 파일 내용 확인

   rpm -qi <패키지 이름> → 설치된 패키지의 상세한 정보




이렇게 rpm 명령어를 이용해서 6개의 패키지를 설치 했으면, 다음 단계로 넘어 갑니다.

yum repository 설정을 해줘야 RHEL4에서 yum을 사용 할수 있습니다.


yum의 정보를 CentOS에서 가져 오는 것이기 때문에 우리가 사용하는 리눅스가 RHEL4가 아니라 CentOS다 라고 속여주는 겁니다.

vi 에디터로 아래와 같은 파일을 작성 합니다.



#vi /etc/yum.repos.d/RedHat-Base.repo



[base]

name=CentOS-$releasever - Base

baseurl=http://vault.centos.org/4.9/os/$basearch/

gpgcheck=1


[update]

name=CentOS-$releasever - Updates

baseurl=http://vault.centos.org/4.9/updates/$basearch/

gpgcheck=1



그리고 나서 


#yum list


명령어를 넣어주면 현재 리눅스에 설치된 패키지의 업데이트 목록을 보여주면 설정이 완료 되고, yum을 사용 할 수 있게 되는 겁니다.



#yum update     → 업데이트 가능한 모든 파일,데몬,패키지 업데이트

#yum install <패키지 이름>    → 특정 패키지 검색후 의존성 파일까지 모두 설치.

#yum remove <패키지 이름>   → 설치된 패키지 삭제


yum이 있고 없고의 차이가 초보자가 리눅스를 사용하는데 있어서 많은 차이를 보여줍니다.

구하기 어려운 rpm을 찾아 헤멜 필요가 없는데다, 사용중인 리눅스 버전에 맞는 패키지를 찾아 주기 때문에 매우 유용하지요. ^^


※ 만약 key 문제로 설치 할 수 없는 패키지가 있다고 나올때


RPM-GPG-KEY-CentOS-4


위 파일을 리눅스에 복사한 후, 파일이 있는 경로에서 


# rpm --import RPM-GPG-KEY-CentOS-4


를 실행해주면 됩니다.


vi 에디터의 이해

vi Editor는 Unix 기반의 텍스트 편집 프로그램입니다.

윈도우의 메모장과 비슷하다고 보면 됩니다.


쉘 스크립트를 짜거나 설정 파일을 생성 및 수정 할 수 있으며, 작업은 buffer에서 이루어 집니다.


텍스트 기반의 리눅스에서는 vi를 이용해서 파일을 수정하는 방법 밖에 없으니, vi 에디터의 사용법은 충분히 익숙 해지는 것이 좋습니다.


vi Mode


Command mode (명령어 모드)

Edit mode (편집 모드)

Last line mode (마지막 행 모드)


세가지 모드가 존재하며, 처음 vi 에디터로 파일을 열게되면 command mode에서 시작하게 됩니다.



Command mode에서 할 수 있는 것들


delete

change

copy

move text

cursor 이동

text strings 검색


Edit mode로 들어가기 (편집)

Last line mode로 들어가기 (검색어 찾기, 라인 번호 표시, 저장 및 종료 등)


모든 작업은 커맨드 모드를 기본으로 이루어 집니다.



Edit mode


Command 모드에서 Edit 모드로로 들어가는 방법 (대소문자 구분)


명령어

 비고 

 i

커서가 있는 곳에서 부터 텍스트 삽입 

 I

해당 라인의 맨 앞에 삽입

 a

 커서 위치 한 곳 뒤에 텍스트 추가

 A

 해당 라인의 끝에 새로 추가

 o

 커서의 바로 아랫줄에 새로운 줄 삽입

 O

 커서의 바로 윗줄에 새로운 줄 삽입


편집을 끝내고 싶으면 Edit 모드에서 ESC에서 눌러 Command 모드로 돌아가면 됩니다.



Last line mode


Command 모드 에서 라인 모드로 들어가는 방법은 두가지가 있습니다.


:

/


저장하거나 문장이나 단어 찾기,텍스트 라인 편집 등의 작업을 할 수 있습니다.

리눅스의 시스템 종료와 재부팅, 로그아웃


리눅스는 원래 텍스트 기반의 운영 체제이고,

현재의 윈도우 처럼 GUI를 지원하는데, 이것을 X윈도우라고 부릅니다.

여기에서 간단히 더블 클리이나, 드래그 앤 드랍으로 프로그램을 다룰수는 있지만,

텍스트 기반의 명령어를 다룰 수 있어야 합니다.


그것을 사용 하는 창이 바로 터미널인데, 바탕화면에서 오른 버튼을 클릭하면

나오는 팝업 메뉴에서 실행 시킬수 있습니다.


터미널에서 #은 루트 계정에서만 보입니다.

다른 유저는 $로 표시가 됩니다.



시스템 종료


#shutdown -h 

#init 0

#halt



시스템 재부팅


#shutdown -r

#reboot

#init 6



계정 로그아웃


#logout

#exit



※ init 명령어

 - init는 여러가지 의미를 가지고 있고, 시스템 가동 방식의 방법을 나누며, 

이 것을 런레벨(Runlevel)이라고 부른다.

 리눅스에는 7가지 런레벨이 존재한다.


 0 - 종료

 1 - 단일 사용자 모드 (시스템 복구에 사용)

 2 - NFS 없는 다중 사용자 모드 (거의 사용하지 않음)

 3 - 텍스트 모드의 다중 사용자 모드 (솔라리스에서는 정상 부팅을 한다.)

 4 - 사용 하지 않음

 5 - X  윈도우 모드의 다중 사용자 모드 (기본으로 설정되어 있는 모드, 솔라리스 3번 런레벨과 같다.)

 6 - 재부팅 모드


 /etc/inittab 파일을 vi 에디터로 열어 수정을 하면 리눅스의 기본 부팅 모드를 바꿀수 있다.



id:5:initdefault 부분의 숫자를 원하는 런레벨 숫자로 변경 해주고 저장 하면 된다.

Red Hat Enterprise Linux 4 (RHEL4) 의 설치

레드햇(www.redhat.com)은 많은 서버용 리눅스의 기본이 되는 리눅스로,

엔터프라이즈 버전은 상용화 버전으로 문제가 생겼을시, 

래드햇에서 유지 보수 서비스를 지원해주는 버전입니다.


4버전은 현재 더 이상 출시 되고 있지는 않으나, 실무에서 이미 많이 설치되어 있는 버전이고,

이 버전을 다룰 줄 알면, 버전업 되어 더 편해진 상위 버전의 OS들을 쉽게 다룰수 있습니다.


멀티미디어 용으로 쓰신다면 그냥 우분투를 추천드립니다.



VM에서 ▶를 누르면 CD 부팅이 되어 설치 화면으로 갑니다.

Enter를 누르고 다음으로 진행.



디스크의 오류 검사를 하곘냐고 묻는 질문 입니다.

설치 CD에 이상은 없는지, 그런걸 검사하는 화면인데 무지 오래 걸리니, 

회색 커서를 Skip에 놓고 진행 하도록 하죠.



설치 첫 화면입니다. Next.



한국어를 사용해야겠죠?

영문 리눅스를 사용하고자 하면 영어를 체크하셔도 됩니다.



키보드 설정이지만 한글은 없습니다.

영어로 설정을 해도 위에서 한국어 설정을 하였다면 Shift+Space로 한/영전환이 가능하고

한글을 사용 할 수 있습니다.



디스크 파티션을 나누는 부분인데 이 부분은 리눅스의 사용 용도에 따라 크게 바뀝니다.



초기화를 하겠냐고 묻는데 가상 HDD를 초기화 해주는 것이기 때문에 

그냥 예 하고 넘어가면 됩니다.




파티션을 실제로 나눌때 새로 생성 버튼을 누르면 이런 창이 뜹니다.

실질적으로 리눅스의 모든 폴더는 / (root)폴더에 귀속 되기 때문에 

swap과 / 만 생성 해줘도 됩니다.


다만, 파티션과 폴더의 역할은 알고 계셔야 나중에 용도에 맞게 수정 할 수 있습니다.


마운트 포인트 

사용 용도 

권장 크기 

 /

 Root 파티션 

 최소 1GB 

 /boot

 부팅 커널이 설치됨

 300~500MB 

 swap

 RAM이 부족 할 때 사용 

 RAM의 두배 정도 

 /var

 로그, 캐시 등이 기록됨  

 2GB정도

 /tmp

 임시 파일 저장 

 2GB정도 

 /usr

 응용프로그램이 설치됨

 설치 할 프로그램의 종류, 용량 따라 달라진다.  

 /home

 개별 사용자 저장 공간 

 사용자가 많다면 크게, 적다면 작게 설정.

 사용자수 x 한 사람당 저장 용량 x 0.5
















처음 이니까 그냥 swap파티션과 /에 최대 가능한 용량으로 채움으로 설정하여

진행 하도록 하겠습니다.



부트로더는 멀티 부팅이나 이런걸 할때 필요합니다.

딱히 건드리지 않아도 좋으니 패스



VM설정에서 네트워크 설정을 NAT으로 놓고 진행 했다면

수동 호스트 명만 자신이 원하는 호스트 명으로 바꿔주고 진행해 주면 됩니다. 



브릿지 방식이라면, 고정 IP를 할당 해야 하니, DHCP를 꺼주고,

수동으로 IP를 입력해주면 됩니다.



호스트 명을 변경하고 진행



대부분 방화벽은 다른 방화벽 프로그램을 추가로 설치하여 사용 하는 편입니다.

리눅스의 방화벽은 초 강력 하기 때문에 실습에 문제가 없도록 모두 해제 하고 진행

SELinux역시 문제가 많으니 사용하지 않음으로 두고 진행합니다.



계속 진행



리눅스 X윈도우, Gnome 기반 데스크 탑에서 기본으로 사용할 언어의 선택 화면 입니다.



시간 설정



관리자, 즉 Root의 계정 설정입니다.

윈도우로 치면 administrator 와 같습니다.



자 필요한 패키지 및 파일은 직접 찾아서 설치 할 예정이니까,

수사용자 설정에서 필요한 부분만 설치하도록 하겠습니다.



데스킅탑 환경은 X윈도우, Gnome환경을 체크해주고


텍스트 기반 인터넷 만 체크, 

그래픽 인터넷은 체크해줘도 좋고 안해줘도 좋지만, 파이어 폭스 브라우저가 설치 되니, 필요하다면 설치 해주는게 좋습니다. 기본 브라우저는 너무 구려서...


서버 부분은 모두 체크 해제, (필요한 것 따로 찾아 설치)

개발용 도구는 모두 선택

시스템은 관리 도구, 시스템 도구만 선택해줍니다.



설치를 진행 합니다.



CD를 바꿔주라고 나오네요



그럼 Ctrl + Alt 키를 눌러 VM웨어 창 우측 하단데 CD 모양의 아이콘을 더블 클릭합니다.

그럼 위같은 화면이 나오는데 맨 위의 커넥트 부분을 꼭 체크 해주고,

이미지 파일을 교체 해주면 됩니다.



재부팅합니다.



프로세스들을 실행하고 있네요.



첫 화면



동의 하고 패스



시간 설정

 



엔터프라이즈 버전은 상용화 제품이기 때문에 등록을 해야 하지만,

실습용이니까, 등록 이유을 알고 싶습니다. → 나중에 완료 순으로 진행 하면 됩니다.



계정은 생성하지 않고 그냥 다음으로 넘어가고,

나머지 화면에서는 다음, 다음 넘어가면 설정이 완료 됩니다.



사용자 이름에 Root 라고 넣고 로그인 합니다.

암호는 설치할떄 설정해준 암호 입니다.



리눅스 구동 중 입니다!!

이걸로 레드햇의 설치를 마치겠습니다.