3/15

2023. 3. 15. 17:51AWS 기반 데이터분석 처리 고급 SW 클라우드 개발자 양성과정

강사님 이메일

impelin@gmail.com

 

미니 프로젝트 

https://www.data.go.kr/tcs/dss/selectDataSetList.do    (데이터 다운로드)

주제

1) 인천광역시 남동구_일별 코로나19 확진자수 현황

https://www.data.go.kr/data/15084724/fileData.do

2) 불법주정차 단속 현황

https://www.data.go.kr/data/15081622/fileData.do 

###발표 무조건 필요, PPT 작성 필요, 발표자 따로 PPT 작성 따로 질의응답 따로 

###강사님이 제일 추천하는 협업툴 = Notion 

-----------------------------

vgdisplay -v  ### -v = verbose 자세히 설명해달라

lv create -l 765 vg -n lvm1  ### -l = 절대적으로 값이 줄수도 있고 클수도 있도

df -T | grep vol  ### 확인하기

 

/dev/vg/lmv1 vol (mount 폴더)  ext4 (파일) defaults (옵션) 0 (dump 옵션=0은 하지말라)

 

e2fsck -f /dev/vg/lvm2 (-f 강제적으로, resize 하기 전에 e2fsck -f 먼저 해야함)

resize2fs /dev/vg/lvm2

-------------------------------------------------------------------------------------------

lvreduce -l -255 /dev/vg/lvm2  (255 줄이겠다, 절대적인 수치는 -L, -l 상대적 수정)

 

lvm 장점: 남는 공간을 통해 meta 정보를 만들 수 있음, resize가 자유로운 유연함이 있음.

lvm 단점: 미러링이 안됨

RAID: 항상 같은 사이즈의 용량이 필요함, 대부분의 하나 RAID가 없음, 최소 4개의 volume이 defaults

항상 umount -> rm-rf 해야함 

fdisk /dev/sdb 

d(삭제)

w(저장)

파티션 정보 확인 및 삭제

 

-D = detail

raid1 = mirror volume

spare가 들어있으면 장점이 있음: 계속해서 항상 대기할 수 있음

 

 

# df -T | grep md

# rm -rf /md*

# vi /etc/fstab 14번 라인 삭제

# cat /proc/mdstat

# mdadm -S md127 (stop)

# mdadm -S md126 (stop)

# cat /proc/mdstat

 

###raid1

# mdadm -C -v /dev/md0 -l 1 -n 2 --spare-disk=1 /dev/sdb /dev/sdc /dev/sdd

# (y)

# cat /proc/mdstat

# mdadm -D /dev/md0

# mkfs.ext4 /dev/md0

(y)

#mkdir /md

#mount /dev/md0 /md

# df -T | grep md (mount하고 꼭 확인)

# dd if=/dev/zero of=/md/data1 bs=1M count=800

# mdadm -D /dev/md0

# mdadm /dev/md0 --fail /dev/sdc    ###(sdc를 fail을 해버림)

# cat /proc/mdstat    ###(recovery가 안됨)

# mdadm /dev/md0 --remove /dev/sdc

# cat /proc/mdstat   ###(spare가 사라짐)

# mdadm /dev/md0 --fail /dev/sdd

# cat /proc/mdstat    ###(mirror볼륨이여서 U깨져도 괜찮음) 

# ls /md/

# mdadm /dev/md0 --remove /dev/sdd

# cat /proc/mdstat

# mdadm /dev/md0 --add /dev/sde ; cat /proc/mdstat (sde를 추가시킴)

# cat /proc/mdstat   ##sde가 (2번째 Raid에서 작동함) Recovery작동함

# mdadm /dev/md0 --add /dev/sdc  ##sdc가 spare로 작동함, 순서가 바뀜 sdc추

# cat /proc/mdstat

# mdadm /dev/md0 --remove /dev/sdc (spare니깐 삭제가 됨)

# mdadm /dev/md0 --remove /dev/sde (작동중이라 삭제가 안됨)

# mdadm /dev/md0 --fail /dev/sde (일부러 오류를 냄) 

# mdadm /dev/md0 --remove /dev/sde (오류내고 지우면 hot removed 됨)

# cat /proc/mdstat

# mdadm /dev/md0 --add /dev/sdd

# cat /proc/mdstat

# mdadm -D /dev/md0
# umount /md (stop전 umount)

# mdadm -S /dev/md0 (Stop)

 

### raid 5

# mdadm -C -v /dev/md0 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd  (-l 5 (level5) , -n 3최소 3개)

# (y)

# cat /proc/mdstat

# mdadm -D /dev/md0 (-D = detail)

# mkfs.ext4 /dev/md0

# (y)

# mount /dev/md0 /md

# df -T | grep md  (확인)

# dd if=/dev/zero of=/md/data1 bs=1M count=1500

# cat /proc/mdstat

# mdadm /dev/md0 --fail /dev/sdd

#cat /proc/mdstat

#mdadm /dev/md0 --remove /dev/sdd

# cat /proc/mdstat

# mdadm /dev/md0 --add /dev/sde

# cat /proc/mdstat

# cat /proc/mdstat

# umount /md

# mdadm -S md0

 

### md(meta, physical 볼륨이 아님, 내가 맘대로 지어도 댐)  mdadm=물리적인게 아님, md device

 

### 하드웨어를 소프트웨어적으로 구현하는 것? (Raid)

 

### raid 1+0 (제일 좋은 Raid) (md0 과 md1은 미러볼륨이니깐 합쳐서 스트라이프 볼륨으로 만듬)

#mdadm -C -v /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc

# (y)

# mdadm -C -v /dev/md1 -l 1 -n 2 /dev/sdd /dev/sde

# (y)

# cat /proc/mdstat

# mdadm -C -v /dev/md2 -l 0 -n 2 /dev/md0 /dev/md1

# (y)

# cat /proc/mdstat

# mkfs.ext4 /dev/md2 (마지막 것만 만들면 됨)

# mount /dev/md2 /md

# df -T | grep md       ###4개의 하드를 추가 2.0G, 미러볼륨이 합쳐짐,  b가 c미러링(1GB) d가 e미러링(1GB)

# mount | grep md

# dd if=/dev/zero of=/md/data1 bs=1M count=1500  ###빠름 (동시에 2개를 한꺼번에 실행함, 안정적임 백업+디스크 손상 X) 

# mdadm -D /dev/md2

# ll /dev/disk/by-uuid

# blkid | grep md 

/dev/md125: UUID=68c5a05d-5b70-46ba-8ba0-18c4b29cfa57

# vi /etc/fstab

 13 UUID=e927f91a-7d4c-4855-a346-c49c4e117c0b       /md     ext4    defaults   0    2

(내 UUID, vi /etc/fstab 맨 마지막 줄에 입력, 주석풀)

# shutdown -r now

# df -T | grep md (보여야 하는데 안보임, 아마 주석을 안풀어서 그런 것 같음)

# cat /proc/mdstat

# umount /md  ###항상 맨 마지막에 umount하기를

# rm -rf /md

# cat /proc/mdstat 

 

###평가

#vi /etc/fstab

13 #UUID=    /work    ext4    defaults    0    2

# mdadm -S md125 (stopped md125)

# mdadm -S md126 (stopped md126)

# mdadm -S md127 (stopped md127)

# cat /proc/mdstat

# shutdown -h now

work안에 allnew와 lost and found만 있으면 됨

 

###파일 시스템 추가 방법: Legacy

1. 디스크 접속

2. fdisk -l

3. fdisk /dev/sdX -> 파티션 생성

4. mkfs.ext4 /dev/sdX1 -> 파일 시스템 생성

5. mkdir /temp -> 마운트 포인트 생성

6. mount /dev/sdX1 /temp -> 마운트

7. vi /etc/fstab 에 추가

 

### 파일 시스템 추가 방법: LVM   (가장 추천, 유연하게 사용가능)

1. 디스크접속

2. fdisk -l

3. fdisk /dev/sdX -> 파티션 생성, 타입 변경 (t -> 8e)

4. pvcreate /dev/sdX -> PV 생성

5. vgcreate vg /dev/sdX -> VG 생성

6. vgchange -a y vg -> VG활성화

7. vgdisplay vg -> Free PE 확인

8. lvcreate -l 255 vg -n lvm -> LV생성   (1gb)

9. mkfs.ext4 /dev/vg/lvm -> 파일 시스템 생성

10. mkdir /temp -> 마운트 포인트 생성

11. mount /dev/vg/lvm /temp -> 마운트

12. vi /etc/fstab 에 추가

/dev/vg/lvm   /temp   ext4   defaults   1    1

 

##파일시스템 추가 방법: RAID(mdadm)

1. 디스크 접속

2. fdisk -l

3. mdadm -C -v /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc     ### -l 1  은 미러볼륨

4. cat /proc/mdstat

5. mkdir /temp -> 마운트 포인트 생성

6. mount /dev/md0 /temp -> 마운트

7. ls -l /dev/disk/by-uuid => UUID값 확인

8. vi/et

 

레이드는 조건이 같은 용량의 같은 디스크가 , 용량이 같은데 파티션을 왜 나눔? 

파티션을 나누는 이유: 용량이 다르니깐

 

 

rwsr-xr-x (u + s > user에게 setuid줌)

(g + S -> group에게 gid를 줌)

 

런레벨이 0 - 1 - 2 - 3 - 4 - 5 -6 순서로 켜지고 / 6 - 5 - 4 - 3 - 2 - 1 순서로 꺼짐

 

 

### inetd vs stand-alone

구동속도 : 느리다 vs 빠르다

서버 부하: 적다 vs 많다

       xinetd vs vsftpd, httpd, sendmail......

systemd

1) 소켓 기으로 동작하여 ~와 호환성을 유지한다.

2) 쉘과 독립적으로 부팅 가능

3) 마운트 제어가 가능

4) fsck 제어가 가능

5) 시스템 상태에 대한 스냅숏을 유지한다

6) SeLinux와 통합이 가능하다

-------

[root@ubuntu ~]# systemctl start cron
[root@ubuntu ~]# systemctl status cron

 Active: active (running)

[root@ubuntu ~]# systemctl is-active cron
active

***who -r  === runlevel   (런레벨 확인)

 

###shutdown(종료 프로세스)

RAM => Disk

Superblock, Kernel -> Disk로 옮겨져야함

#sync

#shutdown

 

#거의 모든 동작기능들이 /bin/systemctl 에 있음

[root@ubuntu ~]# which halt
/usr/sbin/halt
[root@ubuntu ~]# ls -l /usr/sbin/halt
lrwxrwxrwx 1 root root 14  3월  2 21:58 /usr/sbin/halt -> /bin/systemctl*
[root@ubuntu ~]# which reboot
/usr/sbin/reboot
[root@ubuntu ~]# ls -l /usr/sbin/reboot
lrwxrwxrwx 1 root root 14  3월  2 21:58 /usr/sbin/reboot -> /bin/systemctl*

 

[root@ubuntu ~]# cd /var/log
[root@ubuntu /var/log]# ls

[root@ubuntu /var/log]# file wtmp
wtmp: data

[root@ubuntu /var/log]# last

'AWS 기반 데이터분석 처리 고급 SW 클라우드 개발자 양성과정' 카테고리의 다른 글

03-16  (0) 2023.03.16
복습 Day2  (0) 2023.03.15
리마2급  (0) 2023.03.14
LVM개념  (0) 2023.03.14
D-5  (0) 2023.03.10