iscsi 서비스를 사용한 블록스토리지는 DAS, SAN 스토리지 연결방식에서 사용된다. DAS 연결방식은 Direct Attached Storage 방식이고 스토리지가 시스템에 직접적으로 연결되어 있는 방식이다. SAN 연결방식은 Storage Area Network 방식이며, 네트워크를 이용하는 스토리지 연결 방식이다. SAN 방식 중에서도 FC-SAN, IP-SAN방식이 있는데 그중에서 IP-SAN 방식에 해당하는 것이 iSCSI 블록 스토리지이다. 블록 스토리지를 공유할 서버에서 타겟 설정 하기 우선 targetcli 패키지를 설치한다. yum install targetcli target 서비스를 활성화한다. systemctl start target systemctl enable target ta..
Cloud Engineering
1. NFS 란 Network File System 으로, 가상화 또는 클라우드 서비스에서 가상머신의 스토리지를 공유할 때 자주 사용된다. NFS서버를 구성하면 로컬에 존재하는 파일을 공유할 수 있다. 또한 파일을 공유할 때 접근가능한 host 목록을 지정할 수 있다. 현재 최신판 리눅스에서는 NFS 4.0 버전인 NFSv4를 주로 사용하고 있다. 2. NFS 서버 구성하기 우선 nfs-utils 패키지를 yum으로 설치한다. yum -y install nfs-utils NFS 는 server-client 구조를 취한다. 우선 server 역할을 하는 곳에서 /etc/exports 파일을 작성해준다. vi /etc/exports /etc/exports 파일에는 디렉토리경로 접근제어리스트(옵션) 이 세가지..
SELinux 가 필요한 이유 보통 리눅스는 DAC 모델을 기준으로 접근제어를 한다. DAC 모델은 Discretionary Access Control 의 약자로, 이는 '사용자 권한'을 기준으로하여 파일이나 자원에 대한 접근 제어를 하는 것이다. 그러나 취약점이 존재한다면 그 취약점을 통해 시스템 권한 및 시스템 정보가 쉽게 탈취될 수 있다. SELinux 는 리눅스의 보안을 강화해주는 커널 모듈이다. MAC 모델 SELinux 는 MAC 모델을 기반으로 한다. MAC 모델은 각 사용자나 프로세스, 파일에 보안 레이블을 지정한다. 이 보안레이블을 컨텍스트(context)라고 하며, 사용자나 프로세스에 지정된 컨텍스트와 파일에 지정된 컨텍스트가 연관성이 없으면 접근할 수 없다. ls -Z 명령어로 각 파..
ssh 로 원격 접속을 할 때 포트번호를 2222번으로 접속을 해보는 예제이다. 내 컴퓨터에 누군가 원격 접속을 허용하기 위해 다음과 같은 과정을 거칠 수 있다. 먼저 /etc/ssh/sshd_config 파일을 vim 편집기로 열어서, Port 2222 로 수정한다. Port 검색을 할 때는 /Port 라고 입력해주면 된다. 이 파일을 수정해서 2222 포트를 사용하도록 설정하는 것이다. ssh -p 2222 root@192.168.56.102 그리고 sshd 서비스를 재시작한다. systemctl restart sshd semanage 명령어로 포트 레이블을 추가해 준다. 포트 레이블이란 SELinux 가 enforcing 모드일 때 특정 서비스가 사용하는 포트를 설정하는 것이다. semanage p..
리눅스 시스템에서의 로그 기능 1. Syslog(rsyslogd) - 전통적인 리눅스 로그 통합 관리 기능 Text Data (cat이나 grep 명령어로 확인할 수 있음) syslog 설정에 따라 선별된 이벤트만 기록한다. 재부팅 후에도 로그 확인이 가능함 /var/log 에 저장된다. /etc/rsyslog.conf 파일에 저장할 로그의 종류 및 우선순위를 설정할 수 있고, 수신한 로그를 /var/log 디렉토리의 각 파일로 전달함. 2. Systemd Journald Log (systemd-journald) - systemd 가 사용되면서 systemd-journald 가 추가됨 binary data 형태로 저장되므로 특별한 명령어를 사용해야 한다 (journalctl) 시스템에서 발생하는 거의 모..
systemd 란? 기존에 linux에서는 init 프로세스로 서비스와 프로세스를 관리했다. 현재의 최신버전 리눅스에서는 systemd 데몬으로 init 프로세스의 역할을 대체하고 있다. systemd 로 대체된 이후로 Run-Level 을 사용하지 않는다. Run-Level 대신 Target Unit을 사용한다. systemd 는 리눅스에 도입되고 있는 PID1 번 프로세스이다. 시스템 관리, 로그 관리, 서비스 관리, 초기화 스크립트 관리 등의 시스템 관리와 전반적인 작업을 수행하고 있다. init 프로세스에서 사용하던 서비스들은 스크립트 형태였던 반면, systemd로 대체되면서 이는 Service Unit으로 제공된다. 동작 중인 systemd process를 확인하는 명령어 ps -ef syst..
at 명령어를 통해서 특정 시점에 작업이 실행될 수 있도록 예약해서 사용할 수 있다. 아주아주 간단하다 !! 단 !! at 명령어로는 단일성 작업을 예약하는 것이다. 주기적으로 작업을 스케줄링 하려면 condtab 명령어들을 사용해야 한다. at [OPTION] TIMESPEC 시간을 표기하는 방법은 다음과 같다 at 22:30 at 11:00 AM //오늘 오전 11시에 실행된다. at Jan 4 2023 13:00 at 01-03-22 at 010322 at 01.03.22 at 3:00pm 5 Jan 2023 at now + 5min //현재시점을 기준으로 실행될 시점을 지정한다. at noon tomorrow : 내일 정오에 작업 실행 예약 at midnight tomorrow : 내일 자정 작업..
디스크 (Hard Disk) 플래터 (Platter) : 실제 데이터가 저장되는 위치 스핀들(Spindle) : 플래터를 회전시키는 역할 담당. RPM이란 Round Per Minute이란 뜻으로 spindle의 회전속도를 의미한다. 헤드 (Head) : 플래터에 있는 데이터를 읽거나 기록을 하는 기능. 디스크 플래터 (Disk Platter) 의 구성요소 섹터 (Sector) : Platter의 가장 작은 단위. 디스크 블록이라고도 함. 트랙 (Track) : Sector 들이 합쳐저서 하나의 원을 이루는 것. 실린더 (Cylinder) : 여러 track에 대한 스택 구조이다. Partitioning 의 종류 MBR Partitioning GPT Partitioning MBR Partitioning의..