티스토리 뷰
이번 시간에는 파일 시스템의 이해와 디스크 관리에 대해 학습하였다.
- 새로 배운 내용
Linux ) 파일 시스템 : 트리 구조
| 데이터 | 특정 목적에 따라 생성된 실제 데이터
| 메타데이터 | 데이터의 정보 (이름, 위치, 크기, 종류, 생성시간, 권한 등) 를 담은 데이터
파일 시스템이 깨진 경우를 방지하기 위한 기술 : Journaling (동작 기록) / Copy on write (복사!)
| 데이터 읽기 쓰기의 동작 방식 |
1. 디바이스 드라이버가 데이터를 읽고 / 쓰는데 필요한 정보를 하드디스크에 전달
2. 스윙 암을 이동시키거나 / 플래터 회전시킴 -> 접근하고자 하는 섹터 위에 자기 헤드 위치
3. 데이터 읽기 / 쓰기
--> 읽었다면 하드디스크 처리 완료!
디스크 관리
- SATA : 하드디스크 또는 광학 드라이브와 데이터 전송을 주요 목적으로 만든 컴퓨터 버스
- SCSI : 컴퓨터에 주변기기를 연결할 때 직렬 방식으로 연결하기 위한 표준
- 파티션 : | Primary | Extended | Logical | 파티션이 있음 -> 이를 이용해 매우 많이 구분 가능!
-RAID : 여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식.
-RAID의 레벨은 Linear RAID, LAID0 ~ LAID5 존재
[ 주로 사용 : Linear RAID, LAID0 / 1 / 5 / 6( 5 변형 ) ]
- 최소 2개 이상의 하드디스크 필요
Linear RAID - 모든 하드디스크를 하나의 볼륨으로 사용 - 앞 디스크부터 순서대로 저장 - 공간효율성 100%!! (저렴한 비용) |
RAID0 모든 디스크에 동시에 저장 -공간효율성 100!!(저렴한 비용) -신뢰성 낮음 (일부 디스크에 문제 발생 시 데이터 사용 불가) -빠른 성능을 요구하되, 전부 잃어버려도 큰 문제가 없는 데이터 사용 시 적당 |
RAID1 하나의 데이터를 두 군데의 하드디스크에 저장함 (미러링) -데이터 저장에 두배의 용량 필요 (비용 2배! 공간효율 낮음!('HDD / 2'의 공간 사용)) -신뢰성 높음 (결함 허용 제공) -성능 변화 없음 -중요한 데이터 저장 시 적절(백업용) |
- 최소 3개 이상의 하드디스크 필요
RAID5
-데이터 안정성 + 공간 효율성!
-하드 디스크 오류 발생 시 '패리티'를 이용해 데이터 복구
-'하드디스크의 개수 - 1'의 공간 사용
-하드디스크가 2개 고장나면 복구 불가 (RAID6는 가능)
실습) 하드디스크 1개 추가
VMware 상에서 진행)
ㄱ. 하드디스크 1개 장착
Edit v.m settings -> Add.. -> 하드디스크 -> SCSI (추천) -> (용량 설정하기) 1GB -> 이름 설정
ㄴ. 파티션 할당
ls -l /dev/sd* ( -> sd로 시작하는 모든 것들의 정보를 보여줘)
fdisk /dev/sdb
--> 파티션의 타입을 바꿀 경우 t 옵션 -> fd (Linux Raid Autodetect 로 타입 변경)
mdadm | RAID를 구성할 수 있게 해줌
(RAID 생성) mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1
(RAID 확인) mdadm --detail --scan
(포멧, 파일시스템 생성) mkfs -t ext4 /dev/md0
(구축한 RAID 확인) mdadm --detail /dev/md0
- 문제가 발생하거나 고민한 내용
RAID 구축 실습을 따라하다가 실수로 오타를 내버렸다.
mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1 를 입력하던 도중
md9를 md0이라고 쳐버렸다.. 당황하며 다시 써봤지만 '~ /sdb1: Device or resource busy' 라는 문구가 뜨며 실행되지 않았다.
나는 잘못만든 md0를 삭제하고싶어서 인터넷에 이를 검색해보았다.
그 때는 mdadm의 -S 옵션을 사용하면 되는데, 그 후에 메타 데이터까지 제거해줘야하므로 --zero-superblock이란 옵션을 써서 모두 지워줘야한다고 했다. 이 명령어를 사용해 잘못 생성한 md0를 없애고, 다시 md9를 원래대로 생성할 수 있었다.
- 참고할 만한 내용
내가 위에서 문제를 해결할 수 있었던 블로그 포스팅을 참고하면 좋을 것 같다.
RAID 설정 제거에 대해 알려주고 있다.
https://wiki.vlee.kr/doku.php?id=mdadm
- 회고
이번 시간에는 가상머신의 덕을 많이 받았다.
여러개의 하드디스크를 생성하고, 제거하고, 다시 연결하는 실습을 진행했는데
이렇게 많은 하드디스크를 가상 머신이 있지 않았다면 비용도 많이 들고 과정도 굉장히 복잡할 것이다.
그리고 여러 RAID 에 대해 학습하며 여러 개의 하드 디스크를 한번에 사용할 수 있는 방식을 고안해 낸 것이 정말 대단하다고 생각했다. 보안이 중요할 땐 RAID1을, 공간 효율성이 중요할 땐 RAID0을 쓰는 방법 등등 각각의 RAID를 적절한 상황에 찾아 사용하는 것이 효율적임을 알게 되었다.
그리고 부분 부분 하드디스크가 고장났을때, 응급모드를 통해 문제가 발생한 상황을 확인할 수 있음을 배웠다.
응급모드로 접속 후 장치 이름을 확인할 때, 하드디스크를 띄엄띄엄 지웠어도 sdb, sdc, sdd sde, sdf 이런 식으로 정렬되어 있는 것이 신기했다. 뒤에 있던 장치들이 밀려들어가 틈을 메워서 그런 것이었다.
이번 실습은 하드디스크의 개수가 많아 유난히 더 복잡했던 느낌이었다. 그래도 차근차근 따라해보면 비슷한 내용들의 반복이어서 복습 차원에서 도움도 되고 그렇게 어렵지 않아 좋았다. 이번 시간 중 문제 복구 실습이 제일 까다로웠던 것 같다. 조만간 다시 한 번 실습하면서 스스로 더 공부해봐야겠다.
- 5주차 실습과제
'Ubuntu Linux 🐧 > [컴퓨터시스템관리] 실습일지' 카테고리의 다른 글
컴퓨터시스템관리) 7주차 실습일지 (0) | 2020.04.30 |
---|---|
컴퓨터시스템관리) 6주차 실습일지 (0) | 2020.04.26 |
컴퓨터시스템관리) 4주차 실습일지 (0) | 2020.04.10 |
컴퓨터시스템관리) 3주차 실습일지 (0) | 2020.04.05 |
컴퓨터시스템관리) 2주차 실습일지 (0) | 2020.03.29 |
- Total
- Today
- Yesterday
- 리액트
- 자바스크립트문법
- 리액트독학
- 무료목업레퍼런스사이트
- 자바스크립트기초
- 리액트스크롤이벤트
- 프로세스
- 자바스크립트프로그래머스
- 프로세스스레드차이
- 자바스크립트최단거리
- 숫자표현JS
- 프로그래머스js
- 프로그래머스
- ReactAnimation
- 가까운수js
- 리액트스크롤
- Graphql서버연결
- graphql
- 개인플젝
- JS비동기
- CSS디자인
- 자바스크립트미니프로젝트
- 웹디자인툴
- 스크롤내리면나타나는애니메이션
- 리액트커스텀훅
- 토이프로젝트디자인
- 리액트state
- graphql개념
- 리액트버튼누르면스크롤이동
- 리액트스크롤애니메이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |