Linux Day7

김지원·2022년 7월 16일

Linux

목록 보기
7/7

파일 시스템과 하드디스크

파일 시스템(File System)

: HDD에 파일들을 어디에 어떻게 저장하고 어떻게 관리할 것인지에 대한 자료 시스템 구조
(Windows: NTFS, Android : YAFFS, Linux : EXT)

포맷(Format)

: 운영체제를 설치하거나 운영체제에서 다른 파티션에 있는 데이터를 읽어 들이고자 할 때 파티션이 파일시스템을 갖도록 해 주는 사전 작업. 리눅스에서는 파일 시스템 생성이라고 함.

파일 시스템 용량 체크 명령어

df

: 하드 디스크의 용량이 얼마나 남아 있는지 확인하는 명령어

used : 얼만큼 사용하는지
Available : 남아있는 공간 
Mounted : 어디서 사용하는지
  • 밑줄그은게 내가 사용하고 있는 리눅스이다.
    -a : 접근불가 등 모든 파일 시스템 정보를 출력 df -a
    -i : 파일 크기를 block대신 inode로 출력 df -i
    -k : 파일 크기를 kb로 출력 df -k
    -T : 파일 시스템의 종류와 함께 디스크 정보를 출력 df -T
    -h : 쉬운 용량 표시 단위로 표시해서 출력 (1G, 250M, 1K 등) df -h

du

: 특정 디렉토리내의 파일 용량에 대한 정보를 확인하는 명령어
-a 해당 경로에 대한 사용한 디스크 용량 출력 -a
-k 용량을 킬로바이트 단위로 출력 -k
-m 용량을 메가바이트 단위로 출력 -m


마운트(Mount)

: 물리적인 장치를 특정한 위치(디렉토리)에 연결시키는 과정

  • 리눅스에서는 HDD의 파티션, CD/DVD?USD 메모리 등을 사용하기 위해서는 지정한 디렉토리에 연결하는 작업이 필요함.
#mount [옵션] [디바이스(장치)] [디렉터리]
#umount [옵션] [디바이스(장치)]

/etc/fstab : 마운트할 파일시스템과 옵션을 담고 있는 파일
/etc/mtab : 현재 마운트된 파일시스템과 옵션을 담고 있는 파일
/proc/mounts : 현재 마운트된 파일시스템에 대한 정보를 담고 있는 파일

/etc/fstab

: 파일 시스템 마운트 테이블이 기록되어 있는 파일

  • 시스템이 부팅될 때 이 파일에 기록된 마운트 정보대로 파일시스템이 자동으로 마운트
  • 옵션
    loop : CD-ROM 이미지 파일인 iso 파일을 마운트 할 때 사용

[장치명] [마운트할 디렉터리] [파일시스템] [옵션] [덤프] [부팅시 파일시스템 점검순서]

장치명 : 마운트할 블록장치 또는 원격 파일시스템 장치명
마운트할 디렉터리 : 파일시스템을 마운트할 마운트 포인트, 즉 디렉터리
파일시스템 : 파일시스템의 유형
옵션 : 파일시스템에 관련된 마운트 옵션
덤프 : dump 명령에 의해 덤프할 파일 시스템을 지정한다. 만일 0값이면 덤프가 필요가 없다고 판단함
부팅시파일시스템 점검순서 : 부팅 시 파일시스템의 이상 여부를 확인 후 이상이 있을 경우 자동으로 시스템 검사를 할 것인지를 지정
0은 점검하지 않으며, 1은 / (root파티션), 나머지는 2로 지정함 (병렬로 처리한다는 뜻)

dump : 백업 -> 어떤 데이터를 저장하는 것. 어떠한 곳에 백업시켜놓겠다 라는 의미

mount라는 명령어로 그냥 mount를 할 수 있지만 시스템 재부팅시 mount가 풀려있다.

ext4 파일시스템

: ext -> ext2 -> ext3(파일 저널링 시스템) -> ext4(현 리눅스 표준) 으로 진화되었다.
ext2 : 부팅할 때 무조건 점검을 받도록 되어있다. 안정적이지만 느리다.
ext3 : 파일시스템을 다 체크를 안하고 파일마다 index를 만들어서 로그를 기록하여 파일이 있는지 없는지에 대해서 사용할 수 있도록 함.
ext4 : 대용량 파일 지원, 기존 파일시스템 호환성, 온라인 조각모음, 빨리진 fsck, extends지원, 하위 디렉터리 수 향상

하드 디스크

VMware은 총 120개의 SATA HDD와 60개의 SCSI HDD 장착 가능

SATA 장치와 SCSI 장치의 구성

  • IDE(EIDE) : 데이터 전송을 위해 메인보드와 HDD를 연결하는 방식으로 현재는 사용하지 않는다. 데이터 전송속도가 느림.
  • SATA : 어댑터와 장치들을 비교적 속도가 빠른 직렬 연결을 이용해 연결하는 방식으로, SATA2가 가장 많이 사용된다. 케이블 연결.
  • SCSI : 주변장치의 연결과 분리과 쉽고, 데이터의 전송속도가 매우 빠르지만 가격이 높다는 단점이 있음. 가정에서 사용하기 힘들고 기업에서 많이 사용한다.
  • NVMe : SSD 성능을 최대한 활용할 수 있또록 개발된 초고속 데이터 전송 규격이다. SATA 인터페이스 대비 최대 6배 이상의 속도를 낸다. 케이블 연결이 아닌 하드디스크가 칩으로 나와서 메인보드에 칩을 꼽으면 된다.

참고 ) SSD에 부팅하도록 해야 속도가 빠르다.

  • 하드 디스크 추가에서 확인 할 수 있다.

HDD 추가

SWAP Partition : HDD의 일부를 RAM(메모리)처럼 사용할 수 있게 만드는 기술로, RAM의 용량이 꽉 찾을 경우 중요도가 낮은 데이터들을 SWAP 공간에 저장하여 사용함.
하드디스크 공간을 RAM대신에 사용한다. = SWAP 공간

  • Linux에서는 파티션을 그냥 사용할 수 없으며 특정한 디렉터리에 마운트 시켜야 사용 가능.
  1. 새로운 1GB의 SCSI HDD추가
  2. 파티션 설정
  3. 파일 시스템 형식 설정(ext4)
  4. 마운트
  5. 마운트 해제
  6. 컴퓨터 부팅 시 sdb1 장치가 mydata 디렉터리에 마운트 되어 있도록 설정

가용공간이 부족해 새로운 하드디스크를 샀다고 가정하고 추가를 해보자.

1. 새로운 1GB의 SCSI HDD추가

  • 원래는 1TB인데 1GB로 가정하고 해보자.

  • 가상디스크 파일을 하나로 만들건지 여러개 할건지 하나로 설정.

  • Advanced -> 0번이 원래 있던 것. 1번이 새로만든 것.

2. 파티션 설정

: hdd를 사용하기 위해서는 먼저 파티션(Partition)을 설정해야함
fdisk명령어 사용.
hdd를 통째로 사용하려면 1개, 2개로 나눠서 사용하려면 2개의 파티션을 생성. (4개까지 가능)

  • sda 아니고 sdb으로 사용. (sda는 사용중이다.)

m : 명령어 목록 확인

n : 새로운 파티션 추가

-> 파티션 타입 설정 -> p(primary)
파티션 넘버 설정 -> 1

-> 어디서부터 어디까지가 하드디스크 파티션인지 설정. 차지할 부분 설정하자.

  • 2048 : 0~2048 시스템 설정으로 이미 사용중이다. 기본이 2048부터로 되어있으니 그냥 enter

-> 파티션의 크기가 어떻게 되는지 설정.

  • 끝까지 사용이 default값. 다 사용할 것이라서 enter

-> 파티션이 제대로 만들어졌는지 확인을 해보자 p

  • type : linux 리눅스 전용이라는 의미

-> 저장하고 나가자. w

3. 파일 시스템 형식 설정(ext4)

-> 포맷하자.

  • sdb1을 포맷을 하겠다.

4. 마운트
-> root에 mydata만들고 copy를 할것이다.

-> copy하자.

-> 지금만든 mydata는 그냥 폴더이다. 존재만 할 뿐 mount되어있지 않다. mount해보자.

  • mydata에 dev/sdb1을 mount 한다.

  • lost+found : 디렉터리는 파일 시스템을 점검할 때 생성되는 파일이 저장되는 곳.
  • 우리가 넣은 mydata가 없다. 마운트를 할땐 동아는 해당 하드시스크가 그 디렉토리를 사용한다.

5. 마운트 해제

  • 없다.
  • 다시 돌아온걸 확인할 수 있다.
    꽂았따 뺐다의 개념.

6. 컴퓨터 부팅 시 sdb1 장치가 mydata 디렉터리에 마운트 되어 있도록 설정

-> 계속 이렇게 작성을 해줄 수 없기 때문에 fstab에 저장을 해놓는다.

  • 이렇게 하고 재부팅을 한뒤 자동으로 마운트되있으면 성공. reboot

RAID (Redunadant Array of Inexpensive/Independent Disks)

: 여러 개의 하드디스크를 하나의 하드디스크처럼 사용하는 방식

  • 하드웨어 RAID와 소프트웨어 RAID로 나뉜다.

RAID LEVEL

  • 실무에서는 Linear RAID, 0, 1, 5, 6, 1+0 (0, 1을 혼합)을 사용.

Linear RAID

  • 첫 번째 HDD에 데이터가 완전히 저장된 후 다음 HDD에 데이터를 저장함.
  • 첫 번째 HDD에 데이터가 완전히 저장되지 않는다면 다음 HDD는 사용되지 않음.
  • HDD의 용량이 달라도 전체 용량을 문제없이 사용가능.

RAID 0

  • 모든 HDD를 동시에 사용하는 '스트라이핑(Stripping)'방식을 사용.
    (bit단위 혹은 block단위로 저장됨)
  • 저장되는 시간 or 속도 면에서 모든 RAID 중 가장 성능이 뛰어나며,
  • 모든 HDD를 사용하므로 공간 효율도 좋음.
  • 단점은 하나의 HDD에서 문제가 발생하면 DATA를 알 수 없게 되어 모두 쓸모가 없어짐.
  • 각 HDD의 크기가 다르면 작은 HDD기준으로 동작하여 큰 HDD의 공간이 남음.
  • '빠른 성능을 요구하되, 데이터가 전부 없어져도 문제가 되지 않는 자료'를 저장하는데 적합
    데이터가 둘 중 하나만 고장나도 데이터를 복구 할 수 없음.

RAID 1 : 복사본

  • 똑같은 데이터를 복제해놓는 '미러링(Mirroring)'방식을 사용.
  • 하나의 data를 저장할 때 필요한 공간은 해당 data의 2배가 필요.
  • HDD 중 하나가 고장 나도 data가 손실되지 않는 '결함 허용(Fault-tolerance)' 특징을
    가짐.
  • 속도는 하나의 data를 저장하는데 걸리는 속도와 동일.
  • 'HDD가 고장 나도 없어져서는 안될 중요한 데이터'에 적합.
    똑같은 파일이 하나 더 있기 때문에 날아가도 안정성에는 상관없지만 느리다.

RAID 1+0

그래서 0과 1을 같이사용하는 RAID 0 + 1 을 사용을 많이 한다.

  • RAID 1로 구성한 data를 다시 RAID 0으로 구성하는 방법. 안정성과 속도를 동시 확보 가능.

RAID 5

  • RAID 0 + Linear 1을 생각하여 구성된 것.
  • 최소 3개 이상의 HDD가 있어야 구성 가능. (대부분 5개 이상으로 구성)
  • HDD에 오류가 발생하면 '패리티(Parity)'를 이용해서 데이터 복구 가능.
  • 어느정도 결함을 허용하며 저장 공간의 효율이 좋음.
  • data를 저장할 때, Parity를 위한 공간이 추가로 필요함.
  • HDD를 여러 개를 사용할 수록 공간 효율이 좋아짐. (HDD 1개 고장 ok)
000 111 010 011 12bit 저장 시
각 행이 짝수가 되도록 만들기 위해
숫자를 구성하는 '짝수 패리티' 사용
  • 2GB를 3개사용하려는데 실제로 사용하는건 4GB이고 2GB는 Parity의 공간이다.

RAID 6

  • RAID 5방식을 개선한 것으로, 2개의 Parity를 사용. (HDD 2개 고장 ok)
    따라서 최소 4개 이상의 HDD로 구성해야 함.
  • Parity를 생성하기 위한 알고리즘이 복잡하기 때문에 RAID 5보다 성능(속도) 효율이 약간 낮음.
  • 하드디스크 2개를 Parity로 사용한다.

지금있는 하드디스크 삭제 후 RAID 구현을 해보자.

RAID 구현

9개의 SCSI HDD 장착 후 Linear RAID, 0, 1, 5 구현

1-1. HDD 생성(SERVER)
1-2. HDD 생성 확인
위에서 하드디스크 추가한 것 처럼 하드디스크 9개 추가한다.
add 2GB 1개 1GB 8개

  • sda / sda1 / sda2 : 주 파티션이다.
  • sdb / sdc / sdd : Linear로 설정

1-3. sdb 파티션 생성
-> fdisk /dev/sdc 입력 + n 입력 -> enter 기본값으로 설정.

->t 입력 HDD 설정

  • Hex code : raid 형태로 만들어야한다.
  • L로 Hex code 확인....

-> fd 입력

  • 기본적으로는 Linux 인데 Linux Raid autodetect로 타입을 변경한다.

  • p 로 만들어 졌는지 확인

-> w 저장

1-4. sd 파티션 전부 생성 후 확인

  • sdb를 대표적으로 확인해보았다. 2GB로 만들어져있는걸 확인 할 수있다.
  • sdc는 1GB로 잘되어있다.

-> raid 관리해주는 친구 다운로드

2-1. Linear RAID 생성1

  • 해석 : RAID을 /dev/md9에 만들어라. (디바이스 이름은 md9 말고 다른 것을 사용해도된다. 마음대로 설정하면 된다.)
    levellinear이고 2개의 하드디스크를 사용해서 만들것 이다. 사용할 하드디스크는 /dev/sdb/dev/sdc1이다.

-create /dev/md9 : 새로운 RAID 장치로 사용할 디렉터리명. RAID를 생성한다는 것을 뜻함.
-level=linear : linear Raid로 지정한다. 0은 RAID 0 1은 RAID 1을 뜻한다.
-raid-devices=2 : RAID 생성 시 2개의 장치(HDD)를 사용하겠다.
dev/sdb1 /dev/sdc1 : RAID 생성 시 사용하는 HDD 파티션들(장치)를 의미한다.

--stop /dev/md9 : 가동중인 RAID 장치를 중지한다.
--run /dev/md9 : 중지된 RAID 장치를 재가동한다.
--detail /dev/md9 : 장치의 상세 내역을 출력한다.

  • md9-가 잘만들어졌는지 확인한다.

2-2. Linear RAID 포맷 후 mount

  • 포맷하자.
  • mount

  • df로 확인해보니 만들어진걸 확인 할 수 있다.
  • 1+2 기가임으로 3기가로 생성되었다.
  • df -h로도 확인가능

2-3. Linear RAID 부팅 설정

  • 디바이스 정보 설정

2-4. 최종 Linear RAID 설정 확인

3.1 RAID 0 부팅 설정 후 최종 확인
3.1 RAID 0 생성 후 mount

  • 나머지도 똑같이 해주자. RAID 0, RAID 1 추가
  • 미리 RAID를 만들어놓고 확인도 했다.

  • 부팅디바이스를 못쓰는데 할래요? 에 그냥 yes하면된다.

  • 옵션없이 하려면 -t 말고 이렇게 하면된다.

RAID5도 추가

  • 5는 디바이스를 꼭 3개이상 써야한다.
  • mount

4. 최종 _etc_fstab

4. 최종 df

5. mdama 버그해결

  • 복사
  • 복사한거 추가해서 name=~ 전부 삭제
  • 업데이트

6. 최종 확인 후 스냅숏 저장

  • 재부팅 후 df로 확인해보니 자동으로 마운트가 되어있지 않아서 nano /etc/fstap에서 한줄을 띄우니 자동으로 마운트가 되었다.

RAID를 고장내서 해결방법을 찾아보자.
마운트한다음 데이터를 넣어서 데이터가 있는지 없는지 확인을 해보자.

RAID 복구

  • reboot해보니 현재 마운트가 안되어있다.

  • nano /etc/fstab 에서 한 줄 띄운 후 reboot하니 해결되었다.

  • raid0에 테스트 파일 생성

  • 다른 raid에도 복사해주기

  • SCSI가 0:2,4,6,9번 remove하기

  • HDD를 지웠기 때문에 다시 시작해보니 자동으로 mount가 되어있지 않다.
    ls -l /dev/sd*
    j까지이던 sd~알파벳이 4개를 지우고 나니 앞으로 당겨졌다.

  • active가 비활성화 되어있다.

다시 활성화 시켜주어야 한다.

  • mdadm --detail /dev/md1 해보니
    하나는 현재 removed 되었다.

  • raid1, 5만 보존이 잘되어있다.

  • gedit /etc/fstab들어가서 md0, 9에 주석처리하기.

이제 복구작업을 해보자

  • reboot 후 1GB HDD 4개를 다시 만들자.

  • fdisk /dev/sdc~ sdi까지 4개 생성

  • mdadm --stop /dev/md0,1,2,5 해주자
    md1 과 md5는 unmount시켜준 후 해야한다. 아래 안되는 걸 볼 수 있음.
  • umount /dev/md1,md5 해준 후 다시 stop해주자

mdadm --detail --scan 해보면 없어서 안나온다.

- LinearRAID
mdadm --create /dev/md9 --level=linear --raid-devices=2 /dev/sdb1 /dev/sdc1
- RAID 0
mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdd1 /dev/sde1 
- RAID 1 
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdf1 /dev/sdg1
- RAID 5 
mdadm --create /dev/md5 --level=5 --raid-devices=3 /dev/sdh1 /dev/sdi1 /dev/sdj1

  • 앞에 ARRAY가 다 붙으면 된 것이다.

RAID 실습

1. RAID로 만들 HDD를 추가하기
(LinearRAID, RAID0, RAID1은 2개이상 HDD사용)
(RAID5는 3개이상 HDD사용)
2. 각 HDD의 파티션을 설정 (모든 HDD에 적용하기)
#fdisk /dev/sdb
-> n 눌러서 파티션 생성 enter... -> t 눌러서 파일시스템 설정
-> fd -> w로 저장

  • 시스템 유형을 설정하지 않으면 자동으로 '83(Linux)'로 설정된다.

Command : n 새로운 파티션 분할
Select : p Primary 파티션 선택
Partition number : 1 파티션 번호 1번 선택(4개까지 선택 가능)
First sector : enter 시작 섹터 번호 입력
Last sector : enter 마지막 섹터 번호 입력
Command : t 파일 시스템 유형 선택
Hex Code : fd 'Linux raid autodetect' 유형번호 (L입력 시 전체 유형 출력)
Command : p 설정된 내용 확인
Commadn : w 설정 저장

RAID 구현 단계

1. 파티션 설정된 HDD들을 사용하여 RAID를 구현
--create : RAID 장치명(자기가 정함)
--level : linear, 0, 1, 5 중에 선택
--raid-divices : RAID 구현 시 사용할 장치 개수
/dev/sdb1 /dev/sdc1 : RAID 구현 시 사용할 장치들(HDD들)

 #mdadm --create /dev/md0 --level==0 --raid-divices-2 /dev/sdb1 /dev/sdc1

2. 현재 구현된 RAID 확인 (활성화 여부)
1) 전체 동작 확인 #mdadm --detail --scan
2) RAID의 구성 확인 #mdadm --detail [장치명(ex > /dev/md0)]
3. 포맷
#mkfs.ext4 [장치명]
4. 마운트(마운트 하기 전 마운트를 담당할 dir 하나 생성해놓기)

#mount [장치명]   [디렉터리명]
#mount /dev/md0 /raid0

번외 (RAID 장치 시작 및 중지)

  • #mdadm --stop [장치명]
  • #mdadm --reun [장치명]

RAID 최종 설정 단계

1. mdadm 버그 해결

  • #mdadm --detail --scan 해서 전부 복사
    #nano /etc/mdadm/mdadm.conf
    파일에 복사한 내용 마지막에 붙여넣고, name=~!@~!@되어있는 그 부분만 삭제 후 저장
    #update0-initramfs-u 명령어로 설정내용 적용하기
    2. 부팅 시 자동 mount 되게 하기
    #nano /etc/fstab 에 아래 내용 추가하기 (중간에 한줄 비우고)
[장치명]  [마운트 할 디렉터리명] ext4 	defaults 	0 	0 
/dev/md0 /raid0 			 ext4 	dafaults 	0 	0

LVM (Logical Volume Manager)

: 논리 하드디스크 관리자로, Linear RAID와 비슷하지만 더 많은 기능을 가짐.

  • 여러 개의 HDD를 합쳐서 한 개의 파티션으로 구성 후, 필요에 따라서 나눠서 사용함.
  • 물리 볼륨(Physical Volume) : /dev/sda1, /dev/sdab1 등으 파티션
  • 볼륨 그룹 (Volume Group) : 물리볼륨을 합쳐서 1개의 물리 그룹으로 생성
  • 논리 그룹(Logical Group) : 볼륨 그룹을 1개 이상으로 나눈 것으로 논리적 그룹이라고도 함.

LVM 순서

1. 파티션 설정, 파일 시스템 설정
2. 물리적 볼륨 생성
3. 물리적 볼륨을 하나의 볼륨그룹으로 묶기
4. 볼륨그룹의 파티션을 생성
5. 파일 시스템 생성
6. 디렉터리 생성 후 마운트

-> HDD (1GB /3GB) 생성

  • 스냅샷 전으로 돌리고 2,3GB 각 각 하나씩 하드디스크를 만들어 준다.

  • apt 업데이트를 해준다.

  • apt -y install lvm2

1. 파티션 설정, 파일 시스템 설정

  • 얘네를 fdisk로 만들자.

  • #fdisk /dev/sdb #fidsk /dev/sdc 둘 다 해준다.
  • 이번에는 df(Linux)가 아닌 8e로 한다. => LVM
  • HexCode 목록 L 키로 확인가능

2. 물리적 볼륨 생성

  • pvcreate /dev/sdb1 pvcreate /dev/sdc1

3. 물리적 볼륨을 하나의 볼륨그룹으로 묶기

  • myVG 는 마음대로 이름 지은 것이다.
  • vgdisplay 명령어로 만든 것을 확인할 수 있다.

4. 볼륨그룹의 파티션을 생성

  • myVG안에 myLG1, myLG2라는 이름의 논리 파티션 생성
    #lvcreate -size 1G --name myLG1 myVG
    #lvcreate -size 3G --name myLG2 myVG

-> 남은 공간 전부 사용해서 만든다. myLG3

  • #lvcretae --extents 100%FREE --name myLG3 myVG

5. 파일 시스템 생성

  • #mkfs.ext4 /dev/myVG/myLG1
    #mkfs.ext4 /dev/myVG/myLG2
    #mkfs.ext4 /dev/myVG/myLG3

6. 디렉터리 생성 후 마운트

  • #mkdir /lvm1 /lvm2/lvm3
    #mount /dev/myVG/myLG1 /lvm1
    #mount /dev/myVG/myLG2 /lvm2
    #mount /dev/myVG/myLG3 /lvm3

쿼터 (Quota)

: 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량과 개수를 제한하는 것.

  • 일반 사용자들이 사용하는 파일 시스템을 '/(root)'로 지장하지 않고 별도의 파일 시스템을 지정해서 사용하게 함.
  • 많은 사용자가 동시에 '/'를 사용하면 시스템 성능이 저하 될 수 있음.

quotacheck

-a (All) : 모든 파일 시스템을 체크
-u (User) : 사용자 쿼터 관련 체크를 시도
-g (Group) : 그룹 쿼터 관련 체크를 시도
-m (no-remount) : 재마운트를 생략
-n (user-first) : 첫 번째로 검색된 것을 사용
-p (print-state) : 처리 결과를 출력
-v (Verbose) : 파일 시스템의 상태를 보여줌

Filesystem : 사용자별 쿼터를 할당하는 파일 시스템
blocks,soft,hard : 현재 사용자가 사용하는 블록과 소프트, 하드 사용 한도를 의미 (기본 kb단위)

blocks 0: 28KB
soft, hard 0 : 한도제한이 없음

inodes : inode의 개수를 의미 (파일 개수)
grace : soft 한도를 초과했을 때 사용할 수 있는 기간


쿼터 (Quota) 순서

1. /etc/fstab 수정 (/etc/fstab 옵션 부분에 쿼터 관련 부분 추가)
2. Reboot 또는 Remount 
3. 쿼터 DB 생성 (#quotacheck / #quotaon / #quotaoff)
4. 개인별 쿼터 설정 (#edqouta)

-> 10GB짜리 하드디스크 생성

-> fdisk 추가

-> 포맷 시켜준다.

-> userHome1 디렉터리 생성

-> userHome1 에 마운트

-> 사용자 추가

1. /etc/fstab 수정 (/etc/fstab 옵션 부분에 쿼터 관련 부분 추가)
-> 쿼터 옵션 설정

  • nono /etc/fstab

  • defaults,usrjquota=aquota.usermjqfmt=vfsv0

2. Reboot 또는 Remount

  • userHome1 remount 시킨다.

  • apt -y install quota

-> reboot

  • 리부팅 후 확인해보니 잘 들어가있다.

3. 쿼터 DB 생성
-> #quotacheck / #quotaon / #quotaoff

  • #cd /userHome 에 가서 작업.
  • #quotaoff -avug : 쿼터 끄기

  • #quotacheck -augmn : 파일 시스템의 쿼터 관련 체크
  • #rm -f aquota.* : 생성된 쿼터 파일을 삭제

  • #quatacheck -augmn : 파일 시스템의 쿼터 관련 재체크
  • #touch aquata.user aquota.group : 쿼터 관련 파일 생성

  • #chmod 600 aquota.* : 보안을 위해 소유자 외에 접근권한 빼기
  • #quatacheck -augmn : 파일 시스템의 쿼터 관련 재체크
  • #quotaon -avug : 설정된 쿼터 시작

4.개인별 쿼터 설정
-> 사용자별 공간 할당 (#edqouta)

  • #edquota -u tom
/dev/sdd1 	16 	30720 	40960 	 4  	0	   0
  • soft는 30MB 사용가능 하도록 설정을 하였다.

soft는 용량이 넘어도 되지만 먼저 경고를 주고 며칠이 지나면 사라지게 된다.
hard 는 정해진 용량을 절대로 넘기지 못한다.

-> 테스트를 해보자.

  • 할당량 확인을 해보기 위해 tom 계정에 들어가자.

  • 현재 위치

  • 10MB짜리 친구를 복사해보자.

  • test1에 복사

  • 5번복사를 실행해보니 40MB로 설정을 해놓았기 때문에 디스크 할당량이 초과됬다고 오류가 뜬다.

-> tom 사용자의 quota

-> 디렉터리에 할당된 quota 확인 법


  • 여기로 돌아가자. 아래의 설정이 다 완료된 후 스냅샷 찍어둔 곳이다.

원래 로그인하고 들어오게 되면 이 순서대로 진행을 하는데 보통 설정을 미리 다 해놓는다.

- root 사용자 설정
- network 설정
- apt 설정
- 한글 설정
- 디스플레이 설정

  • apt 0y install net-tools

LInux2 부터는 deamon : 서비스 을 이용해서 서버구축을 해볼것이다.
서버구축 (apt , DB , web ... 서버들을 구축해볼것이다.)

  • 테마 설정하게 해주는 친구

![]ㄴ(https://velog.velcdn.com/images/zirccon/post/89bb057e-874e-4ed5-b771-c0f0a3ee8ffb/image.png)



AA




0개의 댓글