안녕하세요 조언좀 구하고자 글을 씁니다.
다름이 아니라 회사 서버를 구축 하고 있는데
서버 목적은 소스 저장 및 관리 및 개발환경입니다.
그래서 현재 구상및 구현은
putty프로그램으로 ssh서버를 접속하여 기존에 사용하던 vmware 대신에 사용을 하도록 하였습니다.
그리고 samba 서버를 열어서 개개인의 폴더를 구성했습니다.
tortoise SVN을 이용해서 svn서버로 부터 소스를 checkout 합니다. 근데 checkout 시에 자신의 PC(client PC)에 내려받는 것이 아니라
서버 PC(Server PC) 에서 samba 서버로 제공하는 개인 폴더에 내려받아서 작업을 합니다. 하는 일은 임베디드 이고요, 내려받은 소스를 수정해서
ssh 서버를 통해서 서버 PC에 있는 컴파일러를 이용하여 컴파일 하고 commit 할 생각입니다.
근데 문제가 있습니다… svn 서버를 통해서 개인폴더(samba서버를 통한)에 내려받는데(checkout) 너무 느림니다. 속도가 10kb 미만으로 내려받
더라구요… 헌데 svn 서버를 통해서 로컬폴더(자신의 PC에 있는 폴더)에 내려받을땐(checkout) 엄청 빠름니다. 300kb 정도로 내려받더라구요.
그래서 samba 서버가 너무 느려서 그런거라 생각해 samba 서버의 socket option(주고 받는 버퍼 사이즈를 설정)을 설정 해봣는데도 별볼일 없더라구요.
그래서 선배님들의 경험 혹은 정보를 얻고 싶습니다. 속도를 높일 수 있는 방법이나 혹은 위와 같은 작업을 하기에 최적의 방법(선배님들의 경험)을 조언 받고
싶습니다.
- 이건 번외지만 궁금한것도 있습니다. svn을 사용하는데 종류가 다양하더라구요. svnserve를 통해 접속하는 svn://, ssh를 통해 접속하는 svn+ssh://,
apache2를 통해 접속하는 http:// 등이 있는데 각각의 어떤때 어떤 목적으로 사용해야 하는 지 모르겠습니다. 아무거나 막 써도 되는 건지…;;
알려주세요~
버전관리를 이제 막 시작하시는 참이라면 GIT를 추천드립니다.
http://dogfeet.github.com/articles/2012/progit.html
subversion도 한참 사용했었는데. 정말 좋은 녀석이죠.
예전에 처음 버전관리를 시작할 때 책도 한권 사서 열심히 썼었습니다. ㅋㅋ
svn://은 그냥 자체 서버. 보안되어 있지 않지만 조금 빠릅니다. 내부 인트라넷에서의 접속만 허용하시고 사용하시면 편합니다.
svn+ssh:// 보안이된 ssh를 통한 자체 서버. 외부에서 수정할 일이 많이 있을 때 사용합니다.
그런데 위의 방식들은 서버에 계정을 가지고 있어야만 접근이 가능하기 때문에 서버의 계정관리를 해줘야하는 귀찮음이…
http:// 웹서버를 통해서 하고 약간의 오버헤드가 있지만 누구나 다 볼 수 있게 소스를 공개하기에 적당합니다.
https:// 마찮가지로 약간의 오버헤드가 있지만 보안이 되어 있어 안전하고 외부에서 소스를 열람할 때 좋죠.
게다가 대중적인 웹서비스 포트라서 차단되는 일도 없고 인증도 웹서버에서 간단하게 할 수 있구요.
외부든 내부든 이것저것 복잡하게 신경쓰기 싫고 사용하는 사람들이 혼란스럽지 않게 한가지만 제공하고 싶다면 svn+ssh://가 가장 무난합니다.
그리고 소스 서버에 있는 코드를 굳이 다시 서버의 삼바로 체크아웃하고 네트워크로 연결해서 쓸 필요가 있나요?
로컬에서 작업하는 것이 좋으실 것인데…
그렇게 하시게 된 계기가 있으실 것이니 하시겠지만, 전 그렇게 사용해본 경험이 없어서 왜 느린지는 잘 모르겠습니다.
대신 한가지 조언을 드리자면,
윈도우 공유 폴더가 보안에 아주 취약해서 주의를 하셔야 합니다.
벌써 10년이 다되어 가는 얘기지만, 한번 크게 당한적이 있어서…
제가 내부 파일 서버를 운영할 때 보안에 취약하니 삼바 서비스를 하지 않겠다고 했더니
선배님들의 반발이 너무 심해서 어쩔 수 없이 제공해 드렸는데…
몇몇 소프트웨어 설치 파일이 실행이 안된다고 해서 확인했더니,
삼바로 제공하던 디렉토리가 바이러스로 아주 그득그득하더군요.
사람들이 그냥 XP에 네트워크 폴더 자동연결을 시켜놓고 사용하다보니
한 사람이 바이러스에 걸리니 그대로 쫘악 전파되어 버리는…
전 리눅스 사용자라 제가 퍼트린게 아님에도. 분명 먼저 경고를 했음에도. 저를 갈구더군요.
누가 퍼트린건지 찾아냈지만 선배의 체면을 생각해서 그냥 제가 욕먹고 참았습니다.
그 뒤로는 위에서 뭐라하든지 말든지 제 맘대로 설정했습니다.
XP 골수팬들께서 하도 삼바를 사랑하시니 막을 수는 없고…
쓰기만 막고 읽기만 가능하게 만들어 버렸죠.
쓰고 싶으면 FTP를 쓰시라고. ㅋㅋㅋ
삼바 서비스 진짜 비추천합니다.
일단 조언에 감사드립니다^^
그 갈굼을… 어떻게 견디셨는지… 선배님의 고통이 조금 느껴지는 거 같습니다… 서러워 ㅜㅡ
저두 신입인지라 …ㅎㅎ
SVN의 종류에 따라 확실히 목적과 쓰임이 있군요. 저두 처음에는 svn+ssh:// 를 사용하였습니다. 사용자 ID, PASSWD 가 리눅스 계정이라
Samba, ssh, svn 이 다 통합으로 움직이길래 사용을 했으나… 현재 자꾸 사용 중에 db error 가 발생하여서 지금 임시로 기본 svn:// 을
사용중입니다. svn:// 은 지금 3일째 사용중인데 db error는 안나타낟라구요. svn:// 은 제가 생각하기에도 회사 서버로 쓰기에는 부족한 면이
있을꺼라고 생각을 하여서 다른 부분을 찾고 있었습니다. 선배님의 조언을 듣고 나니 https:// 도 탐이 나네요 ㅎ
나중에 외근 나갈 시 외부에서 접속 하려고도 합니다. 현재 윈도우에서 VPN을 통해서 외부에서 접속을 하고 있습니다. 솔직히 이부분도 보안도
그렇고 못믿어웁니다. 하지만 아는 게 여기까지라;;
서버 PC에서 제공해주는 공유폴더를 사용하게 된 이유는…
상사분들은 소스를 작성하고 Backup을 위해 서버 PC에 저장하게 되는데(SVN 외로) 로컬에 하게 되면 로컬에서 수정하고 또 삼바개인폴더에 올려야
하니 그게 힘들어 하셔서 하신거 같습니다.
삼바에 대해서 심히 고민해바야 할꺼 같습니다… 아 그리고 git 서버 추천 감사드립니다~~ git은… 개념이 하나도 없어서 주신 자료로 공부해보고
도움좀 주세요^^