goorm 16일차

박경현·2022년 8월 24일
0

엔터프라이즈 책 1권과 2권을 각각 1강 이상 보고 정리한 내용들이다

오늘 수업 또한 조금은 정리하려 했으나 솔직히 이해 안된거 적는건 아닌거 같아서 앞으로 첵 위주로 올릴거 같다ㅜ

1권 1강,2강,3강

일반 사용자 만드는 법 useradd <새로운 유저이름>
일반 사용자 삭제 userdel <유저 이름>
일반 사용자 비밀번호 바꾸는법 -> passwd
전부 sudo 붙여야한다!!

Chmod로 설정 권한 바꾸기 가능
Chmod -2000 /run/log/journal -> - 하면 저 기능 빼는 거임!

ACL - 접근 제어 리스트

(특정 사용자에게 특별한 접근권한을 허락해주는거!!!)

getfacl <filename적기> -> 파일의 ACL 상태 확인하는 명령어!
ACL이 설정되면 ls -al 했을 경우 마지막에 + 적힘!

이걸 사용하면 파일을 소유한 사용자와 사용자 그룹을 제외한 사용자와 그룹에게 별도로 권한을 부여 할 수 있다

ACL이 rw여도 ACL mask가 r만 있으면 r밖에 못씀!! -> 애가 권한 막고있다

사용자 권한과 마스크권한은 AND로 계산되고 ->
그 결과가 ls -l로 나오는 (사용자 그룹의 결과)결과랑 같다!!

setfacl -m u:user-1:rwx -> user-1은 rwx의 권한을 갔는다
(단 mask와 AND연산으로 effective가 결정됨!)

setfacl-x u:user-1:rwx -> user-1의 역할 권한 삭제

at

시간 예약해서 단일성 작업 가능하게 하는것

등록된 명령은 지정된 시점에 실행 되지만 -> 화면 출력안 안됨 -> 예약작업이 atd데몬에 의해 실행-> 리다이렉션 했어서 그 시간에 저기 나옴!
at 적는법
at now+5min
at 22:30
at 02.12.17

하드 디스크

플래터에 데이터가 저장이 된다

-> 자기장을 이용하여 기록
-> 양면에 기록가능,디스크에는 플래터가 1개 이상이다

스핀들

-> 플래터 회전 시키는 녀석

헤드

-> 플래터에 데이터를 기록함

엑추에이터(Actuator)

-> 디스크 제어 컨트롤러에 의해 원하는 데이터를 읽어오기 위해서 암을 이동시키는 역할을 한다
액추에이터 암 -> 엑추에이터에 의해 움직임

하드디스크 단위

섹터 - 가장 작은 단위 512바이트
트랙 - 색테 모인 원, 비깥쪽이 안보다 섹터 많이 들어가 있다
실린더 - 여러 동심 트랙가진 스택구조

디스크 > 파티션 > 실린더 > 트랙 > 색터

파티션 - 드디어 정확하게 이해함!

파티션은 물리적으로 한 개의 디스크를 나눈것 -> 개별 관리 가능! 각각이 독립적이다

파티션 연결방법

리눅스에서는 디스크 장치를 추가했으면 시스템 커널이 인식 할 수 있게 연결 인터페이스 방식으로 특정 파일로 접근하게함

디스크를 시스템에 연결할때 사용하는 방식을 연결 인터페이스 라고 함 -> 인테퍼이스 종류에 따라 디스크 인식이 달라짐

SATA 방식 
	현재 쓰는 방식
	핫 플러깅 지원 -> 시스템 실행중에도 디스크 추가 제거 가능
	Sata 1,2,3 있는데 속도 차이 있음, 각각 호환이 가능

mSATA
M2.인터페이스로 바뀜 (이건 노트북에서 쓰는데 디스크 대신 플래시 메모리 사용 -> 더 빠른 속도 작은 크기 물리적 충격에 감함)

SCSI방식, SA-SCSI방식

디스크 뿐 아니라 기타 주변 기기들을 시스템에 연결할 수 있는 표준 연결 방식

주변 장치 자체에 제어 기능이 있다 -> 시스템 CPU가 관리안해서 성능 좋음
결국 어떻게 연결하느냐로 나뉨 -> 핫플러깅지원 


SCSI -> SA-SCSI 와  E-IDE -> SATA로 바뀐 이유

-> 병력방식의 인터페이스는 신호간섭에 의해 고속 성능 구현이 어렵다
-> 직렬전송방식으로 속도 높임

Ls -l /dev/sd* -> SATA방식으로 연결된 모든 장치들 (각각의 파티션들)

인터페이스별 장치명 + 장치 번호 + [파티션번호(숫자)]

CD-ROM, DVD-ROM은 광학 미디어 장치
Ls -l /dev/sr*

2권 티밍, 러너

티밍 - 여러개의 물리적인 인터페이스를 논리적인 인터페이스로 묶는거

팀 인터페이스(티밍)는 데이터의 처리 방식과 통신에 사용할 IP주소와 같은 논리적인 구성이 포함되는 인터페이스
티밍의 장점

  • 대역폭을 늘려 데이터 처리량을 높인다
  • 부하분산을 통해 효율성을 높인다
  • 트래픽 처리 속도를 향상
  • 네트워크 인터페이스에 장애가 발생시 좀 더 안전한 네트워크 구성 및 백업 가능

러너

  • broadcast, roudrobin,loadbalance, active backup, lacp 을 지원해줌, 티밍의 처리방식을 결정해줌
    네트워크 트래픽을 안전하고 빠르게 처리할수 있게 해줌
  • Broadcast - 동시에 같은 패킷 전송이라 한쪽에 문제 생겨도 무방
    Roudrobin - 한번씩 순차적으로 데이터 전송 -> 데이터 개수에 의한 분배이므로 데이터 크기 고려 안해서 효율적이지는 못합
    Loadbalance - 데이터 전송량을 기준으로 트래픽 분배 -> 균등하게 분배하지만 지속적으로 모니터링해서 시스템에 부담일 수도 있다

Nmcli device status 하면 연결된 네트워크 장치 목록 확인 가능

티밍 구성 하는 법

즉 물리적인 NIC들을 합쳐서 가상의 NIC를 만든다고 생각하면 편하다!!

준비물 => 두개 이상의 포트 인터페이스 필요!! + 데몬 프로세스인 teamd도 필요

teamd - (러너를 제어하고 인터페이스 관리등의 작업을 함)

nmcli device status -> 네트워크 장치의 목록을 확인! 여기에 2개 의 인터페이스 있어야함
 
yum -y install teamd -> centOS의 teamd 설치 방법

아래는 nmcli명령어로 티밍을 만드는 방법

nmcli con add (1)type team (2)ifname team0 
(3)con-name cli-team (4)ipv4 192.168.0.254 (5)config '{"runner": {"name":"broadcast"}}'

(1) -> 티밍을 만들거니까 타입을 team으로 설정!
(2) -> 우리는 논리적인 인터페이스를 만드니까 임의의 이름으로 지정, 이게 show에 보임
(3) -> 연결할때 필요한 이름 (포트인터페이스등에 연결할때, 팀인터페이스 수정할때 등)
(4) -> ip 직접 설정 , 생략하면 자동으로 지정
(5) -> 러너 타입 지정 -> JSON형태!

아래는 물리적인 인터페이스들 설정할때 -> 티밍에 넣을거면 무조건 설정 해야함!

nmcli con add (1)type team-slave (2)con-name cli-port1 
(3)ifname ens37 (4)master team0

1 -> 티밍 안에 들어가는 물리적인 인터페이스니까 team-slave로 설정
2 -> 팀 인터페이스와 다른 독립적인 이름으로 설정하기
3 -> 해당 시스템에 존재하는 인터페이스 이름 정확히 적기 -> 이게 show하면 보임
4 -> 티밍의 논리적인 이름 적기

아래는 nmcli 보고 싶을경우

nmcli con show -> Type이 team이고 DEVICE에 con-name이 적혀있으면 성공

설정 맘에 안들어서 수정 할 경우

nmcli con mod (1)cli-team (2)ipv4.addresses '192.168.0.10/24'

1 -> 위에서 con-name으로 설정한 이름을 적어 이걸 수정할거라고 알린다
2 -> ip주소 바꾸는건데 우리는 티밍이니까 CIDR방식으로!

nmcli con mod cli-team (1)connection.id new-cli-team

(1)-> show했을때 보이는 이름을 new-cli-team으로 바꾸었다

활성화 및 비 활성화 방법
차고로 포트인터페이스도 전부 활성화 해야 정상 작동한다!! -
결국 애네가 핵심이고 티밍은 이걸 논리적으로 묶은거 뿐이니까!!

nmcli con up new-cli-team
nmcli con down new-cli-team
  1. 팀 인터페이스가 비활성화 되면 모든 포트인터페이스 비활성화

  2. 포트 인터페이스 비활성화 되도 팀 인터페이스는 살아있다 (한개만 다운이니까)

  3. 포트 인터페이스를 전부 활성화 하면 팀도 활성화 됨

    셀프 피드백

    웹 서버를 만들어서 vscode로 만든 웹페이지를 연결 해보는걸 연습해봐야겠다
    (이게 미니 프로젝트 이니까 )

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글