맨위로버튼이미지

redHat은 IBM의 자회사로 자사 Linux OS에 라이센스 개념은 아니지만 서버 한대당 연간 50만원에서 100만원사이의 유지보수 비용을 받고 있어서 사실상 유료버젼의 Linux OS로 봐야할 것입니다. 이에 대안으로 지금까지는 CentOS를 사용했는데 CentOS와 redHat의 관개가 어떻게 되는지는 모르지만 redHat의 상위 스트림의 테스트버젼으로 운영이 결정되고 CentOS 7까지는 2024년까지 지원이 되지만 스트림 8이후버젼부터는 더이상의 안정화버젼을 배포하지 않는 것으로 바뀌었습니다. 즉 버젼의 하위 버젼 번호가 없고 redHat 상위 호환 버젼화 되었습니다. 예를 들면 스트림8에서 테스트되어 안정화가 되면 redHat에 적용하는 식의 방식으로 redHat에 흡수된 것으로 보입니다. 최종 안정화버젼이 CentOS 7이 된거구 그 이상의 제품은 전부 스트림 8 또는 9로 불리는 거죠. 그러다 보니 기존 CentOS로 개발을 해오던 많은 회사들이 이 사실을 모르거나 아니면 대안을 찾기위해 동분서주하고 있습니다. 현재 대안 OS로 몇가지가 나오고 있고 WSL에서 CentOS가 사라졌습니다. 현재로의 대안은 redHat을 사용하는 건데 설치 후 한달이면 더 이상 자동 업데이트가 안되기 때문에 시스템 운영사 입장에서는 폭탄을 안고 사는 느낌일겁니다. 그 다음이 CentOS 7로 다운그레이드 하는 방법은 맞찬가지로 2024년 이후는 업데이트가 안되므로 시한폭탄을 안고 사는것과 다르지 않게 되었습니다. 그 다음 대안은 Oracle linux이지만 오라클도 지금은 발톱을 숨기고 있지만 언제 돌변을 할지 모릅니다. Ubuntu는 사실 서버버젼이 아니라 운영을 해보면 안정성이 떨어지는 일이 많이 발생합니다. 프로그램 개발용으로 사용은 가능하나 여러가지 불안요소와 프로버젼으로 유도를 하고 있어서 완전한 무료로 보기도 어렵습니다. 특히 22.04LTS버젼은 백그라운드 nohup프로그램이 수시로 죽고 순간 먹통이 된것 처럼 멈추는 현상등 이건 진짜 LTS가 맞나 싶은적이 한두번이 아닙니다. 사람들은 계속해서 20.04또는 18.04버젼을 사용하고 있습니다. 오픈소스 진영도 결국은 기업이라 돈이 안되는 일은 안할것으로 보입니다. 최근 GNU진영에서 마소를 고소한 사건으로 마소도 많이 몸을 사리고 있는 듯 합니다. 이러다 마소에서 리눅스가 나오는 건 아닌지 참 한치앞도 알 수 없는 안개속이 되었습니다.

 

추가글

CentOS 7을 사용하려면 epl repo나 rhel repo를 다운받아 yum repository에 등록해야만 업데이터가 가능 합니다. url 도메인을 내렸더라구요. 지금 현재는 yum update 나 yum upgrade가 불가능합니다. 

저는 현재 Rocky 를 사용하기로 했습니다. 예전에 CentOS 5나 6을 사용하신 분들은 httpd나 기타 프로그램이 묘하게 안들던 때를 아실라나요? 첫 경험은 지금 현재까지는 그렇습니다. php를 깔았는데  7.2가 깔려서 ownCloud가 안 돌아 갑니다. 

그래서 어찌저찌해서 7.3을 올렸는데 다시 7.4를 올려야 하나 mariaDB는 왜 안먹지? 이러면서 하나 하나 분석 중입니다. 

Apache도 2점대 낮은 버젼이 깔려서 다시 패치 하는데 epl 사이트도 안 먹고 --skipbroken을 달고 사네요. 그래도 지금 현재로는 마당한 대안이 없습니다. 저는 지금 무료로 받은 오라클 클라우드 VM이 하나 있습니다. 그기에 데이터가 다 들어 있는데 그 데이터를 내려 받아야 합니다.(공간부족으로 확장 불가 상태임) 물론 끽해야 약 20G 정도 됩니다만. 이것도 문제네요. 

반응형
LIST

'서버운영팁' 카테고리의 다른 글

스마일IDC 마이서버 서비스  (0) 2023.02.18
잘 되던 파티션 복사 후 부팅안될 때  (0) 2022.12.29
내 공인 아이피는?  (0) 2022.12.27
Python 민감 데이트 보호  (0) 2022.12.25

맨위로버튼이미지

요즘 싱글코어 PC를 사용하시는 분은 없을 겁니다. 개인 개발 목적으로 Ubuntu나 Centos를 설치해서 사용하시는 분들이 많으실 건데요. 대부분 분들이 개발용 linux를 설치 할때 그냥 partitioning을 합니다. 그럼 왜 partitioning을 할까요? partition을 나누어 하드를 사용하면 어떤 이점이 있을까요? 저는 개인적으로 오라클 클라우드에 Centos VM을 가지고 있습니다. 무료 다보니 용량이 간당 간당 합니다. 루트공간이 거의 다차서 언제 멈출지 모릅니다. 제가 처음 이 직업을 선택했을 때가 딱 이랬습니다. 하루에도 몇번씩 서버를 리부팅해야 했습니다. process폭주 때문입니다. 지금은 process가 폭주해도 시스템이 다운되지 않습니다.
그 이유는 첫째로 거의 모든 CPU가 멀티코어에 멀티쓰레드를 지원합니다. 둘째는 그 당시 ISA 방식의 장치들이 PCI방식을 사용함으로 인해서 인터럽터를 덜 발생하게 되었습니다. 즉 OS의 발전이 아니라 하드웨어의 발전으로 인해 지금은 시스템이 멈추지 않습니다.
그런데 process 폭주시는 리눅스 계열 OS는 하드에 자신의 분신을 만든 다음 실행되기 때문에 root공간이 부족하게 되면 더 이상 프로세스를 생성하지 못하는 문제가 생깁니다. 반대의 경우도 발생하게 되죠. root공간이 꽉 차게 되면 신생 프로세스는 생성할 수 없습니다. 이 경우는 쓰레드도 마찬가지로 시스템이 폭주하는게 아닌 아이들한 상태가 발생하게 됩니다.

만약 혼자서 사용하는 개발용 PC라면 오히려 partition을 만드는게 독이 될 수도 있습니다. 그리고 기술의 발전으로 network cloud file system 제품이 많이 등장했습니다 .이 경우는 팀에서 사용하는 서버라고 해도 partition을 만드는게 좋지는 않을 것 같습니다. 예를 들면 VirtualBox에 설치된 linux의 경우 하드디스크가 부족하면 자동으로 extention이 발생합니다. 그렇지만 partitioning을 해 놓은 공간은 확장되지 않습니다.
결국 root공간이 부족하게 되어 시스템이 멈추는 경우가 발생할 수 있는 거죠. 그런것 처럼 요즘은 hypernation OS가 있습니다. OS위의 OS라고 해야 하나요? 여러 OS에서 값비싼 H/W를 공유하는 목적의 OS이죠. 그런 시스템도 partition을 나누는게 좋지는 않습니다.

그래서 결론은 구식 개발 시스템 즉 전형적인 WEB/WAS환경의 서버 개발의 팀 미션이면 /usr와 /var와 root정도는 partition을 나누는게 좋지만 그런 시스템이 아니라면 지금은 partition을 나누는 것은 별로 좋아 보이지 않습니다.
점점 더 하드웨어가 발전하게 되면 시스템을 종료하지 않고도 하드디스크를 (raid 시스템과는 다릅니다.) 늘리는 일이 일상이 될것 같습니다.
지금의 cloude 환경을 한번 생각 해 보시기 바랍니다. 수억명의 유저가 동시에 사용하고 있는 시스템의 하드 디스크를 늘리자고 시스템을 종료하고 하드 디스크를 늘리는 작업을 한다면 그런 cloude 시스템을 사용할까요?

반응형
LIST

'리눅스' 카테고리의 다른 글

WSL-우분투와 윈도우의 만남  (0) 2023.01.01
WSL- 네트워크 범위  (0) 2022.12.23
WSL - WSL의 시작  (0) 2022.12.23

맨위로버튼이미지

wsl이 나온지 꽤 오랜 시간이 지났지만 사실 그 동안은 쓸만한 APP(사실 뭐로 불러야 할지 모르겠다.)은 아니었다. 작년에는 노트북에 깔았다가 바로 지워버렸다. 전체 시스템이 무거워지고 알 수 없는 여러 오류들. 첨 MS STORE에서 우분투를 보았을 때는 CGYWIN이랑은 완전히 다른 느낌이었다. minix와도 완전히 다른 느낌이었다. 이제는 로컬에서 개발해서 테스트한 다음 서버에 적용하면 되겠네. '야 후' 였었지만 최 5분도 안돼서 그냥 지웠다. 욕도 하지 않았다. 그러다 불과 몇일전 윈도우10으로 머쉰런닝을 개발하다. Nvidia가 윈도우에 모든 기능을 넣지는 않은 것을 알았다. pytorch의 cnn이 상당히 무거운 엔진인 것을 안것도 사실 몇일이 지나지 않았다. torch의 CNN은 CPU로 돌릴 수 없다는 것도 마찬가지였다. 대안을 생각하다. 스토어에 있는 우분투가 생각이 났다. 나는 LTS의 의미가 무엇을 의미하는지 너무나도 잘 안다. 당근 우분투 LTS 버젼을 선택했다. 너무도 당연한 일이다. 그리고 CUDA를 설치하고 드디어 NCCL을 설치했다. 너무도 당연히 너무 탈 없이 잘 깔렸다. 이 의미를 이해하시는 분들은 상당히 많을 것으로 생각이 된다. 우리는 그냥 시간을 워퍼(웜홀 같은 곳을 지나거나 차원을 접어서 건너 뛰는 개념)한 것은 아니다. WINE를 와인으로 읽지 않는 분들 부터 VM이 무었인지 안는 사람들 windows 에 도커를 올려 보겠다고 삽질하던 그 수 많은 세월을 지나서 지금의 WSL을 만난 것이다. 프로그램을 하다보면 근원적 근본적으로 해결되지 않는 수 많은 문제와 개발만 하고 도망나온 수 많은 프로젝트가 있다는 것을 우리 또는 미래의 우리들은 알아야 한다. 그 많은 것들이 크로스 플랫폼 또는 유저가 원하는 그 간단하지 않은 간단한 포팅들을 간단하다고 거짓말하며 지금에 왔다. 서론이 너무도 길었다. 너무 감동 먹었다는 이야기이다. 참고로 지금 현재 원도우 환경에서 개발하던 수 많은 프로젝트를 WSL로 옮기는 작업을 하거나 고려 중이다. 그 이유를 설명하고저 이 글을 쓴다. 그리고 현재는 완전히 불가능한 WSL의 문제점도 같이 고민해보고자 한다. WSL1과 WSL2는 과연 무엇이 다르기에 내가 5분만에 지운 옛날의 그것에 흥분하고 있는지 이 글을 읽는 분들에게 알리고 싶다. 드디어 우리는 로컬에서 리눅스 프로그램을 개발하고 git이나 svn에 커밋을 하고 리모트에서 컴파일을 하고 리모트에서 배포가 되는 환경을 리소스에 전혀 구애받지 않고 할 수 있다는 말임을 이것이 무엇을 말하는지 알아 주었으면 한다. 필자는 수 많은 기간 동안 수 많은 솔류션 회사를 다니면서  이 어려운 환경에서 개발 또는 유지보수를 하기위해서 주말과 휴가를 반납하고 심지어는 명절을 반납해야 했다. WSL2는 완벽한 커널을 가지고 있다. 그리고 부팅하지 않는다. wsl --list를 실행하면 내가 실행할 수 있는 리눅스 배포판가 디폴트로 실행될 os가 어떤것 인지 보여준다 그리고 wsl을 커맨드 창에 실행하는 즉시 구질구질한 리눅스 부팅 메세지 없이 바로 진짜 눈을 깜을 시간도 없이 즉시 실행된다. 그리고 apt(이젠 더이상 apt-get이라고 타이핑할 필요가 없다) update를 실행하면 업데이트 대상에 커널이 떡하니 보인다. 완벽한이란 말은 거짓말이 아니었다. 이 감동을 잠시만 진정한 다음 다음 차에 WSL을 까발려 보자. 한가지 아쉬움은 WSL은 아직 많은 것이 필요하다. 그 이야기를 해보고 싶다.

반응형
LIST

'리눅스' 카테고리의 다른 글

리눅스와 파티셔닝  (0) 2023.01.18
WSL-우분투와 윈도우의 만남  (0) 2023.01.01
WSL- 네트워크 범위  (0) 2022.12.23

+ Recent posts