일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Error Based SQL Injection
- 우분투
- 2002(HY000)
- docker compose
- Lord of SQLinjection
- No module named ‘requests’
- M2
- Python requests 설치
- sql injection
- UTM
- str_replace함수
- ubuntu
- sqli
- btmp
- SQLi wargame
- LOS 5번
- Union SQL Injection
- utmp
- goblin 3번
- ModuleNotFoundError: No module named ‘requests’
- Kail Linux
- los.rubiya.kr
- Lord of SQL Injection
- SQL i
- MySQL
- mocOS
- 1819 (HY000):
- blind SQLi
- XAVIS
- 가상머신 os
- Today
- Total
klaus
[KDT-DAY_12] Linux H/W (feat. RAID, LVM, zfs ) 본문
1. RAID (Redundant Array of Inexpensive/Independent Disk)
- 저장장치 여러 개를 묶어 고용량, 고성능인 저장 장치 한 개와 같은 효과를 얻기 위해 개발된 기법
> RAID 0 : 데이터 복원되지 않지만 암(arm: 컨트롤러)이 두 개여서 읽기/쓰기 속도가 빠르다 (Stripe Without parity)
> RAID 1 : 데이터 복원이 가능하며 두 개의 디스크가 필요 (미러링 mirroring)
> RAID 5 : 데이터 복원이 되며, 세 개 이상의 디스크가 필요하다(stripe wuthiut parity, arm이 2개== 줄무늬)
==> 8bit 내에 홀수 갯수를 보고 패리티 비트가 0 or 1로 지정
만일 도중에 오류로 인해 변경되면 패리티비트가 맞지 않아 재전송하게 된다.(TCP)
[+]소프트웨어 RAID 생성(mdadm) - 실습
- 디스크 생성 - 파티션
fdisk /dev/vdb fdisk /dev/vdc
==> 파티션을 할 때 fd 옵션을 줌 (Linux raid auto)
- lsblk 명령어를 통해 제대로 만들어졌는지 확인.
- mdadm --create /dev/md0 --level=0 -n 2 /dev/vdb1 /dev/vdc1
cat /proc/mdstat : 정보 확인
ls /dev/md* 를 하여 확인
-파일시스템 설정
mkfs.ext3 /dev/md0
- 파일시스템 테이블(fstab) 추가(부팅시 마운트)
> nano /etc/fstab
> UUID /RAID0 ext3 defaults 0 0을 추가하여 부팅시 자동으로
[파일시스템 장치] [마운트 포인트] [파일시스템 종류] [옵션] [덤프] [파일체크옵션]
- 리부팅
2. LVM
- 파티션된 디스크들의 물리적 여분 공간을 모두 모으거나 새로 디스크를 추가해서 하나의 논리 공간으로 확장시켜 주는 기능
==> 물리적 2개의 HDD를 논리적으로 하나의 HDD로 만들어주는 것
- RAID의 경우 같은 브랜드의 HDD를 묶어 구성하지만LVM은 상관없이 구성이 가능하다.
[실습]
시나리오 : 1GB와 2GB의 DISK를 추가한 상태에서 LVM을 사용하여 논리적으로 하나의 3GB의 디스크로 만들기
- 추가된 DISK (vdb,vdc)
- 파티션
> fdisk /dev/vdb, fdisk /dev/vdc
> 파티션시 8e로 설정(Linux LVM)
- pvcreate
- 볼륨 그룹 생성
> vgcreate VG-home /dev/vdb1 /dev/vdc1
- vgdisplay를 통해 만들어진 볼륨정보 확인
> metadata areas: 묶인 실제 HDD
> VG Size: 볼륨 그룹 VG-home 사이즈
- 로지컬 볼륨 만들기
> lvcreate -L 2.98GB -n LV VG-home (2.99 전체를 사용하지 않는 이유는 설정파일이 생성되기 때문에 여유공간이 필요)
- 파일 시스템 지정
> mkfs.xfs /dev/VG-home/LV
- 생성 확인 (blkid)
- 마운트(mount)
> mkdir /home/centos/LV-home에 마운트
-vi /etc/fstab 편집
/dev/VG-home/LV /home/centos xfs defaults 0 0
- LVM 삭제하기
마운트 제거 umount /home/centos
fstab삭제
3. ZFS (파일시스템)
- ZFS 란 ZettaByte File System 의 줄임말로, 기존의 유닉스(Unix) 파일 시스템을 대체하기 위하여 탄생한 파일 시스템
- 2001년에 UNIX Open Solaris, 2008년에 FreeBSD과 Linux에 설정
- ZFS 파일 시스템은 파일 시스템 관리를 근본적으로 변화와 혁신시킨 새로운 파일 시스템
- ZFS 파일시스템은 강력하고 확장성이 뛰어나며 관리가 편리하도록 디자인 되어 있다.
- SPARC 또는 Intel 시스템 모두 사용 가능
- UNIX Solaris 10 OS 06/06 릴리즈 이상부터 채용됨
- 최소 물리적 디스크 크기는 128MB 필요
- 권장 메모리는 최소 768MB, 성능상 1G 메모리 이상 필요
- 미러 방식을 구현 한다면 다중 컨트롤러(RAID0) 권장
- 기본적으로 ZFS 파일시스템을 만들면 EFI Label을 사용하게 된다.
- HDD 저장 풀(Pool) 가능, Copy-on-Write 기능, Snapshot 기능, 데이터 무결성과 자동 수정 기능
- RAID5와 유사한 RAID-Z 구성 가능, 16EB까지 설정 가능, 256개의 Quardrillion Zettabytes 저장 가능하다는 특징
[실습]
설치 : apt -y install zfsutils-linux
- 디스크 인식 확인 : ls /dev/vd*
-ZFS 생성
- zpool create zfspoll mirror /dev/vd[bc] - zpool 확인 ls /dev/sd*
- zpool status -v 미러링 되어 있는 내용 확인
- zfs 삭제
zpool destroy zfspool 삭제
4. 파일 압축과 풀기
- Linux 시스템은 일반적인 Windows 시스템과 파일과 포맷이 다르므로 CentOS 사용자는 Linux 시스템에서의 파일을 압축하거나
압축된 파일을 풀 수 있어야 한다. 여기에 사용되는 도구는 tar, rpm, yum, apt-get, zip, bunzip 등 여러 가지가 있는데 주로
시스템이나 사용자의 데이터를 백업하거나 벤더의 소스 프로그램이나 커널 배포 패키지를 다운받아서 풀고 시스템에서 실행할 때
사용된다. 먼저 파일을 압축하고 푸는 tar 계열의 명령어부터 알아보자.
[+] tar로 묶기/압축
예를 들어 /var 밑의 여러 파일/디렉터리들을 test라는 이름으로 묶으려면 파일/디렉터리를 묶어주는 c,
진행 상황을 화면에 출력하는 v, 파일을 지정하는 f를 옵션으로 지정합니다.
압축할 때 tar xvfz/j B.tar.gz/B.tar.bz2 -C [압축을 풀 곳]
압축을 풀때 tar cvfJ test.tar.xz /home/centos/* 하면 /home/centos/ 아래의 모든 파일/디렉터리가 test.tar.xz로 묶이고 압축이 된다.
[정리]
압축 =>생성된 ‘파일.확장자’ =>압축과 묶인 것을 푸는 것을 정리하면
∎ gzip files => ~.gz => gunzip ~.gz
∎ bzip2 files => ~.bz2 => bunzip2 ~.bz2
∎ tar cvf files => ~.tar => tar xvf ~.tar
∎ tar cvfz files=> ~.tar.gz => tar xvfz ~.tar.gz(=~.tgz)
∎ tar cvfj files => ~.tar.bz2 => tar xvfj ~.tar.bz2
∎ tar cvfJ files => ~.tar.xz => tar xvfJ ~.tar.xz
∎ compress files => ~.Z => uncompress ~.Z 하면 압축되고 풀린다.
∎ zip files => ~.zip => unzip ~.zip 하면 풀린다.
'수업 > KDT' 카테고리의 다른 글
[KDT-DAY_14] SELinux (0) | 2023.01.19 |
---|---|
[KDT-DAY_13] Lunux (RPM, YUM) (1) | 2023.01.17 |
[KDT-DAY_15] Linux (feat. 데몬, HW명령어) (2) | 2023.01.15 |
[KDT-DAY_14]Linux (feat. 사용자 권한, 그룹, 정보) (0) | 2023.01.12 |
[KDT-DAY_13] Linux (feat. 편집기, 권한) (1) | 2023.01.11 |