470 likes | 851 Views
SPARCS 서버 관리 실전. logue 김도 국. Wheel 은 1 년동안 어떤 어떤 일을 할까요 ?? 어떤 일이 언제 일어날지 모르지만 예상 가능한 몇몇 서버 관리 작업들을 이번 세미나에서 정리해보도록 할게요. 2 월. 귀여운 (?;;) 신입생들이 입학하고 봄학기가 시작되는 달이죠 . 스팍스 계정 추가가 이때 이루어집니다 . 그럼 계정 추가를 해 보도록 해요. 신입생 계정 추가. 리눅스에서 새로운 계정을 추가할 땐 adduser 또는 useradd 명령을 사용하죠 . 방법은 간단합니다 .
E N D
SPARCS 서버 관리 실전 logue 김도국
Wheel은 1년동안 어떤 어떤 일을 할까요?? 어떤 일이 언제 일어날지 모르지만 예상 가능한 몇몇 서버 관리 작업들을 이번 세미나에서 정리해보도록 할게요.
2월 • 귀여운(?;;) 신입생들이 입학하고 봄학기가 시작되는 달이죠. 스팍스 계정 추가가 이때 이루어집니다. 그럼 계정 추가를 해 보도록 해요.
신입생 계정 추가 • 리눅스에서 새로운 계정을 추가할 땐 adduser또는 useradd명령을 사용하죠. 방법은 간단합니다. • # adduser (계정명) • 위 명령을 실행하면 대화형으로 계정 추가가 진행되므로 참 쉽죠.
신입생 계정 추가 • 그치만 그 전에 꼭 점검해야 할 것이 있죠! • SPARCS의 계정은 동아리 가입 학번에 따라 UID범위를 정해서 생성하고 있어요. • 10년도에 가입하신 분들은 4100번대 UID를 가지고 있고, 앞으로 11년도에 가입하실 분들은 4200번대 UID를 가지게 됩니다. 이런 식으로 100씩 증가한 UID 범위를 가지게 되죠.
신입생 계정 추가 • 그럼 새로 만들어지는 계정의 UID는 어떻게 관리할까요??
신입생 계정 추가 • UID 설정 완료하고 adduser명령으로 신입생의 계정을 추가를 완료했어요. 계정 추가 참 쉽죠??? 이러고 끝내면 신입생들은 메일도 못 받아보고 선배들은 nugu로 신입생 누가누가 있는지 볼 수도 없어요 ㅠㅠ
신입생 계정 추가 • 일단 nugu에추가하는 것 부터 해봅시다. • # /SPARCS/bin/nugu –a (계정명) • 위 명령을 입력하면 nugu에 계정이 추가됩니다. 이것만 하면 정보가 없기 때문에 뜨지가 않으니 신입생에게 꼭 nugu –e로 수정하도록 해야해요.
신입생 계정 추가 • 그리고 메일을 forwarding해서 받아볼 수 있도록 .forward 파일을 해당 계정의 홈 디렉에 만들어줘야 합니다. • 방법은 간단히 vim .forward 명령으로 vim창에서 .forward를 생성한 후 메일을 입력하도록 하고 저장 후 닫으면 됩니다. • 주의하실 점은 .forward파일의 소유자를 해당 계정으로,그룹을 presparcs로 바꿔주던지 아님 아예 그 계정으로 생성해야해요.
신입생 계정 추가 • 여기까지 했으면 이제 신입생에게 가입이 끝났다고 하고 가도록 해도 됩니다. 남은 일은 신입생들의 메일링 리스트를 만드는 것이죠.
신입생 계정 추가 • sparcs2011 메일링 리스트를 만들고 싶다면 /SPARCS/mail/aliases 파일에sparcs2011: :include:/SPARCS/mail/aliases.d/sparcs2011위 줄을 추가해주고,실제로 /SPARCS/mail/aliases.d에 sparcs2011이라는 메일링 리스트를 만들어 그 파일 안에 11학번 신입생들 계정을 넣어주면 됩니다.
신입생 계정 추가 • 이제 sparcsunder,gura등에 sparcs2011을 추가해주면 메일링 리스트 관련 작업도 끝나죠. • 가끔 포워딩 파일이 잘못되거나 또는 실수로 만들지 않았다는 등의 이유로 메일이 안 가는 경우도 있으니 신입생들이 메일을 잘 받는지 꼭 확인하도록 합시다. • 이 과정들을 다 자동으로 해주는 프로그램을 만들어 보는건 어떨까요??
3월 • 다른 학교들은 이제 개강해서 실컷 놀고 있을때 우린 중간고사를 준비해야 하는 슬픈 시기입니다. 아뿔싸.. 그런데 하필 3월 둘째 주 일요일에 정전이 된다고 하네요. 정전때문에 서버들 전원이 나가버리면 최악의 경우 하드디스크가 뻑나서 구제불능이 될 수도 있어요. 어떻게 해야 할까요?
정전 대비 • 간단하죠. 미리 정상 종료 시켰다가 정전이 끝나고 나면 다시 켜면 됩니다. 예고된 정전의 경우 충분히 대응 가능하고, 무서운 것은 예고되지 않은 정전인데 이 경우는 최대한 빨리 서버들을 켜서 확인해보고 이상이 있는 경우 그에 따른 조치를 취해야겠죠.
정전 대비 • 이렇게 말로 하니 간단한데 예고된 정전 대비에도 절차가 있어요. 간단한 거라도 한번 살펴보도록 합시다.
정전 대비 1. 미리 메일을 보내 정전으로 인해 서비스가 다운 됨을 알려야 합니다. 카이스트 공지에서 정전 공지를 보면 최대한 빨리 sparcs메일링으로 공지하는 것이 좋아요. 보통 정전이 아침 7~8시 가량부터 오후 5시 정도까지이니 새벽 5시부터 오후 7시 정도까지 서비스가 다운될 것이라고 공지하면 무난합니다.
정전 대비 2. 드디어 일요일이네요.(대략 AM 03:00 정도 되는 시간이라 봐요) 잠은 오는데 서비스를 5시에 정지한다고 했으니 두 시간이나 남았어요. 그럴 땐 일단 sparcs나 nan등에 접속해서 w 명령으로 누가 접속해 있나 확인합니다. 만약 아무도 없다면 미리 끄고 주무셔도 무방하지만 작업중인 선배가 있다면 힘들더라도 5시까지 기다리도록 합시다.
정전 대비 3. 마침내 서버들을 끌 시간이 왔네요. 새벽 5시에요.# shutdown –h now명령을 이용하면 당장 시스템을 끌 수 있지만 아무리 예고했었다고 해도 저렇게 당장 끄는 것은 사용자에 대한 예의가 아니죠. 접속자가 있는 경우 –k 옵션(일명 훼이크죠) 으로 겁을 줘서 로그아웃 하도록 하고 경고했음에도 10분 가량 기다려도 반응이 없다면 그땐 끄도록 합니다.
정전 대비 4. 정전이 되서 동방에 불도 안 켜지고 해서 방에서 자고 있는데 5시 반쯤 되니 전원이 들어오네요. 그럼 동방에 가서 서버들을 켜요. 켜는 순서는 다들 아시죠??켜고 난 후 에는 NFS,LDAP 마운트가 잘 되었는지 확인하시고 각 서비스가 잘 돌아가는지 등을 확인하신 다음 문제 없을 경우 문제 없이 서버들을 켰다는 메일을, 문제가 있을 경우 그 문제를 메일로 돌리도록 합니다. 문제가 있으면 물론 앞으로 해결해야겠죠.
4월 • 축제가 있는 4월이에요. 스팍스 신입생들은 중간고사가 끝나고 정회원 심사를 통해서 준회원에서 정회원으로 승격되죠. 그래서 그게 휠하고 무슨 상관이 있냐고요? 준회원은 그룹이 presparcs고 정회원은 그룹이 sparcs거든요. 당연히 권한도 틀리게 적용되니 정회원으로 승격된 회원들의 그룹을 바꿔주고 LDAP 추가를 통해 다른 서버로 로그인도 가능하도록 해줘야 해요.
정회원 승격 • 그룹변경1. usermod –g 를 이용해 변경한다.2. /etc/passwd파일에서 gid를 수정한다.
정회원 승격 • LDAP 추가 Wheel trac wiki에 있는 LDAP 연동하기에 대한 설명을 참고!https://sparcs.kaist.ac.kr/wheel/wiki/Processes/NFS%2BLDAP
정회원 승격 • 그리고 스팍스 공용 비번도 신입생에게 알려줘야 해요. 스팍스 공용 데스크탑이나무선랜을 사용할 수 있게 꼭 공용 비밀번호를 알려주세요.
5월 • 학기가 마무리되는 5월이에요. DB를 이용해 플젝을 진행하는 선배들이 많이 보여요. 그런데 한 선배께서 원격접속이 가능한 mysql계정이 필요하다고 하시네요. 스팍스 정회원이라면 당연히 계정을 만들어서 사용할 수 있도록 해 드려야겠죠?
MySQL계정 추가 • # mysql –u root –p 명령으로 일단 MySQL에 접속을 합니다.그리고 use mysql명령을 입력해서 사용자 정보 데이터베이스를 선택하도록 해요. • 그리고 mysql DB에 사용자 계정 정보를 추가하면 됩니다.
MySQL계정 추가 • mysql > GRANT ALL PRIVILEGES ON *.* TO '사용자명'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; • mysql > flush privileges; • 위 명령은 모든 DB에 모든 권한을 가진 원격접속이 가능한 계정을 생성합니다. 권한을 제한하는 경우가 많으니 Wheel trac wiki를 참고해서 알맞은 권한으로 만드세요.
MySQL계정 추가 • 이때 패스워드의 경우 사용자의ID나 이름 등에 관련된 패스워드로 만들고 사용자에게 ID와 같이 전달하면 됩니다.
방학 • 방학 중에도 일이 많아요. 그치만 제가 여기서 다 다루긴 힘들고 방학엔 휠 세미나 관리에 힘을 쏟아야 하니 생략하고 9월로 넘어가도록 할게요.
9월 • 가을학기가 시작되는군요. 방학동안 놀고먹고 잘 지냈는데 또 다시 학기가 시작이에요. 마침 새 학기를 맞아 개발에 대한 열정을 불태우는 한 회원이 새로운 패키지들의 설치를 잔뜩 요구하네요. 그 중엔 기존 패키지들의 업그레이드도 있고 새로운 패키지들도 있어요. 패키지 업그레이드를 해보도록 하죠.
패키지 설치 및 업그레이드 • 패키지 업그레이드#apt-get dist-upgrade그냥 apt-get upgrade 명령도 있지만 위 명령을 사용하면 의존성 검사를 수행하면서 업그레이드를 하므로 좀 더 안정적이다.
패키지 설치 및 업그레이드 • 패키지 설치#apt-get install (패키지명)더 이상 설명이 필요없는 명령이죠 ㅋ
패키지 설치 및 업그레이드 • 패키지 설치(apt-get으로 검색이 안될때)apt-get으로는 패키지를 찾을 수가 없는데 .deb패키지를 다른 곳에 찾은 경우 wget으로 다운 받은 후 dpkg--install로 설치하면 된다.
10월 • 동아리 선배께서 서버를 기증하셨어요. 새로운 서버를 설치해서 사용하려고 하는데 어떤 과정을 거쳐서 설치하고 사용해야할까요?
서버 설치 • 먼저 서버를 어떤 용도로 사용할 것이고 어떤 이름을 부여할 것인지를 결정해야겠죠. 정모에서 또는 휠 회의를 통해 이러한 사항들을 먼저 결정합니다.
서버 설치 • 그리고 나선 OS를 설치합니다. 처음에 OS를 설치할 때 네트워크를 설정하라고 할 텐데 랜카드가 교내에서 인증을 받지 않은 경우 연결이 안되므로 교내에서 쓰던 컴퓨터가 아니라면 네트워크 설정은 그냥 넘어가도록 합니다.
서버 설치 • OS 설치가 다 되고 나면 네트워크를 설정합니다. 랜 카드 인증은 해당 서버의 Mac address를 다른 컴퓨터(Windows 운영체제가 적당)에서 써서 해당 Mac address를 인증받도록 하면 됩니다. 리눅스에서 인증이 원래 되었는데 언제부턴가 w3m으로는 인증이 되지 않아서 생긴 문제인데 수동 인증을 해도 됩니다.
서버 설치 • 네트워크 설정도 다 되면 서버를 서버실로 옮기도록 합니다. 이제부터는 ssh원격접속으로 서버를 관리할 수 있기 때문이죠. • (해당 서버의 이름).sparcs.org로 접속할 수 있도록 sparcs에서 bind 설정을 합니다. • 이후로는 각 서버에 맞는 세팅을 하면 됩니다.
11월 • sparcs같은 전체 메일링 리스트로 메일을 돌리니 반송되는 메일이 보이네요. 메일이 반송되는 문제에 대해 처리해달라는 요청이 있는데 이걸 어떻게 처리하는게 좋을까요?
메일 반송 문제 • 메일 반송 문제는 대부분 포워딩하는 메일 주소가 존재하지 않거나 또는 그 메일 서버에서 sparcs에서 포워딩해서 메일이 가는 것을 막는 등의 문제에서 비롯됩니다. • 따라서 포워딩하는 메일 주소를 바꿔 줘야 해결된다고 보면 됩니다.
메일 반송 문제 • 이러한 메일 반송 문제에 대해서 휠에서 이야기가 많이 나오는데 이 부분은 staff에 연락을 해서 해당 회원에서 포워딩 메일 주소를 변경하도록 요청하는 것이 좋습니다. 일단 메일이 반송되는 것을 막아야 하니 .forward 파일을 .forward.old파일로 이름을 바꾸고 해당 회원에 대한 연락을 staff에 요청하던지 직접 연락을 해서 포워딩 주소를 바꾸도록 하면 됩니다.
12월 • 한 해가 마무리되는 12월이네요. 그런데 이런…. 한창 수강신청 시즌인데 LKIN이 작동을 안한다고 하네요. 어떻게 좀 해보라고 요청이 들어오는데 LKIN 소스코드도 하나도 모르는데 어떻게 해야 할까요?
Xen • LKIN은 xen위의 VM에서 돌아가고 있어요. LKIN 프로그램에 문제가 생긴 것일 수도 있지만 일단은 LKIN VM을 다시 켜보는 것이 우선이라고 볼 수 있죠. • #xm list • 위 명령을 이용하면 현재 lkin의 상태가 어떤지 확인할 수 있어요. b 상태가 아니라면 보통 문제가 있는 것이고, b 상태라면 xm console 명령으로 직접 콘솔 창으로 들어가봅니다.
Xen • 만약 문제가 있어 Lkin을 재시작해야할 것 같은 경우 xm reboot (도메인명) 명령을 사용하면 리부팅이 됩니다. • 그런데 리부팅도 듣지 않는다… 이러면 lkin이라는 가상 서버를 없애버렸다가 다시 만드는 방법을 씁니다. • # xm destroy lkin • # xm create lkin.cfg위에서처럼 create 시에는 해당 domain의 cfg파일명을 써줘야 생성됩니다.
지금까지 Wheel의 한 해였습니다. 여기서 예로 든 건 정말 일부일 뿐이니 실망하지 않으셔도 됩니다. ㅋ
그동안 아침에 나와서 휠 세미나 들으시느라 수고 많으셨습니다.
끗 Finish