Linux/실습 기록

[컴퓨터시스템관리] 2021.04.27 9주차 중간 과제

daeunnniii 2021. 4. 28. 10:41
728x90
반응형

중간고사 실습 과제

 

1. 실무 환경의 우분투 설치

1) 실습 문제

-여러 사용자가 접속하고 웹 서버와 FTP 서버용으로 이용한다는 전제하에 파티션을 구성

-컴퓨터에 1TB의 디스크 2개와 2GB의 RAM이 장착되어있음

-우분투는 X윈도우 환경을 사용할 수 있는 아무 버전으로 설치 가능

 

2) 실습 과정 요약

우분투 설치

우분투 iso 이미지는 수업시간 실습과 동일하게 ubuntu-20.04.2.0-desktop-amd64.iso를 사용하였다.

이제 우분투를 설치해주었다. 그리고 우분투를 설치하는 과정에서 파티션을 나눠주었다. 위 문제의 조건에 맞게 각 장치의 마운트 위치, 크기를 설정했다.

/dev/sda1: swap(4GB), /dev/sda2: /boot(1GB), /dev/sda3: /srv(300GB), /dev/sda5: /var(10GB), /dev/sda6: / (나머지)이고, /dev/sdb1: /home (1TB) 로 각각 설정해주었다.

 

추가적으로, swap 파티션은 메모리가 프로세스로 가득 차있는 상태에서 새로운 프로세스가 시작하기 위해 실제 메모리를 사용해야하면 사용 가능성이 적은 프로세스의 일부가 디스크 상의 swap 공간으로 옮겨지게 된다. /boot 파티션 는 리눅스의 부팅 시스템 파일들이 설치되는 곳이다. /srv 파티션은 시스템에서 제공하는 서비스에 대한 서버 데이터가 저장되고, /var 파티션은 시스템 데이터 영역으로 각종 로그 파일, 설치 프로그램 임시 파일 등이 생성되는 영역이다. / 파티션은 루트 파티션으로 기타 디렉토리가 포함되고 주로 시스템 프로그램 관련 파일들이 설치된다. /home 파티션은 사용자 데이터 영역이다.

 

여기서 주의해야할 점은 1개의 하드디스크에는 4개의 Primary 파티션까지만 설정할 수 있다는 것이다. 따라서 /var을 Logical 파티션으로 설정했다.

/var을 별도의 논리 볼륨으로 분리한 이유는 web 서버나 ftp 서버, db 서버, 메일 서버 등 서버를 운영할 경우 서버의 로그파일, MySQL의 데이터나 메일 서버의 메일 큐 등이 모두 /var 디렉토리에 저장되기 때문이다. 서버의 경우 데이터가 계속 증가하므로 /var은 별도의 Logical 파티션으로 분리하는 것이 권장된다고 한다.

 

이제 설치를 마저 한 뒤 우분투를 다시 시작했다. 터미널을 열어 sudo fdisk -l 로 결과를 확인해보았다.

 

 

3) 실습 결과 영상

sudo fdisk -l                //전체 결과를 확인하기 위해 입력

sudo fdisk -l /dev/sda

mount

 

 

2. RAID 6 구성

1) 실습 문제

-이전 문제에서 설치한 우분투 환경에서 진행

-1TB 디스크 5개로 RAID6 구성

-RAID6 장치 이름은 /dev/md6

-마운트 포인트는 /raid6

 

2) 실습 과정 요약

먼저 1TB짜리 하드디스크 5개를 추가해주었다.

 

아래와 같이 fdisk /dev/sdc부터 파티션을 생성해준다.

 

그다음 apt install mdadm으로 패키지를 설치해주었다. 그리고 raid6를 생성하고 마운트하는 과정까지의 화면이다.

 

 

3) 실습 결과 영상

sudo mdadm --detail /dev/md6 입력하여 결과 확인

 

 

3. 백업 자동화

1) 실습 문제

-이전 문제에서 설치한 우분투 환경에서 진행

-중요한 자료를 일정 시간마다 자동으로 백업하기

-매일 20일 새벽 5시 1분에 /home 디렉터리와 하위 디렉터리가 /raid6/backup 디렉터리에 백업

 

2) 실습 과정 요약

먼저 systemctl status cron으로 cron의 동작 여부를 확인하였다.

/etc/crontab에 들어가 매일 20일 새벽 5시 1분에 백업한다는 내용을 추가하였다. 가독성을 위해 vim을 설치하였다.

 

myBackup.sh를 만들어 chmod 명령어로 실행 권한을 부여했고, 아래와 같이 bash script를 작성하였다. 

 

/raid6/backup 디렉토리를 만들고 cron을 다시 시작했다.

 

 

3) 실습 결과 영상

2023년 1월 20일, 2023년 2월 20일, 2025년 2월 20일 새벽 5시 1분로 각각 결과 확인

 

4. 프로그램 개발 환경 구축

1) 실습 문제

-이전 문제에서 설치한 우분투 환경

-소프트웨어를 개발하기 위해 Microsoft의 Visual Studio Code 개발 환경 구축

-간단하게 hello world 파이썬 코드를 실행하기

 

2) 실습 과정 요약

Visual Studio Code를 우분투 용으로 다운받고 우분투 소프트웨어 설치 관리자로 설치를 진행하였다.

VScode를 실행하여 Python 패키지를 다운받고, 코드를 작성한 뒤 실행하였다.

 

3) 실습 결과 영상

 

 

 

728x90
반응형