2017년 7월 17일 월요일

다시 책을 읽기 시작을 하다.

다시 책을 읽기를 시작을 했다. 그 동안 새로운 분야인 Big Data 에 발을 들이고 그 분야의 책만 있다보니 다시 한번더 내가 왜 이런 삶을 살고 있는지 그리고 방향을 맞게 가고 있는지에 대한 의문이 들기를 시작을 했다.

그래서 역시나 책으로 그 부분에 대한 답을 찾을려고 한다.

우연한 기회에 다른 책인 독서천재가 된 홍대리를 통해서 알게된 탤런트 코드라는 책을 요즘 보고 있다.

우리는 많은 천재들 그리고 주위에 보이는 그루를 보면서 부러움과 시기 그리고 질투를 느끼게 된다. 정말로 저런 사람들은 특수한 유전자와 환경에 의해서 만들어지는가? 이런 생각을 나도 하면서 살고 있었고 지금도 그런 사람들 소위 "금수저"라고 하지 않는가...

하지만 이책을 통해서 다음의 방법으로 위대한 천재가 되지는 않겠지만, 다른 사람들 보다는 더 일을 잘하는 유용한 사람이 되지 않을까?

1. 비범한 스킬을 습득할려고 노력한 방식
2. 창조성도 노력으로 만들어진다.
3. 어떤 방법으로 ???
 - 전체를 흡수하기 , 덩어리 분해하기, 속도 늦추기
4. 연습만으로 완벽해질 수는 없다. 완벽한 연습(집중된 상태에서 진행 Max 5 시간)을 해야 완벽해진다.
5.  4 단계
 1) 목적을 정한다
 2) 정한 목적을 이루려고 노력한다.
 3) 목적과 현재 능력간의 격차를 평가한다.
 4) 다시 1단계로 간다.

아직 3장까지 읽었지만 계속해서 책을 읽게 하는 책이다.

2016년 3월 1일 화요일

To change RPC port for firewall.

One of customer wants to change the NFS RPC port for firewall.
They don't allow to open the ports below 1024 ( except some specific port 111, 22, etc )

So, I have to change the kernel paremeter like this :

NFS Server : MapR NFS server
NFS Client : Mint17.3

#sysctl -a | grep resvport

위의 결과값이 아래와 유사하다면

# sysctl -a | grep resvport
sunrpc.min_resvport = 665
sunrpc.max_resvport = 1023


$sudo vim /etc/sysclt.conf
...
sunrpc.min_resvport = 1024
sunrpc.max_resvport = 2048

$sudo reboot


$ sudo sysctl -a | grep resvport

sunrpc.max_resvport = 2048
sunrpc.min_resvport = 1024

$ sudo mount -o proto=tcp,mountproto=udp,port=2049 172.16.234.203:/mapr /home/hiboss1/test

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
udev                  3.9G  4.0K  3.9G   1% /dev
tmpfs                 797M  3.8M  794M   1% /run
/dev/sda1              42G  5.6G   34G  15% /
none                  4.0K     0  4.0K   0% /sys/fs/cgroup
none                  5.0M     0  5.0M   0% /run/lock
none                  3.9G     0  3.9G   0% /run/shm
none                  100M  4.0K  100M   1% /run/user
172.16.234.203:/mapr  100G     0  100G   0% /home/hiboss1/test

$ sudo netstat -anop|grep 2049
tcp        0      0 172.16.234.205:1919     172.16.234.203:2049     TIME_WAIT   -                timewait (50.68/0/0)
tcp        0      0 172.16.234.205:1786     172.16.234.203:2049     ESTABLISHED -                keepalive (54.22/0/0)

$ sudo netstat -anop|grep 2049
tcp        0      0 172.16.234.205:1786     172.16.234.203:2049     ESTABLISHED -                keepalive (0.94/0/0) <<< port 1786 for NFS


2012년 8월 9일 목요일

To be lazy sysadmin.

Lazy라는 말은 좀 부정적인 의미를 가지고 있다.
실제로 일하지 않고 놀고 다른 사람의 결과물에 다리를 걸치고, 자신은 일을 하지 않는...

하지만 IT에서 그루에게 사용을 하는 말 중에 하나이다. 실제로 Perl을 만든 래디도 자신이 Lazy하다고 말했고 반복적인 작업을 하기 싫어서 Perl을 만들었다고 이야기를 했다.
이런 Lazy sysadmin을 하기 위해서 다음과 같은 것이 필요하다.

1. Who is boss?
- 기계가 나를 위해서 존재한다는 생각을 가지자
2. Write scripts for repeated jobs.
3. Backup everything.
4. Create a DR plan.
5. Configure highly redundant systems
6. Head room for unexpected growth
7. Be proactive
8. Loves Keyboard shortcut.
9.Command line master
10. Learn from mistakes
11. Learn new technology
12. Document everything

이 12가지만 준비 한다면 나도 Lazy한 System admin이 될 수 있지 않을까?

좋은 자료를 만들어 주는 Geek stuff에 감사한다.
(출처 : http://www.thegeekstuff.com/2011/07/lazy-sysadmin/?utm_source=feedburner&utm_medium=email&utm_campaign=Feed:+TheGeekStuff+(The+Geek+Stuff) )

2012년 8월 8일 수요일

굿모닝 팝스를 들으면서 기분 좋게 들은 노래

The game of love

기분이 다운 되었을때 한번 들어보자구요.!!!


요즘 CNN에도 인기있는 가요 하나


2012년 8월 7일 화요일

삶을 180도 바꾸는 구글의 마법-13

이번 장의 제목은 "살며 사랑하면 일하며"이다. 정말 요즘 이런 저런 일들로 힘든 나에게 도움을 줄수 있는 글이기를 바라면서 읽기 시작을 했다.

'일과 삶의 균형' : 삶을 좀 더 체계적으로 정리해 더 큰 성취감을 느끼고자 하는 사람들의 궁금적인 목적
--> 사실 이 목적은 하나의 신기루... : 요즘 나도 실감하는 부분이다.
--> 일을 적게하는 삶을 바라는 것이다. : 불가능...

따라서 스트레스와 억울함을 줄임과 동시에 생산성을 높이고, 삶의 기쁨을 맛보며 도전하는 데 합당한 동기를 부여하는 방법으로 삶과 일을 통합하는 것..

21. '일과 삶의 균형'을 맞추는 대신 삶과 일을 통합하라.

이렇게 할려면 지금까지의 일, 삶에 대한 의미를 다르게 생각을 해야한다.
먼저 일과 삶을 굳이 구분지으려 해서는 않된다.
8시간의 근무 시간 중에 잠시 일이 소강상태가 생기면 뇌의 휴식을 위한 장소를 찾아보는 것이 어떻까? 사실 우리는 8시간이라고 업무시간이 정해져 있지만 실제로는 그 이상의 시간을 회사에서 보내게 된다. 이번 주의 나의 일과는 아침 6시 30분에 회사 도착을 해서 저녁 6시까지 있는 거의 11시간 정도를 회사에서 보내고 있다. 이런 시간 속에서 자신만의 휴식시간을 가질 수 있다면 얼마나 많은 도움이 될까? 즉 그 상황에 따라서 업무를 진행하는 요령이 생겨야 한다.
그리고 주말은 일반적으로 나도 일하기 싫어하고 남에게 일을 시키는 것도 싫어한다. 하지만  그 일의 중요도가 높다면 어떻게 할까? 그냥 미룬다면 월요일에 업무 강도는 더 심할 것이고 만약 외국과의 업무를 한다면 더더욱 시간의 차이에 의해서 주말에 일하는 것이 엄청남 Advantage가 될 수 있다. 즉 현명하게 일하기가 필요하다. 그리고 주말에는 휴식을 취애햐 한다. 이 진정한 휴식을 하기 위해서는 책상과 컴퓨터에서 멀리 떨어져 뇌에 휴식을 줄 수 있는 무엇가를 해야한다. 그러면 휴가에서는 가능하면 한번 정도 확인을 하는 것으로 하면서 즐기는 것이 어떻까?
이렇게 일,삶의 통합을 위해서는 정해진 시간에 집중해서 그 업무를 완수하면서 다른 시간에 자신이 할 수 있는 기회를 가질 수 있다.

2012년 8월 3일 금요일

I/O Scheduler in Linux

OS에서는 Process, I/O Resource 에 대한 관리를 위해서 스케줄러를 사용한다.

그 중에서 I/O Scheduler는 컴퓨터 성능에서 가장 느린 Disk에 대한 관리를 해주는 놈이다.
이 커널의 하위 시스템은 디스크의 탐색 시간을 최소화 시켜서 성능 향상을 목적이다. 실제로 하는 일은 Merge와 Sort이다. Merge는 여러 번의 요청을 한번의 요청으로 만드는 것이다. 이 방법은 여러번 발생하게 되는 탐색시간을 줄여주어서 성능을 향상시킨다. 그리고 Sort는 헤드의 운동 방향에 맞게 요청을 정렬하는 것이다.
2.4 버전에서는 Linux Elevator를 기본으로 하였다. 이것은 가까운 곳의 요청을 통합해서 한방향으로 이동을 하는 구성인데, 문제는 일부에서만 I/O가 과부하로 발생을 하게되면 그 외의 부분은 기아상태가 될 수 있는 원인이 된다.
이래서 2.6 에서는 4가의 I/O 스케줄러가 생겨나게 되었다.
1. Deadline I/O Scheduler (driver/block/deadline-iosched.c)
  - Write : async I/O
  - Read : sync I/O
--> Read가 느릴 경우에는 전체적인 성능이 떨어지게 된다. 따라서 Deadline은 각 요청에 대한 만료시간을 두는 방식으로 이런 문제를 해결을 하였다.
즉 Sorted Queue, Read Queue,  Write Queue를 두고 각각에 대한 요청만료시간을 두고 그에 따라서 작업을 처리하는 방식이다.

2. Anticipation I/O Scheduler (driver/block/as-iosched.c)
Deadline과 유사하게 3개의 Queue를 사용하지만 Anticipation Heuristic을 추가한 것이다. 다른 점이다.읽기 요청을 처리하기 위해 즉시 탐색 방향을 변경하고 다시 다른 요청을 처리하지 않는다. 그 대신에 몇 밀리초동안 현재 사용중인 디스트 부분에 인접한 요청을 기다리다가 만약에 있으면 바로 처리를 하고 그렇지 않으면 일정 시간 후에 다른 작업을 하는 구조이다. 일반적으러 서버를 위한 좋은 방법이다. 단 검색만 있는 DB는 성능이 상당히 떨어진다.

3. Complete Fair Queuing I/O Scheduler(driver/block/cfq-iosched.c)
I/O를 요청하는 프로세스 마다 Queue를 생성하고 그것들은 Roundrobin으로 서비스를 하는 방식이다. 일반적으로 2.6에서 기본으로 사용함.

4. Noop(No operation) I/O Scheduler(driver/block/noop-iosched.c)
Random Access 가 가능한 SSD에 사용할 수 있는 방식으로 오직 Merge만 하여서 스케줄링을 한다.

I/O scheduler의 선택은 다음과 같이 한다.
#cat [as,cfq,deadline,noop] > /sys/block//queue/scheduler

확인은
# cat /sys/block//queue/scheduler
noop anticipatory deadline [cfq]