실습과제
자신이 생각하기에 가장 적절한 RAID 를 선택하여 그 이유를 작성하기
-현재 가장 많이 쓰이고 있는 RAID 5가 가장 적절하다고 생각한다. RAID 5는 RAID 3와 RAID 4의 단점을 해결한 형태이며 성능 면에서는 RAID 0보다는 떨어지지만 성능, 안정성, 용량의 세부분을 모두 고려한 형태이기 때문이다.
(+RAID 6라는 것도 존재하는데, 한개의 드라이브가 고장나는 것을 허용하는 RAID 5와 달리 RAID 6는 두 개의 드라이브까지 고장나는 것을 허용하며 읽기 성능이 우수하다고 한다. 하지만, 쓰기 성능이 패리티를 여러 번 갱신해야하기 때문에 RAID 5보다 매우 나쁘다고 한다.)
Server(b)에 자신이 선택한 RAID를 구성하기
새로 배운 내용
1. 파일 시스템의 이해
1) 리눅스의 파일 시스템
-다른 디렉터리에 존재하는 파일 이름은 동일해도 됨
-트리구조를 가짐
-데이터는 특정 목적에 따라 생성된 실제 데이터, 메타 데이터는 데이터의 정보(이름, 위치, 크기, 종류, 생성시간, 권한 등)를 담은 데이터이다.
2) 리눅스의 파일 시스템이 깨진 경우 방지 기술
▶Journaling: 동작을 미리 기록해두고, 시스템 충돌이나 전원 공급의 문제 등으로 시스템이 중단되었을 때, 하드디스크의 데이터를 오류 전으로 돌아가도록 복구시키는 파일 시스템
▶Copy on write(CoW): 프로세스를 fork()하고 부모와 자식 프로세스가 메모리의 같은 페이지를 공유할 수 있게 해준다. 평소에는 resource를 공유하다가 resource를 수정하는 경우, 이전의 resource 복사본을 쓰게끔 하는 것을 말한다.
3) 하드디스크
-플래터, 섹터, 스윙암 ...
-스윙암을 이동시키거나 플래터를 회전시켜 접근하고자 하는 섹터 위에 자기 헤드 위치
2. 디스크 관리 - 하드디스크 추가하기
1) SATA (Serial ATA, 직렬 ATA) & SCSI (Samll Computer System Interface)
-SATA는 속도가 빠르고 케이블의 길이가 짧은 반면에 SCSI는 속도가 비교적 느리고 케이블의 길이가 길다.
2) 파티션(Partition)
- Primary 파티션 / Extended 파티션 / Logical 파티션
- SCSI는 하나 당 16개 장치, SATA는 하나 당 30개의 장치를 연결 가능
3) 하드디스크 1개 추가하기
3. 디스크 관리 - 여러 개의 하드디스크를 하나처럼 사용하기
1) RAID (Redundant Array of Inexpensive/Independent Disks)
-여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식
-총 7개의 레벨 구성: Linear RAID, RAID0, RAID1, RAID2, RAID3, RAID4, RAID5
-Linear RAID는 앞 디스크부터 순서대로 저장, RAID 0은 모든 하드디스크를 나누어서 동시에 저장, RAID 1은 하나의 데이터를 N개의 하드디스크에 각각 중복되어 저장, RAID 5는 3개 이상의 하드디스크를 사용해서 RAID1의 데이터 안전성과 RAID0의 공간 효율성 모두를 활용
2) 실습
-Linear RAID~RAID5 생성
-RAID 문제 발생 및 복구 실습
문제가 발생하거나 고민한 내용 & 해결 과정
▶문제 발생
apt install mdadm 설치 중 "Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. ~~" 메세지가 뜨며 에러가 발생했다.
▶해결 과정:
root@Server:~# killall apt apt-get
root@Server:~# rm /var/lib/apt/lists/lock
root@Server:~# rm /var/cache/apt/archives/lock
root@Server:~# rm /var/lib/dpkg/lock*
root@Server:~# dpkg --configure -a
root@Server:~# apt update
모든 프로세스를 kill한 뒤에 lock이 걸린 파일들을 지워준다.
위 명령어를 다 입력한 뒤에 다시 apt install mdadm을 입력하면 패키지가 잘 설치되는 것을 볼 수 있다.
참고할 만한 내용
하드디스크 파티션 생성
#fdisk /dev/sdb → 하드디스크 선택
Command: n → 새로운 파티션 분할
Select: p → Primary 파티션 선택
Partition number: 1 → 파티션 번호 1번 선택 (default 값: 1)
First sector: enter → 시작 섹터 번호
Last sector: enter → 마지막 섹터 번호
Command: t → 파일 시스템 유형 선택
Command: fd → 'Linux raid autodetect' 유형 번호(L을 입력하면 전체 유형이 출력됨)
Command: w →설정 저장
mdadm 명령
--create /dev/md9 →md9 장치에 RAID 생성
--level=linear →Linear RAID 지정. 0은 RAID 0, 1은 RAID 1 등으로 지정
--raid-devices=2 /dev/sdb1 /dev/sdc1 →2개의 하드디스크 사용, 그 뒤는 장치 이름
mdadm --stop /dev/md9 →RAID장치인 /dev/md9 중지
mdadm --run /dev/md9 →중지된 RAID 장치 가동
mdadm --detail /dev/md9 →/dev/md9 장치의 상세 내역 출력
회고(+, -, !)
-오늘은 하드디스크 관리에 대해 배웠다. 예전 수업시간에 RAID에 대해 배웠을 때는 그냥 개념만 알아보고 지나간 정도였는데 이렇게 직접 구축을 해보는 것은 처음이라 신기했다. 여러 개의 하드디스크를 하나처럼 사용할 수 있도록 하는 과정을 알게 되어 좋았고, Linear RAID부터 RAID 5까지 각각의 장단점을 알 수 있었다. 또한 리눅스에서 하드디스크를 장치에서 제거해서 RAID가 고장나거나 문제가 발생할 경우 복구하는 방법을 알게 되었다.
-오늘 패키지를 다운하다가 "Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend.~~" 문구가 뜨며 에러가 발생했다. 에러 문구를 구글링하여 해결할 수 있었다. 저번 시간에도 패키지를 다운받을 때 이 문구가 떴었는데, 자꾸 뜨는 원인이 무엇인지 찾아보아야겠다.
'Linux > 실습 기록' 카테고리의 다른 글
[컴퓨터시스템관리] 2021.04.13 7주차 실습 일지 - 쉘 스크립트 프로그래밍 (0) | 2021.04.13 |
---|---|
[컴퓨터시스템관리] 2021.04.06 6주차 실습 일지 - Linux 디스크 관리(2) (0) | 2021.04.06 |
[컴퓨터시스템관리] 2021.03.23 4주차 실습 일지 - x window (0) | 2021.03.23 |
[컴퓨터시스템관리] 2021.03.16 3주차 실습 일지 - 리눅스 명령어(2) (0) | 2021.03.16 |
[컴퓨터시스템관리] 2021.03.09 2주차 실습 일지 - 리눅스 기본 명령어 (0) | 2021.03.09 |