돌할우밤 공부방

1. 가상머신(VMware pro기준)에 디스크를 추가해 보자.

1.

빨간색으로 밑줄친 설정버튼을 눌러서 들어간다

2.

밑에 보이는 아련한 Add...버튼을 누르자

3.

디스크를 추가하는 것이기 때문에 Hard Disk를 누르고 Next를 눌러준다
디스크 다입은 기본으로 만들겠다 next클릭
새로운 디스크 추가 next
용량은 10GB로 설정한다음 스플릿으로 설정후 Next
새로운 하드디스크가 추가된 모습

2. os에서 추가된 하드디스크 상태확인과 fdisk 파티셔닝 후 파일시스템 포멧 및 마운트해보기.

-자 이제 앞서 디스크를 추가시킨것이 잘 적용이 됫는지 확인해 보자(명령어 3개로 알아보자)

 

사용법: lsblk - 리눅스 디바이스 정보를 출력하는 명령어로 blkid 보다 더 상세한 정보 출력

df [option]- 리눅스 시스템 전체의 (마운트 된)디스크 사용량을 출력 (옵션은 마운트 할 때 알아보자)

 

- lsblk의 옵션

옵션 설명
-f 파일 시스템 정보까지 출력
-t topology 정보도 출력

 

 

나는 간단하게 lsblk명령어로 확인해보겠다

성공적으로 추가된 모습

 

  • fdisk 파티셔닝

이제 하드디스크도 새롭게 추가 했으니 파티셔닝을 해보자 (fidisk 말고도 gdisk,parted가 있다)

-fdisk란? x86시스템의 MBR 파티셔닝을 위하여 오랫동안 사용해온 도구이다. 대화형 메뉴를 통하여 손쉽게 디스크 파티션을 구성할 수 있다. 또한 명령 실행 시 파티션을 구성할 디스크를 명령의 인자로 입력해야 한다.

사용법 예시 : fdisk /dev/sdb - fdisk는 디스크를 파티셔닝하는 명령어이다

fidisk를 사용해 추가된 디스크(sdb)를 파티셔닝하기 위한 화면 여기서 'Command' 부분에 명령어를 할당해야한다. 사용 명령어는 밑의 표 참고

명령어 설명
d 파티션을 삭제
l 파티션 타입의 목록을 출력
m 명령어 목록 출력
n 새로운 파티션 추가
p 현재 파티션 설정상황 출력
q fdisk를 종료
t 파티션 타입을 변경
w 파티션 변경사항을 기록(저장)

자 이제 나는 파티셔닝을 새롭게 추가를 위해 n을 입력후 첫번째 파티션 타입을 기본으로 설정하기 때문에 엔터 그 뒤에도 엔터치면 기본값으로 설정이 된다 그리고 용량은 3,3,4GB로 설정할것이다 위와 같이 추가한다

이제 추가한 파티션을 확인해 보자

아주 잘 추가가 되었따

- 파일시스템 (포맷)

파일시스템을 하는 이유? 디스크 파티셔닝이 완료되면 파티셔닝된 장치에 파일시스템을 생성해야 파일 및 디렉토리를 저장 할 수 있기 때문. 파일시스템 생성에 사용하는 명령어는 'mkfs'이다

-파일시스템 종류 2가지 (내가 할 거)

1. EXT : 리눅스 초기 개발 시 리눅스에서 사용하기 위해 만들어진 파일시스템(ext1,ext2,ext3,ext4 버전이 존재함)

2. XFS : SGI사에 의해서 개발된 파일시스템이다. 기존 IRIX시스템에서 사용되던 파일시스템이 리눅스로 이식되었다.

사용법 : mkfs.[filesystem-type] [disk경로]

앞서 추가한 파티션 1,2,3을 포맷을 해보자 1번과 2번은 ext4로 3번은 xfs로 할 예정

1번을 ext4로 포맷한 모습 2번도 마찬가리로 해주고
3번을 xfs로 포맷한 모습

 

- 파일시스템 (마운트)

마운트를 하는이유? 파일시스템을 생성한 후에는 파일시스템에 접근할 수 있는 경로를 생성해야 한다. 이 과정을 마운트라고 한다. 마운트를 할 때 사용되는 명령은 'moun'이다

사용법 : mount [option] [partition] [mount-point(경로)]

옵션 설명
-t 마운트할 파일시스템의 유형을 지정한다
-o 파일시스템 마운트 시 세부 옵션 지정

자 이제 포맷을 파친 파티션을 마운트 해보자

명령어를 보면 알겠지만 마운트는 마운트시킬 포인트 경로가 존재해야하므로 디렉토리를 3개 만들어준다 window에도 하드디스크 파일이존재하는 모습을 보면 알듯이 리눅스는 그 과정을 지금 다 하고있다고 보면된다.

이제 마운트할 준비가 끝났다 여기서 우리는 파일시스템의 유형을 지정했기에 -t옵션은 사용하지 않는다

이렇게 3개 전부다 마운트를 해준다
lsblk로 확인 해보면 제대로 마운트된 것을 확인할 수 있다.

-파일시스템 테이블에 등록하여 마운트

여기서 재부팅시에도 자동으로 마운팅이 되게끔 설정하기 위해 vi편집기로 /etc/fstab에 등록을 해줘야 한다

설정방법은 두가지정도가 있다

1. [디스크 경로]                          [mount-point]                     [filesystem]              default        1 2

2. [UUID=UUID값]                          [mount-point]                     [filesystem]              default        1 2

이렇게 작성하면된다

여기서 뒤에 붙는 숫자는 0~2의 값을 넣을 수 있는데

0 = 파일시스템을 체크하지않음

1 = root파일 시스템으로 부팅시 제일 먼저 체크

2 = root파일 시스템 이외에 파일시스템으로 부팅시 1다음으로 체크

위와 같이 적어주면된다

 

- 마운트 해제

자 이제 우리가 공들인 저 아이들을 마운트 해제해보겠다 이거를 언마운트라고한다. 사용되는 명령어는 umount이다.

사용법 : umount [option] [partition | mount-point | UUID]

언마운트 할때는 파시션을 지정하거나 파운트시킨 디렉토리경로, UUID중 하나를 입력해 언마운트하면 된다.

옵션에는 -a가 있는데 마운트 되어있는 모든 파일시템을 언마운트할 때 사용된다.

마운트가 해제된 모습

 

3. 스왑 메모리생성하고 마운트 해보기

-스왑 메모리(Swap Memory)란? 쉽게말해서 하드디스크의 일부를 RAM처럼 사용할 수 있게 만드는 기술이다.  리눅스에서 가상메모리를 스왑파일시스템이라고 한다. 일반 파일시스템과는 다른 용도로 사용하게 되는데 실제메모리의 보조역할을하는 것으로 하드디스크의 일부를 메모리처럼 사용한다. 실제메모리에비해 하드디스크를 이용하기때문에 속도면에서는 현저히 떨어지게 되지만 시스템이 다운되거나 장애가 발생할때 스왑메모리를 두어 보다 안정성있게 사용할 수 있다.

 

스왑메모리는 총 3개의 명령어를 사용하게 된다. 그 중에 먼저 스왑 영역 확인 과 생성 명령어를 알아보자.

사용법 : mkswap [option] [Partition] - 스왑파티션 or 파일 생성

옵션 설명
-c swap파일 장치를 확인한다
-f 잘못된 명령어를 입력해도 그래도 진행한다
-L 디바이스의 label을 설정
-p 사용할 page의 크기를 설정한다
-U 지정한 UUID를 사용하도록 설정/기본값은 UUID를 생성한다
-v swap-space의 버전을 설정한다/지금은 의미없는 옵션
-h 도움말을 표시
-V 버전 정보 표시

swapon [option] : 스왑영역 활성화 및 정보 출력

free -h - 스왑영역을 읽기 쉽게 출력

옵션 설명
-a /etc/fstab 파일을 참고하여 스왑영역을 활성화
-p 스왑 영역을 활성화 할 때 우선순위 지정
-s 활성화된 스왑영역의 정보 출력

 

일단 이전에 파티션 나눈걸 확인해 보자

fdisk 명령어 p 로 지금 3개 디스크파티션이 된걸 확인 할 수 있다.

이전에 파티셔닝한 디스크들을 파티션 타입(System)을 보면 기본 값 Linux로 설정된 걸 볼 수 있는데

스왑메모리를 생성하기 위해서 'fdisk에서 t명령을 이용해 82sysytem값 스왑 장치용 파티션'으로 바꿔야한다.

t 명령입력후 파티션 지정 후 시스템타입(82/Linux swap)을 입력해준다
p명령으로 목록을 봤을 때 잘 설정된걸 확인 할 수 있다

이제 스왑 영역을 확인해보자

확인한 모습

이제 본격적으로 스왑 영역 생성해보자

sdb1을 설정한 모습 나머지도 설정해주자
file -s 명령어로 스왑 영역이 생선된 파티션을 확인해준 모습 성공적!

-스왑 영역 활성화

이제 생성도니 스왑영역을 swapon명령어로 활성화 해주자

스왑을하고 추가적으로 -s옵션으로 활성화 된 모습을 확인한 모습
free 명령어로 스왑 메모리를 확인해 본 모습이다 용량이 늘어난걸 확인한 모습

-마운트 해제

사용법 : swapoff [option] [partition | file-name | UUID]

자 이제 마운트한 스왑영역을 해제해 보자

해제하고 확인했을 때 제대로 해제가 된 모습

스왑도 마찬가지로 영구 적용 하는 방법이 있는데 위와 똑같이 vi/etc/fstab 으로 편집하면 된다

위와 같이 적어주고 :wq로 저장!
적용시킨 모습! 해제도 똑같이 해주면된다

4. 마운트를 할때 영구적으로 하는방법과 일시적으로 하는법 구분하기.

위 과정들에서 설명했듯이 일반 마운트 명령어로 마운트하면 재부팅 시에는 적용이 되는게 아니기 때문에

vi /etc/fstab파일을 설정해 주면 영구적으로 설정할 수 있다.

 

5. PVS-VGS-LVM 개념알아보고 실습하기.

제목에 나와있는 PVS-VGS-LVM은 논리 볼륨을 구성하기위한 조건과 필요한 구성요소라 보면되겠다

-놀리 볼륨이란? 논리 볼륨은 일반적인 스토리지 관리 방식보다 유연한 스토리지 관리 기능을 제공한다 .

장점은 간단하게 3가지 정도있다

1. 디스크 파티션의 구조와 상관없이 크기의 논리 볼륨 생성 가능. 단일 디스크 크기보다 큰 볼륨은 생성 가능

2. 논리 볼륨으로 생성된 볼륨의 사이즈가 부족할 경우 볼륨 확장 가능. 이 때 볼륨 내의 데이터를 유지한 상태에서 확장 가능.

3. 데이터를 유지한 상대에서 논리 볼륨을 구성하고 있는 디스크를 제거 가능. 추가적으로 스냅샷 사용 가능

즉 특정 시접의 데이터를 보존 가능.

논리 볼륨 구성

-논리 볼륨 구성 순서? 순서는 위의 사진과 같이 '물리 볼륨(PVS)' → '볼륨그룹(VGS)' → '논리 볼륨(LVM)' 순으로 된다.

이제 각 구성단계에 알아보자

- 물리 볼륨(Physical Volume) : 디스크 전체 또는 일부를 파티션으로 지정 및 그 파티션으로 물리 볼륨 생성

- 불륨 그룹(Volume Group) : 한 시스템에 여러 개의 볼륨 그룹을 생성할 수 있으며 그룹 이름 지정 가능

(사용가능 볼륨 그룹의 총 사이즈는 해당 볼륨 그룹에 포함된 물리 볼륨 사이즈의 합)

-논리 볼륨(Logical Volume) : 파일시스템에서 데이터를 저장할 수 있는 볼륨을 생성하는 단계 이름, 사이즈, 볼륨그룹 지정가능 지정하지 않으면 자동으로 지정 반드시 해당 볼륨 그룹에서 지정한 만큼의 사이즈를 할당.

 

- 논리 볼륨 생성하기.

앞서 말했듯이 순서는 이와 같다.

 '물리 볼륨(PVS)' → '볼륨그룹(VGS)' → '논리 볼륨(LVM)'

그러면 이제 물리 볼륨 부터 생성해보자

 

1. 물리볼륨 생성

물리 볼륨을 생성하기 위해서는 파티션을 파티션 타입을 'Linux Lvm(8e)'으로 설정하고 생성해야 한다.

 

생성된 모습 여기서 파티션 타입을 수정해 주자(2G,2G,3G로 설정)
파티션 타입을 8e로 변경한 모습

이제 본격적으로 물리 볼륨을 생성해보자

물리 볼륨 생성 명령어 : pvcreate partition1 partition2 ...

물리 볼륨 삭제 명령어 : pvremove partition1 partition2 ...

생성 성공!

'lvmdiskscan'명령어로 확인해보자

아주 좋아

2. 볼륨 그룹 생성

볼륨 그룹생성 명령어 : vgcreate [option] [볼륩그룹명] [논리볼륨]

볼륨 그룹삭제 명령어 :vgremove [option] [볼륩그룹명]

앞서만든 물리 볼륨으로 볼륨 그룹을 생성해보자 (1번과 2번을 먼저 만들자)

볼륨 그룹 gugu1에 -s옵션을 붙여 PE의 크기를 10MB로 설정해서 만들었다

3. 논리 볼륨 생성

논리 볼륨 생성 명령어 : lvcreate [option] [볼륨 그룹 이름]

논리 볼륨 삭제 명령어 : lvremove 논리 볼륨 경로

- lvcreat 옵션

옵션 설명
-l 생성할 논리 볼륨의 크기를 지정(PE)
-L 생성할 논리 볼륨의 크기를 지정(Size)
-n 생성할 논리 볼륨의 이름을 지정

이제 볼륨 그룹기반으로 논리 볼륨을 생성해 보자

생성한 모습
필자는 볼륨크기를 똑같게 설정한 것을 볼 수 있다.

이제 파일시스템 후 마운트를 해보자 (lv99는 ext4, lv88는 xfs로 포맷)

일단 확인을 먼저 해보고 진행하자
포맷을 끝! ext4와 xfs로 한 모습
마운트 까지 성공한 모습

4. 삭제하기

삭제는 생성의 역순으로 논리 - 볼륨 - 물리 순으로 삭제하면된다.

이런식으로 삭제하면 완료

6. PVS-VGS-LVM 볼륨값 수정하기

gugu1에 sdb5 볼륨을 추가한 다음에 gugu1의 사이즈를 늘려보겠다.

2G+2G+3G인 상태이므로 sdb5를 더하면 5G가 되야한다

 

vgextend(불륨그룹 확정 명령어) 사용하여 추가하면 추가가 성공적이다.
vgdisplay로 확인해보면??
9G로 늘어난 모습을 확인할 수 있다.

 

용량을 늘려줬으니 파일시스템도 포맷을 해주자.

포맷과 동시에 논리 볼륨lv1을 +50MB한 모습
잘 추가가 되었다.

'IT_공부 > Linux' 카테고리의 다른 글

/Linux/RHCSA/8일차(예제 풀기)  (0) 2021.07.02
/Linux/RHCSA/7일차  (0) 2021.06.30
/Linux/RHCSA/5일차  (0) 2021.06.27
/Linux/RHCSA/4일차  (1) 2021.06.22
/Linux/RHCSA/3일차  (0) 2021.06.20

>