Notice
Recent Comments
Link
«   2025/07   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

정보통신공학과 노선변경기

리눅스 관리 3일차 swap, 볼륨관리, fstab 작성, LV, PV, VG 관련명령어 본문

Sub3_리눅스 관리

리눅스 관리 3일차 swap, 볼륨관리, fstab 작성, LV, PV, VG 관련명령어

HEONPOLI 2021. 5. 12. 17:22

*2일차 실습복기

파일시스템 지정하고 마운트하는거 무조건 외워야함

sudo fdisk /dev/vdb 파티셔닝확인 == lsblk 명령어

파일시스템 확인 ==> lsblk -f 로 확인 mkfs 명령어

파티셔닝하고 파일시스템 지정하면 uuid가 지정되어 실사용가능

이 후에 마운트지정 mount

마운트 확인 = lsblk, 마운트 해제 = umount /mnt/disk1

 

마운트지정은 메모리에만 저장되므로 휘발성, 재부팅하면 날아간다.

해결책

/etc/fstab파일시스템을 등록할 수 있는 설정파일 ==를 통해 마운트하면 재부팅해도 마운트된게 남아있다.

mount -a == fstab에 있는

fstab에 작성하는 양식

1)UUID 마운트될 디렉토리(/mnt/disk4) 파일시스템형식(xfs) defaults 0 0

OR

2)파티션 마운트될 디렉토리(/mnt/disk4) 파일시스템형식(xfs) defaults 0 0

 

cf. sudo lsblk -f | tail -4 >> /etc/fstab == 파티션 UUID 메모장 옮겨놓지 않고 바로 append 시켜놓고 거기서 수행

 

*스왑메모리

CPU(processor +L2) <-------- > memory(주기억장치) < ---------- > disk(보조기억장치)

 

보조기억장치에 데이터 저장해놓고 cpu 에서 부팅, 프로그램 연산 시도할 때 디스크의 메모리를 주기억장치로 옮겨주고 메모리의 데이터를 L2(Cache) 에 옮긴다. 캐시가 프로세스와 통신 후 메모리에 다시 보내주는 동작

 

memory 존재이유 == 보조기억장치의 속도가 느려서

운영체제도 memory에 올라가있어야한다. 용량이 부족해

1 2 3 4 5

메모리에 3 4 5 넣고 disk swap1 2 구성

page in:swap => RAM

page out: RAM => swap

 

**swap 영역을 구성하는 방식

-파티션 방식 : swap 파티션을 구성해준다.

fdisk = > mkswap(mkfs 와 같은역할) 명령어 사용 = > swapon 스왑 활성화(mount 명령어와 같은맥락)

 

-swap file 구성방식

mkdir 스왑파일 디렉토리 만들어준다 ==> dd 명령어로 swap영역 모든 데이터를 0으로 덮어씌운다. ==> mkswap ==> swapon

 

영구마운트 방법 ==> mount /etc/fstab

<장치> < swap> <swap> defaults 0 0

 

free 명령어 memory, swap 보여준다.

 

*************스왑파티션구성하기 예제 *************

fdisk 들어가서 new 만들어주고 t 로 파티션 들어가서 82linux/swap 설정해준다

 

mkswap /dev/vdb8 == swap으로 포맷해준다.

<영구마운트 vi /etc/fstab /dev/vdb8 swap swap detaults 0 0 작성>

/fstab에서 swap 선언을 해주는데 왜 mkswap ? == fstab에서는 그냥 지정해놓은걸 불러오는것만 해주는거기 때문이다.

swapon /dev/vdb8 == 스왑파티션 적용 후 마운트 시켜준다.



*************Swap file로 구성하기***********

 

mkdir /swapdir
dd if=/dev/zero of=/swapdir/swapfile bs=1M count=1024 
chmod 600 /swapdir/swapfile
mkswap /swapdir/swapfile
swapon /swapdir/swapfile

 

/swapdir/swpfile swap swap defualts 0 0 으로 스왑파일 영구마운트

 

swapoff -a 로 스왑 다 지워준다. swapon -a 로 다시 fstab 내용 반영가능

 

*VOLUME

fdisk > 파티셔닝 > 파일시스템 > 마운트

**논리볼륨

기존의 파티션으로 디스크 관리 == 유연하게 사용 불가능하다

논리볼륨 사용 == 디스크를 유연하게 사용할 수 있게 만들어준다.

데이터를 저장할 수 있는 볼륨을 생성

확장가능, 제거가능, RAID

 **물리볼륨

디스크 파티셔닝으로 생성되는 것

 

**구성방법

1. 물리 볼륨 생성 > 2. 볼륩 그룹 생성 > 3.논리 볼륨 분리

볼륨그룹

물리볼륨의 집합으로 구성

최소 한개이상 물리볼륨 필요

볼륨그룹 생성시 PE의 크기지정해줘야한다

(PE 기본 4M, 1~256M까지 가능, 2진수 단위로 가능)

 

 

 

 

 

구성 실습

파티션 구성 들어가서(fdisk)

type8e 헥사코드로 LVM으로 지정해준다. LVM(logical Volume Manager) /dev/vdb9

sudo pvcreate /dev/vdb9 == 물리볼륨 생성

sudo vgcreate vg0 /dev/vdb9 == 볼륨그룹 생성 vg0이라는 볼륨그룹 이름지정 pe 지정안해주면 기본 4M로 지정됨

sudo lvcreate vg0 -n lv1 -L 500M == 논리볼륨 생성 , 볼륨그룹 지정하고, 이름 지정, 용량지정

물리볼륨 확인 명령어 : pvdisplay

볼륨그룹 확인 명령어: vgdisplay

 

sudo mkfs.xfs /dev/mapper/vg0-lv1 볼륨그룹 위치 찾아서 파일형식지정

sudo mount /dev/mapper/vg0-lv1 /mnt/disk_lv1/ 마운트 해주는것

 

삭제명령어: pvremove, vgremove, lvremove

*******LVM 실습*********

- 기존의 디스크 제거

PE = 8M

lv01=2G(ext4),lv02=2G(ext3),lv03=4G(xfs),lv04=4G(xfs) LVM 생성

영구 마운트 까지

mounting point 는 알아서 지정

**************************

내가 한거

sudo fdisk dev/vdb 에서 20G 모두 LVM으로 만들었음

sudo pvcreate /dev/vdb1 

sudo vgcreate -s 8M vg_test /dev/vdb1

sudo lvcreate vg_test -n lv01 -L 2G

sudo lvcreate vg_test -n lv02 -L 2G

sudo lvcreate vg_test -n lv03 -L 4G

sudo lvcreate vg_test -n lv04 -L 4G

sudo mkfs.ext4 /dev/mapper/vg_test-lv01

sudo mkfs.ext3 /dev/mapper/vg_test-lv02

sudo mkfs.xfs /dev/mapper/vg_test-lv03

sudo mkfs.xfs /dev/mapper/vg_test-lv04

 

sudo mkdir /mnt/disk_lv01 부터 04까지 생성

vi 편집기 /etc/fstab에서..

/dev/mapper/vg_test-lv01    /mnt/disk_lv01  ext4 defaults    0 0

/dev/mapper/vg_test-lv02    /mnt/disk_lv02  ext3 defaults    0 0

/dev/mapper/vg_test-lv03    /mnt/disk_lv03  xfs defaults    0 0

/dev/mapper/vg_test-lv04    /mnt/disk_lv04  xfs defaults    0 0

입력하고

sudo mount -a

 

강사님풀이)

vdb1 에 10기가 , vdb2에 5기가 시나리오

sudo pvcreate /dev/vdb1

sudo pvcreate /dev/vdb2

 

sudo vgcreate vg1 -s 8M /dev/vdb1 /dev/vdb2 == 볼륨그룹으로 합쳐주기

sudo lvcreate vg1 -n lv01 -L 2G

sudo lvcreate vg1 -n lv02 -l 256 == 8M 짜리 256개 > 8*256 =2048 2기가

sudo lvcreate vg1 -n lv03 -L 4G

sudo lvcreate vg1 -n lv04 -L 4G

sudo mkfs.ext4 /dev/mapper/vg1-lv01 >> 경로확인? = lvdisplay

sudo mkfs.ext3 /dev/vg1/lv02 경로 이렇게해도 된다

sudo mkfs.xfs /dev/vg1/lv03

sudo mkfs.xfs /dev/vg1/lv04

***************************************************************

*볼륨 확장

sudo pvcreate /dev/vdc1

sudo vgextend vg_test /dev/vdc1^C

sudo lvextend -L 7G 아니면 sudo lvextend -L +5G == 플러스 붙으면 그 용량에 더해주는거고 7G하면 딱 이거만큼으로되게 만들어주는 것

 sudo lvextend -L 7G /dev/vg_test/lv01   

sudo lvextend -L +2G /dev/vg_test/lv02 -r  ==   r옵션 붙이면 파일시스템까지 같이 확장된다 .

 

*볼륨 reduce

sudo lvreduce -L 4G /dev/vg_test/lv01






*****************************실습***********************

1. VM 디스크 1을 제외한 모든 디스크를 제거 하시오

2. VM 디스크 2 (10G) 를 생성하시오.

3. 다음 사양을 적용 할수 있도록 적당히 파티셔닝 하고 마운트 하시오

- swap 메모리를 500M 확장 하시오(파티셔닝 방법) 

- ext4 2G /tmp/test1 에 마운트 되는 파일시스템 생성(논리볼륨 아님)

- xfs 1G /tmp/test1 에 마운트 되는 파일시스템 생성(논리볼륨아님)

- 다음과 같은 논리 볼륨을 생성하시오

      - 3G, 2G pv -> vgname 인 논리 볼륨그룹 생성

      - /vgname/lvname1   1G  (ext4 /mnt/lv1 )

      - /vgname/lvname2   2G  (xfs /mnt/lv2 )

  -lvname1 을 1.5G로 확장하시오.

  모든 내용은 재부팅 후에도 설정이 유지 되어야 한다.

********************************************************************

내가 수행한 명령어

1번 주파티션: swap용        type:82=(linux swap)

2번 주파티션: 파일시스템 생성용

3번 주파티션: 파일시스템 생성용

4번 확장파티션 : 확장해서 사용하기 위해 남은 용량 전부 할당한 파티션

5번 파티션 : 확장파티션의 첫번째 파티션 3G 할당            type: 8e =(LVM)

6번 파티션 : 확장파티션의 두번째 파티션 2G 할당            type:8e=(LVM)
sudo fdisk /dev/vdb
sudo mkswap /dev/vdb1
swapon /dev/vdb1
free
sudo fdisk /dev/vdb
sudo mkfs.ext4 /dev/vdb2
sudo mkfs.xfs /dev/vdb3
sudo mkdir /tmp/test1
sudo mkdir /tmp/test2
sudo mount /dev/vdb2 /tmp/test1
sudo mount /dev/vdb3 /tmp/test2
fdisk /dev/vdb
sudo pvcreate /dev/vdb5
sudo pvcreate /dev/vdb6
sudo vgcreate vgname /dev/vdb5 /dev/vdb6

sudo vgdisplay

sudo lvcreate vgname -n lvname1 -L 1G

sudo lvcreate vgname -n lvname2 -L 2G

sudo mkfs.ext4 /dev/vgname/lvname1

sudo mkfs.xfs /dev/vgname/lvname2

sudo mkdir /mnt/lv1

sudo mkdir /mnt/lv2

sudo mount /dev/vgname/lvname1 /mnt/lv1

sudo mount /dev/vgname/lvname2 /mnt/lv2

sudo lvextend -L 1.5G /dev/vgname/lvname1 -r

sudo vi /etc/fstab

 

file: /etc/fstab 내부내용 수정

/dev/vdb1       swap    swap    defaults        0 0
/dev/vdb2       /tmp/test1      ext4    defaults        0 0
/dev/vdb3       /tmp/test2      xfs     defaults        0 0
/dev/vgname/lvname1     /mnt/lv1        ext4    defaults        0 0
/dev/vgname/lvname2     /mnt/lv2        xfs     defaults        0 0

 

 

4일차에 실습 해설 계속