카테고리 없음

[사내 스터디 기록] 3개월간의 OS 스터디 회고 (feat. 리눅스 마스터 2급)

서머스 2025. 5. 10. 15:24

올해부터 회사에서 역량테스트를 시행하게 되면서, 팀 내에서 스터디를 진행하게 되었다.

깃허브 이후 두번째 스터디..!

 

OS나 MW 스터디 중 하나에 들어갈 수 있었는데, 회사에서 mw를 다뤄본 경험이 있었던 것에 반해 사실상 입사 이후 무지 상태였던 OS에 대해 공부하기 위해 OS 스터디에 들어갔다.

학부 이후 잊고 살았던 OS에 대해 다시 공부해 보는 시간이 있어서 정말 유익했다.

 

3월 ~ 5월 2개월동안 워킹 데이에 매주 수요일 오후 3시, 총 7주 진행했다.

스터디를 진행하는 주 동안은 거의 항상 야근을 했고 화요일은 거의 인간등대였다.

 

https://github.com/4SohyunChoi4/OS-Study

 

GitHub - 4SohyunChoi4/OS-Study: OS 스터디

OS 스터디. Contribute to 4SohyunChoi4/OS-Study development by creating an account on GitHub.

github.com

공부한 기록은 깃허브에 올렸다.

 


큰 주제는 아래와 같이 진행됐다.

Rocky Linux 8 설치
네트워크 설정하기
Repository
Process
계정 설정
스토리지 할당
LVM 설정
ISCSI

 

 

하지만 구성도를 보면..?

실제로는 7주동안 이 정도의 개념을 공부했다.

 

 


하다가 모르는 개념이 파생적으로 등장하면 그 부분을 찾아서 또 정리했다.

그러다 보니 스터디를 준비하는데 시간이 오래 걸린 것 같다.

 

이 때 사용한 툴은 Obsidian이다.

UI가 특이하다보니 발표할 때마다 팀원들의 관심을 많이 받았고, 지금도 많은 분들이 애용하고 있다.(영업왕이 됐다)

https://obsidian.md/

 

Obsidian - Sharpen your thinking

The free and flexible app for your private thoughts.

obsidian.md

 

스터디는 사실 1주차 초기 세팅부터 난관이 있었다.

  • 처음에는 VirtualBox에 설치를 했지만, 이후에는 VMWare를 실무에서 더 많이 사용을 더 많이 한다고 해서 VMWare로 갈아탔다.(우리 회사 기준일수도 있고) 
  • VirtualBox에서 처음 로키리눅스 환경설정 할 때 Ethernet을 분명 on 했는데, 뜨지 않아서 의문이었다. 나중에 캡처 화면을 추적해 보니 너무 급하게 넘겨벼렸는지 on은 돼있는데 IP는 뜨지 않은 상태였다. 그래서 off 상태로 next가 된게 아닌가 싶었다.
  • 그와중에 dvd에서 minimal 로 iso를 바꾼다고 이미지를 뽑았다가 다시 넣었더니 GRUB이 부트 파일을 못읽는 상태가 발생해서 처음부터 다시 설치했다.
  • dvd에서 minimal로 바꿔도 컴퓨터가 너무 느려져서 [응답없음]이 계속 발생했다. CPU와 메모리르 진짜 최최최최소한으로 사양을 줄였다.

 

스터디를 진행하면서 기억에 남는 점 몇가지만 작성해보자면...

 

VMWare 사용 시 Host-Only, NAT 차이 제대로 이해하기

VMWare에서 네트워크 설정 시 Host-Only와 NAT가 있다.

항상 뭔지 정확히 모른 채 설정했던 것 같은데, 이번에 제대로 구분을 할 수 있게 되었다.

Host-Only가상 머신과 호스트(=내 로컬 컴퓨터)가 통신할 수 있도록 하는 것이고, 외부 네트워크(인터넷)과는 기본적으로 연결되지 않는다.

즉, 로컬 안에서 호스트나 가상 머신 간에 연결이 필요할 때 하는 것이다.

 

NAT(Network Address Translation)는 VM이 외부 네트워크와 연결될 수 있도록 하는 것이다.

VM은 NAT로 부터 사설 IP 주소를 할당받는데, 이는 실제로 외부로 나갈 때 NAT 라우터를 경유하며 IP주소가 외부에서 알아볼 수 있는 IP로  변환된다.

우리 회사처럼 폐쇄망으로 쓰는 환경의 경우 NAT 구성은 없다고 봐야겠고...

Host-Only 설정은 필수로 해야한다.

 

네트워크에는 스크립트 방식과 NetworkManager 방식이 있다

네트워크 설정 시 Network와 NetworkManager 두 가지 방식이 있다.

Network정적 설정 파일(/etc/sysconfig/network, ifcfg 등)을 직접 수정해서 네트워크 인터페이스를 구성하는 방식이며

NetworkManager네트워크 인터페이스동적으로 관리할 수 있다.

RHEL 7부터 기본 네트워크 관리 도구로 NetworkManager가 도입되었다.

물론 두 가지 다 사용 가능하지만, 혼용해서 사용할 경우 충돌이 발생할 수 있어 둘 중 하나만 사용하는 것이 권장된다.

 

가상 디스크 생성 시 Loop 사용..

처음에 가상디스크를 생성할 때 sda밖에 없어, loopback device(가상 디바이스)로 가상 디스크를 만들었다.

하지만 loopback device는 실무에서 정말 급할 때 아니면 거의 쓰지 않는다고 해서, vm을 새로 만들어서 sdb를 할당한 뒤 진행했다.

 

ISCSI에서 파일 공유?

장비 1대는 iscsi 역할을 하는 장비로 구성하고 다른 2대의 장비에서는 해당 장비의 iscsi 볼륨을 연결하는 작업을 마지막으로 했었다.

연결 설정 완료 후 클라이언트1에서 txt파일을 수정하고, 클라이언트 2에서 그 txt파일을 확인해 봤는데, 원래 상태 그대로였다.

처음엔 볼륨이 연결이 안된 줄 알았는데, UID도 똑같고, 특이사항이 없어 의아했다.

나중에 여쭤보니, iSCSI는 파일을 공유하는게 아니라 블록 단위의 스토리지 프로토콜이기 때문에 각 서버는 자기 캐시나 버퍼만 보고 파일을 관리하는 것이기 때문에 변경 사항이 다른 서버에 즉시 반영되지 않는다고 한다.

즉, 공유 폴더처럼 쓰는 게 아니라 공유 디스크인 것이다. 공유 폴더를 쓰려면 NFS, SMB를 써야한다.

 

 

...

요 정도 된다.

 

 

내 회사 내 직무는 소프트웨어 개발이지, TA는 아니어서 사실 OS나 MW 공부가 역량시험 과목과는 크게 관련있진 않았다.

이렇게 공부만 하고 흘려보내긴 아쉬워 이 기세를 몰아서 리눅스 마스터 2급 도 취득했다.(언젠간 1급도 딸 수도? ㅎㅎ)

 

엄청나게 길고도 긴 시간이었던 것 같은데 돌이켜보니 7주밖에 안돼서 충격.

스터디를 이끌어주신 OS파트 과장님과 같이 머리 쥐어싸매며 공부했던 동기에게 멀리서나마(ㅋㅋ) 감사의 인사를 전한다.

 

 

 

스터디 당시 참고했던 블로그

https://growth-coder.tistory.com/192

 

[Network] DHCP와 NAT

우리가 일반적으로 사용하는 IPv4의 경우 IP주소가 40억개쯤 되는데 시간이 많이 지남에 따라 거의 고갈되어 가고 있다. 이를 해결하기 위한 방안을 알아보려고 한다. DHCP (Dynamic Host Configuration Proto

growth-coder.tistory.com